[
  {
    "path": ".editorconfig",
    "content": "root = true\r\n\r\n[*]\r\ncharset = utf-8\r\ntrim_trailing_whitespace = true\r\ninsert_final_newline = true\r\nend_of_line = lf\r\n"
  },
  {
    "path": ".eslintignore",
    "content": "/**/*.js\r\n"
  },
  {
    "path": ".eslintrc.js",
    "content": "module.exports = {\n  root: true,\n  env: {\n    browser: true,\n    node: true,\n  },\n  extends: [\n    \"prettier\",\n    \"eslint:recommended\",\n    \"plugin:@typescript-eslint/recommended\",\n    \"plugin:import/recommended\",\n    \"plugin:import/typescript\",\n  ],\n  parser: \"@typescript-eslint/parser\",\n  parserOptions: {\n    project: \"tsconfig.json\",\n    sourceType: \"module\",\n  },\n  plugins: [\"eslint-plugin-import\", \"@typescript-eslint\", \"prettier\"],\n  rules: {\n    \"@typescript-eslint/adjacent-overload-signatures\": \"error\",\n    \"@typescript-eslint/consistent-type-assertions\": \"error\",\n    \"@typescript-eslint/dot-notation\": \"error\",\n    \"@typescript-eslint/explicit-member-accessibility\": [\n      \"error\",\n      {\n        accessibility: \"no-public\",\n      },\n    ],\n    \"@typescript-eslint/no-empty-function\": \"error\",\n    \"@typescript-eslint/no-empty-interface\": \"error\",\n    \"@typescript-eslint/no-misused-new\": \"error\",\n    \"@typescript-eslint/no-namespace\": \"error\",\n    \"@typescript-eslint/no-shadow\": [\n      \"error\",\n      {\n        hoist: \"all\",\n      },\n    ],\n    \"@typescript-eslint/no-this-alias\": \"error\",\n    \"@typescript-eslint/no-unused-expressions\": \"error\",\n    \"@typescript-eslint/prefer-for-of\": \"error\",\n    \"@typescript-eslint/prefer-function-type\": \"error\",\n    \"@typescript-eslint/prefer-namespace-keyword\": \"error\",\n    \"@typescript-eslint/unified-signatures\": \"error\",\n  },\n  overrides: [\n    {\n      files: \"__tests__/**/*.+(ts|tsx)\",\n      parserOptions: {\n        project: \"./__tests__/tsconfig.json\",\n      },\n    },\n  ],\n};\n"
  },
  {
    "path": ".gitignore",
    "content": "*.log\n.idea\n/dist/\n/node_modules/\n/src/wasm/*.js\n/universal/\n/web/\n.yarn/*\n!.yarn/patches\n!.yarn/releases\n!.yarn/plugins\n!.yarn/sdks\n!.yarn/versions\n.pnp.*\n"
  },
  {
    "path": ".prettierignore",
    "content": "/universal\n/web\n__tests__/external-libs\ndocs\nREADME.md\nsrc/wasm/clipper*.js"
  },
  {
    "path": ".travis.yml",
    "content": "language: node_js\n\nnode_js:\n  - \"node\"\n\ncache:\n  yarn: true\n  directories:\n    - node_modules\n\nsudo: required\n\nservices:\n  - docker\n\nscript: yarn travis\n"
  },
  {
    "path": ".vscode/launch.json",
    "content": "{\n  // Use IntelliSense to learn about possible attributes.\n  // Hover to view descriptions of existing attributes.\n  // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387\n  \"version\": \"0.2.0\",\n  \"configurations\": [\n    {\n      \"type\": \"node\",\n      \"request\": \"launch\",\n      \"name\": \"Jest Current File\",\n      \"program\": \"${workspaceFolder}/node_modules/.bin/jest\",\n      \"args\": [\"--ci\", \"-i\", \"${fileBasenameNoExtension}\"],\n      \"console\": \"integratedTerminal\",\n      \"internalConsoleOptions\": \"neverOpen\",\n      \"disableOptimisticBPs\": true,\n      \"windows\": {\n        \"program\": \"${workspaceFolder}/node_modules/jest/bin/jest\"\n      },\n      \"skipFiles\": [\"${workspaceFolder}/node_modules/**/*.js\", \"<node_internals>/**/*.js\"],\n      \"cwd\": \"${workspaceFolder}\"\n    }\n  ]\n}\n"
  },
  {
    "path": ".vscode/settings.json",
    "content": "{\n  \"typescript.tsdk\": \"node_modules\\\\typescript\\\\lib\"\n}\n"
  },
  {
    "path": ".yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs",
    "content": "/* eslint-disable */\n//prettier-ignore\nmodule.exports = {\nname: \"@yarnpkg/plugin-interactive-tools\",\nfactory: function (require) {\nvar plugin=(()=>{var jF=Object.create,Ay=Object.defineProperty,zF=Object.defineProperties,HF=Object.getOwnPropertyDescriptor,qF=Object.getOwnPropertyDescriptors,WF=Object.getOwnPropertyNames,__=Object.getOwnPropertySymbols,VF=Object.getPrototypeOf,IE=Object.prototype.hasOwnProperty,O8=Object.prototype.propertyIsEnumerable;var M8=(i,o,a)=>o in i?Ay(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a,Ht=(i,o)=>{for(var a in o||(o={}))IE.call(o,a)&&M8(i,a,o[a]);if(__)for(var a of __(o))O8.call(o,a)&&M8(i,a,o[a]);return i},Zr=(i,o)=>zF(i,qF(o)),GF=i=>Ay(i,\"__esModule\",{value:!0});var Dl=(i,o)=>{var a={};for(var p in i)IE.call(i,p)&&o.indexOf(p)<0&&(a[p]=i[p]);if(i!=null&&__)for(var p of __(i))o.indexOf(p)<0&&O8.call(i,p)&&(a[p]=i[p]);return a};var tt=(i,o)=>()=>(o||i((o={exports:{}}).exports,o),o.exports),YF=(i,o)=>{for(var a in o)Ay(i,a,{get:o[a],enumerable:!0})},KF=(i,o,a)=>{if(o&&typeof o==\"object\"||typeof o==\"function\")for(let p of WF(o))!IE.call(i,p)&&p!==\"default\"&&Ay(i,p,{get:()=>o[p],enumerable:!(a=HF(o,p))||a.enumerable});return i},vu=i=>KF(GF(Ay(i!=null?jF(VF(i)):{},\"default\",i&&i.__esModule&&\"default\"in i?{get:()=>i.default,enumerable:!0}:{value:i,enumerable:!0})),i);var Oy=tt((tH,k8)=>{\"use strict\";var N8=Object.getOwnPropertySymbols,XF=Object.prototype.hasOwnProperty,QF=Object.prototype.propertyIsEnumerable;function JF(i){if(i==null)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(i)}function ZF(){try{if(!Object.assign)return!1;var i=new String(\"abc\");if(i[5]=\"de\",Object.getOwnPropertyNames(i)[0]===\"5\")return!1;for(var o={},a=0;a<10;a++)o[\"_\"+String.fromCharCode(a)]=a;var p=Object.getOwnPropertyNames(o).map(function(t){return o[t]});if(p.join(\"\")!==\"0123456789\")return!1;var _={};return\"abcdefghijklmnopqrst\".split(\"\").forEach(function(t){_[t]=t}),Object.keys(Object.assign({},_)).join(\"\")===\"abcdefghijklmnopqrst\"}catch(t){return!1}}k8.exports=ZF()?Object.assign:function(i,o){for(var a,p=JF(i),_,t=1;t<arguments.length;t++){a=Object(arguments[t]);for(var k in a)XF.call(a,k)&&(p[k]=a[k]);if(N8){_=N8(a);for(var L=0;L<_.length;L++)QF.call(a,_[L])&&(p[_[L]]=a[_[L]])}}return p}});var W8=tt(_u=>{\"use strict\";var bE=Oy(),Zf=typeof Symbol==\"function\"&&Symbol.for,My=Zf?Symbol.for(\"react.element\"):60103,$F=Zf?Symbol.for(\"react.portal\"):60106,eP=Zf?Symbol.for(\"react.fragment\"):60107,tP=Zf?Symbol.for(\"react.strict_mode\"):60108,nP=Zf?Symbol.for(\"react.profiler\"):60114,rP=Zf?Symbol.for(\"react.provider\"):60109,iP=Zf?Symbol.for(\"react.context\"):60110,uP=Zf?Symbol.for(\"react.forward_ref\"):60112,oP=Zf?Symbol.for(\"react.suspense\"):60113,lP=Zf?Symbol.for(\"react.memo\"):60115,sP=Zf?Symbol.for(\"react.lazy\"):60116,L8=typeof Symbol==\"function\"&&Symbol.iterator;function ky(i){for(var o=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+i,a=1;a<arguments.length;a++)o+=\"&args[]=\"+encodeURIComponent(arguments[a]);return\"Minified React error #\"+i+\"; visit \"+o+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var F8={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},P8={};function jv(i,o,a){this.props=i,this.context=o,this.refs=P8,this.updater=a||F8}jv.prototype.isReactComponent={};jv.prototype.setState=function(i,o){if(typeof i!=\"object\"&&typeof i!=\"function\"&&i!=null)throw Error(ky(85));this.updater.enqueueSetState(this,i,o,\"setState\")};jv.prototype.forceUpdate=function(i){this.updater.enqueueForceUpdate(this,i,\"forceUpdate\")};function I8(){}I8.prototype=jv.prototype;function BE(i,o,a){this.props=i,this.context=o,this.refs=P8,this.updater=a||F8}var UE=BE.prototype=new I8;UE.constructor=BE;bE(UE,jv.prototype);UE.isPureReactComponent=!0;var jE={current:null},b8=Object.prototype.hasOwnProperty,B8={key:!0,ref:!0,__self:!0,__source:!0};function U8(i,o,a){var p,_={},t=null,k=null;if(o!=null)for(p in o.ref!==void 0&&(k=o.ref),o.key!==void 0&&(t=\"\"+o.key),o)b8.call(o,p)&&!B8.hasOwnProperty(p)&&(_[p]=o[p]);var L=arguments.length-2;if(L===1)_.children=a;else if(1<L){for(var O=Array(L),C=0;C<L;C++)O[C]=arguments[C+2];_.children=O}if(i&&i.defaultProps)for(p in L=i.defaultProps,L)_[p]===void 0&&(_[p]=L[p]);return{$$typeof:My,type:i,key:t,ref:k,props:_,_owner:jE.current}}function aP(i,o){return{$$typeof:My,type:i.type,key:o,ref:i.ref,props:i.props,_owner:i._owner}}function zE(i){return typeof i==\"object\"&&i!==null&&i.$$typeof===My}function fP(i){var o={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+(\"\"+i).replace(/[=:]/g,function(a){return o[a]})}var j8=/\\/+/g,E_=[];function z8(i,o,a,p){if(E_.length){var _=E_.pop();return _.result=i,_.keyPrefix=o,_.func=a,_.context=p,_.count=0,_}return{result:i,keyPrefix:o,func:a,context:p,count:0}}function H8(i){i.result=null,i.keyPrefix=null,i.func=null,i.context=null,i.count=0,10>E_.length&&E_.push(i)}function HE(i,o,a,p){var _=typeof i;(_===\"undefined\"||_===\"boolean\")&&(i=null);var t=!1;if(i===null)t=!0;else switch(_){case\"string\":case\"number\":t=!0;break;case\"object\":switch(i.$$typeof){case My:case $F:t=!0}}if(t)return a(p,i,o===\"\"?\".\"+qE(i,0):o),1;if(t=0,o=o===\"\"?\".\":o+\":\",Array.isArray(i))for(var k=0;k<i.length;k++){_=i[k];var L=o+qE(_,k);t+=HE(_,L,a,p)}else if(i===null||typeof i!=\"object\"?L=null:(L=L8&&i[L8]||i[\"@@iterator\"],L=typeof L==\"function\"?L:null),typeof L==\"function\")for(i=L.call(i),k=0;!(_=i.next()).done;)_=_.value,L=o+qE(_,k++),t+=HE(_,L,a,p);else if(_===\"object\")throw a=\"\"+i,Error(ky(31,a===\"[object Object]\"?\"object with keys {\"+Object.keys(i).join(\", \")+\"}\":a,\"\"));return t}function WE(i,o,a){return i==null?0:HE(i,\"\",o,a)}function qE(i,o){return typeof i==\"object\"&&i!==null&&i.key!=null?fP(i.key):o.toString(36)}function cP(i,o){i.func.call(i.context,o,i.count++)}function dP(i,o,a){var p=i.result,_=i.keyPrefix;i=i.func.call(i.context,o,i.count++),Array.isArray(i)?VE(i,p,a,function(t){return t}):i!=null&&(zE(i)&&(i=aP(i,_+(!i.key||o&&o.key===i.key?\"\":(\"\"+i.key).replace(j8,\"$&/\")+\"/\")+a)),p.push(i))}function VE(i,o,a,p,_){var t=\"\";a!=null&&(t=(\"\"+a).replace(j8,\"$&/\")+\"/\"),o=z8(o,t,p,_),WE(i,dP,o),H8(o)}var q8={current:null};function Y1(){var i=q8.current;if(i===null)throw Error(ky(321));return i}var pP={ReactCurrentDispatcher:q8,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:jE,IsSomeRendererActing:{current:!1},assign:bE};_u.Children={map:function(i,o,a){if(i==null)return i;var p=[];return VE(i,p,null,o,a),p},forEach:function(i,o,a){if(i==null)return i;o=z8(null,null,o,a),WE(i,cP,o),H8(o)},count:function(i){return WE(i,function(){return null},null)},toArray:function(i){var o=[];return VE(i,o,null,function(a){return a}),o},only:function(i){if(!zE(i))throw Error(ky(143));return i}};_u.Component=jv;_u.Fragment=eP;_u.Profiler=nP;_u.PureComponent=BE;_u.StrictMode=tP;_u.Suspense=oP;_u.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=pP;_u.cloneElement=function(i,o,a){if(i==null)throw Error(ky(267,i));var p=bE({},i.props),_=i.key,t=i.ref,k=i._owner;if(o!=null){if(o.ref!==void 0&&(t=o.ref,k=jE.current),o.key!==void 0&&(_=\"\"+o.key),i.type&&i.type.defaultProps)var L=i.type.defaultProps;for(O in o)b8.call(o,O)&&!B8.hasOwnProperty(O)&&(p[O]=o[O]===void 0&&L!==void 0?L[O]:o[O])}var O=arguments.length-2;if(O===1)p.children=a;else if(1<O){L=Array(O);for(var C=0;C<O;C++)L[C]=arguments[C+2];p.children=L}return{$$typeof:My,type:i.type,key:_,ref:t,props:p,_owner:k}};_u.createContext=function(i,o){return o===void 0&&(o=null),i={$$typeof:iP,_calculateChangedBits:o,_currentValue:i,_currentValue2:i,_threadCount:0,Provider:null,Consumer:null},i.Provider={$$typeof:rP,_context:i},i.Consumer=i};_u.createElement=U8;_u.createFactory=function(i){var o=U8.bind(null,i);return o.type=i,o};_u.createRef=function(){return{current:null}};_u.forwardRef=function(i){return{$$typeof:uP,render:i}};_u.isValidElement=zE;_u.lazy=function(i){return{$$typeof:sP,_ctor:i,_status:-1,_result:null}};_u.memo=function(i,o){return{$$typeof:lP,type:i,compare:o===void 0?null:o}};_u.useCallback=function(i,o){return Y1().useCallback(i,o)};_u.useContext=function(i,o){return Y1().useContext(i,o)};_u.useDebugValue=function(){};_u.useEffect=function(i,o){return Y1().useEffect(i,o)};_u.useImperativeHandle=function(i,o,a){return Y1().useImperativeHandle(i,o,a)};_u.useLayoutEffect=function(i,o){return Y1().useLayoutEffect(i,o)};_u.useMemo=function(i,o){return Y1().useMemo(i,o)};_u.useReducer=function(i,o,a){return Y1().useReducer(i,o,a)};_u.useRef=function(i){return Y1().useRef(i)};_u.useState=function(i){return Y1().useState(i)};_u.version=\"16.13.1\"});var G8=tt((rH,V8)=>{\"use strict\";var hP=\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\";V8.exports=hP});var YE=tt((iH,Y8)=>{\"use strict\";var GE=function(){};process.env.NODE_ENV!==\"production\"&&(K8=G8(),D_={},X8=Function.call.bind(Object.prototype.hasOwnProperty),GE=function(i){var o=\"Warning: \"+i;typeof console!=\"undefined\"&&console.error(o);try{throw new Error(o)}catch(a){}});var K8,D_,X8;function Q8(i,o,a,p,_){if(process.env.NODE_ENV!==\"production\"){for(var t in i)if(X8(i,t)){var k;try{if(typeof i[t]!=\"function\"){var L=Error((p||\"React class\")+\": \"+a+\" type `\"+t+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof i[t]+\"`.\");throw L.name=\"Invariant Violation\",L}k=i[t](o,t,p,a,null,K8)}catch(C){k=C}if(k&&!(k instanceof Error)&&GE((p||\"React class\")+\": type specification of \"+a+\" `\"+t+\"` is invalid; the type checker function must return `null` or an `Error` but returned a \"+typeof k+\". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\"),k instanceof Error&&!(k.message in D_)){D_[k.message]=!0;var O=_?_():\"\";GE(\"Failed \"+a+\" type: \"+k.message+(O!=null?O:\"\"))}}}}Q8.resetWarningCache=function(){process.env.NODE_ENV!==\"production\"&&(D_={})};Y8.exports=Q8});var J8=tt(Eu=>{\"use strict\";process.env.NODE_ENV!==\"production\"&&function(){\"use strict\";var i=Oy(),o=YE(),a=\"16.13.1\",p=typeof Symbol==\"function\"&&Symbol.for,_=p?Symbol.for(\"react.element\"):60103,t=p?Symbol.for(\"react.portal\"):60106,k=p?Symbol.for(\"react.fragment\"):60107,L=p?Symbol.for(\"react.strict_mode\"):60108,O=p?Symbol.for(\"react.profiler\"):60114,C=p?Symbol.for(\"react.provider\"):60109,U=p?Symbol.for(\"react.context\"):60110,H=p?Symbol.for(\"react.concurrent_mode\"):60111,W=p?Symbol.for(\"react.forward_ref\"):60112,ne=p?Symbol.for(\"react.suspense\"):60113,m=p?Symbol.for(\"react.suspense_list\"):60120,he=p?Symbol.for(\"react.memo\"):60115,Ee=p?Symbol.for(\"react.lazy\"):60116,ve=p?Symbol.for(\"react.block\"):60121,se=p?Symbol.for(\"react.fundamental\"):60117,De=p?Symbol.for(\"react.responder\"):60118,pe=p?Symbol.for(\"react.scope\"):60119,me=typeof Symbol==\"function\"&&Symbol.iterator,ie=\"@@iterator\";function Oe(X){if(X===null||typeof X!=\"object\")return null;var we=me&&X[me]||X[ie];return typeof we==\"function\"?we:null}var je={current:null},qe={suspense:null},yt={current:null},gt=/^(.*)[\\\\\\/]/;function Xe(X,we,Le){var Ne=\"\";if(we){var dt=we.fileName,Yn=dt.replace(gt,\"\");if(/^index\\./.test(Yn)){var Cn=dt.match(gt);if(Cn){var cr=Cn[1];if(cr){var Si=cr.replace(gt,\"\");Yn=Si+\"/\"+Yn}}}Ne=\" (at \"+Yn+\":\"+we.lineNumber+\")\"}else Le&&(Ne=\" (created by \"+Le+\")\");return`\n    in `+(X||\"Unknown\")+Ne}var ut=1;function We(X){return X._status===ut?X._result:null}function Ft(X,we,Le){var Ne=we.displayName||we.name||\"\";return X.displayName||(Ne!==\"\"?Le+\"(\"+Ne+\")\":Le)}function Jt(X){if(X==null)return null;if(typeof X.tag==\"number\"&&ct(\"Received an unexpected object in getComponentName(). This is likely a bug in React. Please file an issue.\"),typeof X==\"function\")return X.displayName||X.name||null;if(typeof X==\"string\")return X;switch(X){case k:return\"Fragment\";case t:return\"Portal\";case O:return\"Profiler\";case L:return\"StrictMode\";case ne:return\"Suspense\";case m:return\"SuspenseList\"}if(typeof X==\"object\")switch(X.$$typeof){case U:return\"Context.Consumer\";case C:return\"Context.Provider\";case W:return Ft(X,X.render,\"ForwardRef\");case he:return Jt(X.type);case ve:return Jt(X.render);case Ee:{var we=X,Le=We(we);if(Le)return Jt(Le);break}}return null}var rt={},Q=null;function fe(X){Q=X}rt.getCurrentStack=null,rt.getStackAddendum=function(){var X=\"\";if(Q){var we=Jt(Q.type),Le=Q._owner;X+=Xe(we,Q._source,Le&&Jt(Le.type))}var Ne=rt.getCurrentStack;return Ne&&(X+=Ne()||\"\"),X};var xe={current:!1},oe={ReactCurrentDispatcher:je,ReactCurrentBatchConfig:qe,ReactCurrentOwner:yt,IsSomeRendererActing:xe,assign:i};i(oe,{ReactDebugCurrentFrame:rt,ReactComponentTreeHook:{}});function ze(X){{for(var we=arguments.length,Le=new Array(we>1?we-1:0),Ne=1;Ne<we;Ne++)Le[Ne-1]=arguments[Ne];Rt(\"warn\",X,Le)}}function ct(X){{for(var we=arguments.length,Le=new Array(we>1?we-1:0),Ne=1;Ne<we;Ne++)Le[Ne-1]=arguments[Ne];Rt(\"error\",X,Le)}}function Rt(X,we,Le){{var Ne=Le.length>0&&typeof Le[Le.length-1]==\"string\"&&Le[Le.length-1].indexOf(`\n    in`)===0;if(!Ne){var dt=oe.ReactDebugCurrentFrame,Yn=dt.getStackAddendum();Yn!==\"\"&&(we+=\"%s\",Le=Le.concat([Yn]))}var Cn=Le.map(function(Mu){return\"\"+Mu});Cn.unshift(\"Warning: \"+we),Function.prototype.apply.call(console[X],console,Cn);try{var cr=0,Si=\"Warning: \"+we.replace(/%s/g,function(){return Le[cr++]});throw new Error(Si)}catch(Mu){}}}var nn={};function an(X,we){{var Le=X.constructor,Ne=Le&&(Le.displayName||Le.name)||\"ReactClass\",dt=Ne+\".\"+we;if(nn[dt])return;ct(\"Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.\",we,Ne),nn[dt]=!0}}var Mn={isMounted:function(X){return!1},enqueueForceUpdate:function(X,we,Le){an(X,\"forceUpdate\")},enqueueReplaceState:function(X,we,Le,Ne){an(X,\"replaceState\")},enqueueSetState:function(X,we,Le,Ne){an(X,\"setState\")}},lr={};Object.freeze(lr);function ln(X,we,Le){this.props=X,this.context=we,this.refs=lr,this.updater=Le||Mn}ln.prototype.isReactComponent={},ln.prototype.setState=function(X,we){if(!(typeof X==\"object\"||typeof X==\"function\"||X==null))throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,X,we,\"setState\")},ln.prototype.forceUpdate=function(X){this.updater.enqueueForceUpdate(this,X,\"forceUpdate\")};{var Vt={isMounted:[\"isMounted\",\"Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks.\"],replaceState:[\"replaceState\",\"Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236).\"]},Er=function(X,we){Object.defineProperty(ln.prototype,X,{get:function(){ze(\"%s(...) is deprecated in plain JavaScript React classes. %s\",we[0],we[1])}})};for(var w in Vt)Vt.hasOwnProperty(w)&&Er(w,Vt[w])}function jt(){}jt.prototype=ln.prototype;function Xn(X,we,Le){this.props=X,this.context=we,this.refs=lr,this.updater=Le||Mn}var vr=Xn.prototype=new jt;vr.constructor=Xn,i(vr,ln.prototype),vr.isPureReactComponent=!0;function jr(){var X={current:null};return Object.seal(X),X}var fr=Object.prototype.hasOwnProperty,zr={key:!0,ref:!0,__self:!0,__source:!0},Xt,wu,d0;d0={};function Ro(X){if(fr.call(X,\"ref\")){var we=Object.getOwnPropertyDescriptor(X,\"ref\").get;if(we&&we.isReactWarning)return!1}return X.ref!==void 0}function Qo(X){if(fr.call(X,\"key\")){var we=Object.getOwnPropertyDescriptor(X,\"key\").get;if(we&&we.isReactWarning)return!1}return X.key!==void 0}function Fs(X,we){var Le=function(){Xt||(Xt=!0,ct(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://fb.me/react-special-props)\",we))};Le.isReactWarning=!0,Object.defineProperty(X,\"key\",{get:Le,configurable:!0})}function Jo(X,we){var Le=function(){wu||(wu=!0,ct(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://fb.me/react-special-props)\",we))};Le.isReactWarning=!0,Object.defineProperty(X,\"ref\",{get:Le,configurable:!0})}function Zo(X){if(typeof X.ref==\"string\"&&yt.current&&X.__self&&yt.current.stateNode!==X.__self){var we=Jt(yt.current.type);d0[we]||(ct('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://fb.me/react-strict-mode-string-ref',Jt(yt.current.type),X.ref),d0[we]=!0)}}var qt=function(X,we,Le,Ne,dt,Yn,Cn){var cr={$$typeof:_,type:X,key:we,ref:Le,props:Cn,_owner:Yn};return cr._store={},Object.defineProperty(cr._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(cr,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:Ne}),Object.defineProperty(cr,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:dt}),Object.freeze&&(Object.freeze(cr.props),Object.freeze(cr)),cr};function xi(X,we,Le){var Ne,dt={},Yn=null,Cn=null,cr=null,Si=null;if(we!=null){Ro(we)&&(Cn=we.ref,Zo(we)),Qo(we)&&(Yn=\"\"+we.key),cr=we.__self===void 0?null:we.__self,Si=we.__source===void 0?null:we.__source;for(Ne in we)fr.call(we,Ne)&&!zr.hasOwnProperty(Ne)&&(dt[Ne]=we[Ne])}var Mu=arguments.length-2;if(Mu===1)dt.children=Le;else if(Mu>1){for(var zu=Array(Mu),Hu=0;Hu<Mu;Hu++)zu[Hu]=arguments[Hu+2];Object.freeze&&Object.freeze(zu),dt.children=zu}if(X&&X.defaultProps){var Su=X.defaultProps;for(Ne in Su)dt[Ne]===void 0&&(dt[Ne]=Su[Ne])}if(Yn||Cn){var Ti=typeof X==\"function\"?X.displayName||X.name||\"Unknown\":X;Yn&&Fs(dt,Ti),Cn&&Jo(dt,Ti)}return qt(X,Yn,Cn,cr,Si,yt.current,dt)}function lu(X,we){var Le=qt(X.type,we,X.ref,X._self,X._source,X._owner,X.props);return Le}function mi(X,we,Le){if(X==null)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+X+\".\");var Ne,dt=i({},X.props),Yn=X.key,Cn=X.ref,cr=X._self,Si=X._source,Mu=X._owner;if(we!=null){Ro(we)&&(Cn=we.ref,Mu=yt.current),Qo(we)&&(Yn=\"\"+we.key);var zu;X.type&&X.type.defaultProps&&(zu=X.type.defaultProps);for(Ne in we)fr.call(we,Ne)&&!zr.hasOwnProperty(Ne)&&(we[Ne]===void 0&&zu!==void 0?dt[Ne]=zu[Ne]:dt[Ne]=we[Ne])}var Hu=arguments.length-2;if(Hu===1)dt.children=Le;else if(Hu>1){for(var Su=Array(Hu),Ti=0;Ti<Hu;Ti++)Su[Ti]=arguments[Ti+2];dt.children=Su}return qt(X.type,Yn,Cn,cr,Si,Mu,dt)}function Dr(X){return typeof X==\"object\"&&X!==null&&X.$$typeof===_}var $o=\".\",G0=\":\";function Uu(X){var we=/[=:]/g,Le={\"=\":\"=0\",\":\":\"=2\"},Ne=(\"\"+X).replace(we,function(dt){return Le[dt]});return\"$\"+Ne}var Y0=!1,Xr=/\\/+/g;function Ao(X){return(\"\"+X).replace(Xr,\"$&/\")}var Oo=10,F0=[];function su(X,we,Le,Ne){if(F0.length){var dt=F0.pop();return dt.result=X,dt.keyPrefix=we,dt.func=Le,dt.context=Ne,dt.count=0,dt}else return{result:X,keyPrefix:we,func:Le,context:Ne,count:0}}function ki(X){X.result=null,X.keyPrefix=null,X.func=null,X.context=null,X.count=0,F0.length<Oo&&F0.push(X)}function Ps(X,we,Le,Ne){var dt=typeof X;(dt===\"undefined\"||dt===\"boolean\")&&(X=null);var Yn=!1;if(X===null)Yn=!0;else switch(dt){case\"string\":case\"number\":Yn=!0;break;case\"object\":switch(X.$$typeof){case _:case t:Yn=!0}}if(Yn)return Le(Ne,X,we===\"\"?$o+P0(X,0):we),1;var Cn,cr,Si=0,Mu=we===\"\"?$o:we+G0;if(Array.isArray(X))for(var zu=0;zu<X.length;zu++)Cn=X[zu],cr=Mu+P0(Cn,zu),Si+=Ps(Cn,cr,Le,Ne);else{var Hu=Oe(X);if(typeof Hu==\"function\"){Hu===X.entries&&(Y0||ze(\"Using Maps as children is deprecated and will be removed in a future major release. Consider converting children to an array of keyed ReactElements instead.\"),Y0=!0);for(var Su=Hu.call(X),Ti,Lo=0;!(Ti=Su.next()).done;)Cn=Ti.value,cr=Mu+P0(Cn,Lo++),Si+=Ps(Cn,cr,Le,Ne)}else if(dt===\"object\"){var ku=\"\";ku=\" If you meant to render a collection of children, use an array instead.\"+rt.getStackAddendum();var co=\"\"+X;throw Error(\"Objects are not valid as a React child (found: \"+(co===\"[object Object]\"?\"object with keys {\"+Object.keys(X).join(\", \")+\"}\":co)+\").\"+ku)}}return Si}function Kl(X,we,Le){return X==null?0:Ps(X,\"\",we,Le)}function P0(X,we){return typeof X==\"object\"&&X!==null&&X.key!=null?Uu(X.key):we.toString(36)}function p0(X,we,Le){var Ne=X.func,dt=X.context;Ne.call(dt,we,X.count++)}function Hr(X,we,Le){if(X==null)return X;var Ne=su(null,null,we,Le);Kl(X,p0,Ne),ki(Ne)}function Ri(X,we,Le){var Ne=X.result,dt=X.keyPrefix,Yn=X.func,Cn=X.context,cr=Yn.call(Cn,we,X.count++);Array.isArray(cr)?K0(cr,Ne,Le,function(Si){return Si}):cr!=null&&(Dr(cr)&&(cr=lu(cr,dt+(cr.key&&(!we||we.key!==cr.key)?Ao(cr.key)+\"/\":\"\")+Le)),Ne.push(cr))}function K0(X,we,Le,Ne,dt){var Yn=\"\";Le!=null&&(Yn=Ao(Le)+\"/\");var Cn=su(we,Yn,Ne,dt);Kl(X,Ri,Cn),ki(Cn)}function yi(X,we,Le){if(X==null)return X;var Ne=[];return K0(X,Ne,null,we,Le),Ne}function en(X){return Kl(X,function(){return null},null)}function bn(X){var we=[];return K0(X,we,null,function(Le){return Le}),we}function Ai(X){if(!Dr(X))throw Error(\"React.Children.only expected to receive a single React element child.\");return X}function gi(X,we){we===void 0?we=null:we!==null&&typeof we!=\"function\"&&ct(\"createContext: Expected the optional second argument to be a function. Instead received: %s\",we);var Le={$$typeof:U,_calculateChangedBits:we,_currentValue:X,_currentValue2:X,_threadCount:0,Provider:null,Consumer:null};Le.Provider={$$typeof:C,_context:Le};var Ne=!1,dt=!1;{var Yn={$$typeof:U,_context:Le,_calculateChangedBits:Le._calculateChangedBits};Object.defineProperties(Yn,{Provider:{get:function(){return dt||(dt=!0,ct(\"Rendering <Context.Consumer.Provider> is not supported and will be removed in a future major release. Did you mean to render <Context.Provider> instead?\")),Le.Provider},set:function(Cn){Le.Provider=Cn}},_currentValue:{get:function(){return Le._currentValue},set:function(Cn){Le._currentValue=Cn}},_currentValue2:{get:function(){return Le._currentValue2},set:function(Cn){Le._currentValue2=Cn}},_threadCount:{get:function(){return Le._threadCount},set:function(Cn){Le._threadCount=Cn}},Consumer:{get:function(){return Ne||(Ne=!0,ct(\"Rendering <Context.Consumer.Consumer> is not supported and will be removed in a future major release. Did you mean to render <Context.Consumer> instead?\")),Le.Consumer}}}),Le.Consumer=Yn}return Le._currentRenderer=null,Le._currentRenderer2=null,Le}function Wt(X){var we={$$typeof:Ee,_ctor:X,_status:-1,_result:null};{var Le,Ne;Object.defineProperties(we,{defaultProps:{configurable:!0,get:function(){return Le},set:function(dt){ct(\"React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it.\"),Le=dt,Object.defineProperty(we,\"defaultProps\",{enumerable:!0})}},propTypes:{configurable:!0,get:function(){return Ne},set:function(dt){ct(\"React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it.\"),Ne=dt,Object.defineProperty(we,\"propTypes\",{enumerable:!0})}}})}return we}function Au(X){return X!=null&&X.$$typeof===he?ct(\"forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...)).\"):typeof X!=\"function\"?ct(\"forwardRef requires a render function but was given %s.\",X===null?\"null\":typeof X):X.length!==0&&X.length!==2&&ct(\"forwardRef render functions accept exactly two parameters: props and ref. %s\",X.length===1?\"Did you forget to use the ref parameter?\":\"Any additional parameter will be undefined.\"),X!=null&&(X.defaultProps!=null||X.propTypes!=null)&&ct(\"forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?\"),{$$typeof:W,render:X}}function eu(X){return typeof X==\"string\"||typeof X==\"function\"||X===k||X===H||X===O||X===L||X===ne||X===m||typeof X==\"object\"&&X!==null&&(X.$$typeof===Ee||X.$$typeof===he||X.$$typeof===C||X.$$typeof===U||X.$$typeof===W||X.$$typeof===se||X.$$typeof===De||X.$$typeof===pe||X.$$typeof===ve)}function X0(X,we){return eu(X)||ct(\"memo: The first argument must be a component. Instead received: %s\",X===null?\"null\":typeof X),{$$typeof:he,type:X,compare:we===void 0?null:we}}function Yi(){var X=je.current;if(X===null)throw Error(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem.`);return X}function Xl(X,we){var Le=Yi();if(we!==void 0&&ct(\"useContext() second argument is reserved for future use in React. Passing it is not supported. You passed: %s.%s\",we,typeof we==\"number\"&&Array.isArray(arguments[2])?`\n\nDid you call array.map(useContext)? Calling Hooks inside a loop is not supported. Learn more at https://fb.me/rules-of-hooks`:\"\"),X._context!==void 0){var Ne=X._context;Ne.Consumer===X?ct(\"Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?\"):Ne.Provider===X&&ct(\"Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?\")}return Le.useContext(X,we)}function Mo(X){var we=Yi();return we.useState(X)}function ai(X,we,Le){var Ne=Yi();return Ne.useReducer(X,we,Le)}function so(X){var we=Yi();return we.useRef(X)}function Ql(X,we){var Le=Yi();return Le.useEffect(X,we)}function ko(X,we){var Le=Yi();return Le.useLayoutEffect(X,we)}function Is(X,we){var Le=Yi();return Le.useCallback(X,we)}function $n(X,we){var Le=Yi();return Le.useMemo(X,we)}function el(X,we,Le){var Ne=Yi();return Ne.useImperativeHandle(X,we,Le)}function ao(X,we){{var Le=Yi();return Le.useDebugValue(X,we)}}var I0;I0=!1;function wl(){if(yt.current){var X=Jt(yt.current.type);if(X)return`\n\nCheck the render method of \\``+X+\"`.\"}return\"\"}function No(X){if(X!==void 0){var we=X.fileName.replace(/^.*[\\\\\\/]/,\"\"),Le=X.lineNumber;return`\n\nCheck your code at `+we+\":\"+Le+\".\"}return\"\"}function wt(X){return X!=null?No(X.__source):\"\"}var bt={};function Hn(X){var we=wl();if(!we){var Le=typeof X==\"string\"?X:X.displayName||X.name;Le&&(we=`\n\nCheck the top-level render call using <`+Le+\">.\")}return we}function qr(X,we){if(!(!X._store||X._store.validated||X.key!=null)){X._store.validated=!0;var Le=Hn(we);if(!bt[Le]){bt[Le]=!0;var Ne=\"\";X&&X._owner&&X._owner!==yt.current&&(Ne=\" It was passed a child from \"+Jt(X._owner.type)+\".\"),fe(X),ct('Each child in a list should have a unique \"key\" prop.%s%s See https://fb.me/react-warning-keys for more information.',Le,Ne),fe(null)}}}function Ki(X,we){if(typeof X==\"object\"){if(Array.isArray(X))for(var Le=0;Le<X.length;Le++){var Ne=X[Le];Dr(Ne)&&qr(Ne,we)}else if(Dr(X))X._store&&(X._store.validated=!0);else if(X){var dt=Oe(X);if(typeof dt==\"function\"&&dt!==X.entries)for(var Yn=dt.call(X),Cn;!(Cn=Yn.next()).done;)Dr(Cn.value)&&qr(Cn.value,we)}}}function Qr(X){{var we=X.type;if(we==null||typeof we==\"string\")return;var Le=Jt(we),Ne;if(typeof we==\"function\")Ne=we.propTypes;else if(typeof we==\"object\"&&(we.$$typeof===W||we.$$typeof===he))Ne=we.propTypes;else return;Ne?(fe(X),o(Ne,X.props,\"prop\",Le,rt.getStackAddendum),fe(null)):we.PropTypes!==void 0&&!I0&&(I0=!0,ct(\"Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?\",Le||\"Unknown\")),typeof we.getDefaultProps==\"function\"&&!we.getDefaultProps.isReactClassApproved&&ct(\"getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.\")}}function Ou(X){{fe(X);for(var we=Object.keys(X.props),Le=0;Le<we.length;Le++){var Ne=we[Le];if(Ne!==\"children\"&&Ne!==\"key\"){ct(\"Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.\",Ne);break}}X.ref!==null&&ct(\"Invalid attribute `ref` supplied to `React.Fragment`.\"),fe(null)}}function h0(X,we,Le){var Ne=eu(X);if(!Ne){var dt=\"\";(X===void 0||typeof X==\"object\"&&X!==null&&Object.keys(X).length===0)&&(dt+=\" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.\");var Yn=wt(we);Yn?dt+=Yn:dt+=wl();var Cn;X===null?Cn=\"null\":Array.isArray(X)?Cn=\"array\":X!==void 0&&X.$$typeof===_?(Cn=\"<\"+(Jt(X.type)||\"Unknown\")+\" />\",dt=\" Did you accidentally export a JSX literal instead of a component?\"):Cn=typeof X,ct(\"React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",Cn,dt)}var cr=xi.apply(this,arguments);if(cr==null)return cr;if(Ne)for(var Si=2;Si<arguments.length;Si++)Ki(arguments[Si],X);return X===k?Ou(cr):Qr(cr),cr}var Ni=!1;function v0(X){var we=h0.bind(null,X);return we.type=X,Ni||(Ni=!0,ze(\"React.createFactory() is deprecated and will be removed in a future major release. Consider using JSX or use React.createElement() directly instead.\")),Object.defineProperty(we,\"type\",{enumerable:!1,get:function(){return ze(\"Factory.type is deprecated. Access the class directly before passing it to createFactory.\"),Object.defineProperty(this,\"type\",{value:X}),X}}),we}function hs(X,we,Le){for(var Ne=mi.apply(this,arguments),dt=2;dt<arguments.length;dt++)Ki(arguments[dt],Ne.type);return Qr(Ne),Ne}try{var Tt=Object.freeze({}),fo=new Map([[Tt,null]]),tl=new Set([Tt]);fo.set(0,0),tl.add(0)}catch(X){}var Jl=h0,ju=hs,vs=v0,b0={map:yi,forEach:Hr,count:en,toArray:bn,only:Ai};Eu.Children=b0,Eu.Component=ln,Eu.Fragment=k,Eu.Profiler=O,Eu.PureComponent=Xn,Eu.StrictMode=L,Eu.Suspense=ne,Eu.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=oe,Eu.cloneElement=ju,Eu.createContext=gi,Eu.createElement=Jl,Eu.createFactory=vs,Eu.createRef=jr,Eu.forwardRef=Au,Eu.isValidElement=Dr,Eu.lazy=Wt,Eu.memo=X0,Eu.useCallback=Is,Eu.useContext=Xl,Eu.useDebugValue=ao,Eu.useEffect=Ql,Eu.useImperativeHandle=el,Eu.useLayoutEffect=ko,Eu.useMemo=$n,Eu.useReducer=ai,Eu.useRef=so,Eu.useState=Mo,Eu.version=a}()});var Mi=tt((oH,KE)=>{\"use strict\";process.env.NODE_ENV===\"production\"?KE.exports=W8():KE.exports=J8()});var Z8=tt((zv,Ny)=>{(function(){var i,o=\"4.17.21\",a=200,p=\"Unsupported core-js use. Try https://npms.io/search?q=ponyfill.\",_=\"Expected a function\",t=\"Invalid `variable` option passed into `_.template`\",k=\"__lodash_hash_undefined__\",L=500,O=\"__lodash_placeholder__\",C=1,U=2,H=4,W=1,ne=2,m=1,he=2,Ee=4,ve=8,se=16,De=32,pe=64,me=128,ie=256,Oe=512,je=30,qe=\"...\",yt=800,gt=16,Xe=1,ut=2,We=3,Ft=1/0,Jt=9007199254740991,rt=17976931348623157e292,Q=0/0,fe=4294967295,xe=fe-1,oe=fe>>>1,ze=[[\"ary\",me],[\"bind\",m],[\"bindKey\",he],[\"curry\",ve],[\"curryRight\",se],[\"flip\",Oe],[\"partial\",De],[\"partialRight\",pe],[\"rearg\",ie]],ct=\"[object Arguments]\",Rt=\"[object Array]\",nn=\"[object AsyncFunction]\",an=\"[object Boolean]\",Mn=\"[object Date]\",lr=\"[object DOMException]\",ln=\"[object Error]\",Vt=\"[object Function]\",Er=\"[object GeneratorFunction]\",w=\"[object Map]\",jt=\"[object Number]\",Xn=\"[object Null]\",vr=\"[object Object]\",jr=\"[object Promise]\",fr=\"[object Proxy]\",zr=\"[object RegExp]\",Xt=\"[object Set]\",wu=\"[object String]\",d0=\"[object Symbol]\",Ro=\"[object Undefined]\",Qo=\"[object WeakMap]\",Fs=\"[object WeakSet]\",Jo=\"[object ArrayBuffer]\",Zo=\"[object DataView]\",qt=\"[object Float32Array]\",xi=\"[object Float64Array]\",lu=\"[object Int8Array]\",mi=\"[object Int16Array]\",Dr=\"[object Int32Array]\",$o=\"[object Uint8Array]\",G0=\"[object Uint8ClampedArray]\",Uu=\"[object Uint16Array]\",Y0=\"[object Uint32Array]\",Xr=/\\b__p \\+= '';/g,Ao=/\\b(__p \\+=) '' \\+/g,Oo=/(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g,F0=/&(?:amp|lt|gt|quot|#39);/g,su=/[&<>\"']/g,ki=RegExp(F0.source),Ps=RegExp(su.source),Kl=/<%-([\\s\\S]+?)%>/g,P0=/<%([\\s\\S]+?)%>/g,p0=/<%=([\\s\\S]+?)%>/g,Hr=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,Ri=/^\\w*$/,K0=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,yi=/[\\\\^$.*+?()[\\]{}|]/g,en=RegExp(yi.source),bn=/^\\s+/,Ai=/\\s/,gi=/\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,Wt=/\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,Au=/,? & /,eu=/[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g,X0=/[()=,{}\\[\\]\\/\\s]/,Yi=/\\\\(\\\\)?/g,Xl=/\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g,Mo=/\\w*$/,ai=/^[-+]0x[0-9a-f]+$/i,so=/^0b[01]+$/i,Ql=/^\\[object .+?Constructor\\]$/,ko=/^0o[0-7]+$/i,Is=/^(?:0|[1-9]\\d*)$/,$n=/[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g,el=/($^)/,ao=/['\\n\\r\\u2028\\u2029\\\\]/g,I0=\"\\\\ud800-\\\\udfff\",wl=\"\\\\u0300-\\\\u036f\",No=\"\\\\ufe20-\\\\ufe2f\",wt=\"\\\\u20d0-\\\\u20ff\",bt=wl+No+wt,Hn=\"\\\\u2700-\\\\u27bf\",qr=\"a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff\",Ki=\"\\\\xac\\\\xb1\\\\xd7\\\\xf7\",Qr=\"\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\",Ou=\"\\\\u2000-\\\\u206f\",h0=\" \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\",Ni=\"A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde\",v0=\"\\\\ufe0e\\\\ufe0f\",hs=Ki+Qr+Ou+h0,Tt=\"['\\u2019]\",fo=\"[\"+I0+\"]\",tl=\"[\"+hs+\"]\",Jl=\"[\"+bt+\"]\",ju=\"\\\\d+\",vs=\"[\"+Hn+\"]\",b0=\"[\"+qr+\"]\",X=\"[^\"+I0+hs+ju+Hn+qr+Ni+\"]\",we=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",Le=\"(?:\"+Jl+\"|\"+we+\")\",Ne=\"[^\"+I0+\"]\",dt=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",Yn=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",Cn=\"[\"+Ni+\"]\",cr=\"\\\\u200d\",Si=\"(?:\"+b0+\"|\"+X+\")\",Mu=\"(?:\"+Cn+\"|\"+X+\")\",zu=\"(?:\"+Tt+\"(?:d|ll|m|re|s|t|ve))?\",Hu=\"(?:\"+Tt+\"(?:D|LL|M|RE|S|T|VE))?\",Su=Le+\"?\",Ti=\"[\"+v0+\"]?\",Lo=\"(?:\"+cr+\"(?:\"+[Ne,dt,Yn].join(\"|\")+\")\"+Ti+Su+\")*\",ku=\"\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])\",co=\"\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])\",qu=Ti+Su+Lo,Pa=\"(?:\"+[vs,dt,Yn].join(\"|\")+\")\"+qu,m0=\"(?:\"+[Ne+Jl+\"?\",Jl,dt,Yn,fo].join(\"|\")+\")\",ia=RegExp(Tt,\"g\"),Q0=RegExp(Jl,\"g\"),ua=RegExp(we+\"(?=\"+we+\")|\"+m0+qu,\"g\"),Ia=RegExp([Cn+\"?\"+b0+\"+\"+zu+\"(?=\"+[tl,Cn,\"$\"].join(\"|\")+\")\",Mu+\"+\"+Hu+\"(?=\"+[tl,Cn+Si,\"$\"].join(\"|\")+\")\",Cn+\"?\"+Si+\"+\"+zu,Cn+\"+\"+Hu,co,ku,ju,Pa].join(\"|\"),\"g\"),ms=RegExp(\"[\"+cr+I0+bt+v0+\"]\"),S0=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Qn=[\"Array\",\"Buffer\",\"DataView\",\"Date\",\"Error\",\"Float32Array\",\"Float64Array\",\"Function\",\"Int8Array\",\"Int16Array\",\"Int32Array\",\"Map\",\"Math\",\"Object\",\"Promise\",\"RegExp\",\"Set\",\"String\",\"Symbol\",\"TypeError\",\"Uint8Array\",\"Uint8ClampedArray\",\"Uint16Array\",\"Uint32Array\",\"WeakMap\",\"_\",\"clearTimeout\",\"isFinite\",\"parseInt\",\"setTimeout\"],ac=-1,fi={};fi[qt]=fi[xi]=fi[lu]=fi[mi]=fi[Dr]=fi[$o]=fi[G0]=fi[Uu]=fi[Y0]=!0,fi[ct]=fi[Rt]=fi[Jo]=fi[an]=fi[Zo]=fi[Mn]=fi[ln]=fi[Vt]=fi[w]=fi[jt]=fi[vr]=fi[zr]=fi[Xt]=fi[wu]=fi[Qo]=!1;var $r={};$r[ct]=$r[Rt]=$r[Jo]=$r[Zo]=$r[an]=$r[Mn]=$r[qt]=$r[xi]=$r[lu]=$r[mi]=$r[Dr]=$r[w]=$r[jt]=$r[vr]=$r[zr]=$r[Xt]=$r[wu]=$r[d0]=$r[$o]=$r[G0]=$r[Uu]=$r[Y0]=!0,$r[ln]=$r[Vt]=$r[Qo]=!1;var Zl={\\u00C0:\"A\",\\u00C1:\"A\",\\u00C2:\"A\",\\u00C3:\"A\",\\u00C4:\"A\",\\u00C5:\"A\",\\u00E0:\"a\",\\u00E1:\"a\",\\u00E2:\"a\",\\u00E3:\"a\",\\u00E4:\"a\",\\u00E5:\"a\",\\u00C7:\"C\",\\u00E7:\"c\",\\u00D0:\"D\",\\u00F0:\"d\",\\u00C8:\"E\",\\u00C9:\"E\",\\u00CA:\"E\",\\u00CB:\"E\",\\u00E8:\"e\",\\u00E9:\"e\",\\u00EA:\"e\",\\u00EB:\"e\",\\u00CC:\"I\",\\u00CD:\"I\",\\u00CE:\"I\",\\u00CF:\"I\",\\u00EC:\"i\",\\u00ED:\"i\",\\u00EE:\"i\",\\u00EF:\"i\",\\u00D1:\"N\",\\u00F1:\"n\",\\u00D2:\"O\",\\u00D3:\"O\",\\u00D4:\"O\",\\u00D5:\"O\",\\u00D6:\"O\",\\u00D8:\"O\",\\u00F2:\"o\",\\u00F3:\"o\",\\u00F4:\"o\",\\u00F5:\"o\",\\u00F6:\"o\",\\u00F8:\"o\",\\u00D9:\"U\",\\u00DA:\"U\",\\u00DB:\"U\",\\u00DC:\"U\",\\u00F9:\"u\",\\u00FA:\"u\",\\u00FB:\"u\",\\u00FC:\"u\",\\u00DD:\"Y\",\\u00FD:\"y\",\\u00FF:\"y\",\\u00C6:\"Ae\",\\u00E6:\"ae\",\\u00DE:\"Th\",\\u00FE:\"th\",\\u00DF:\"ss\",\\u0100:\"A\",\\u0102:\"A\",\\u0104:\"A\",\\u0101:\"a\",\\u0103:\"a\",\\u0105:\"a\",\\u0106:\"C\",\\u0108:\"C\",\\u010A:\"C\",\\u010C:\"C\",\\u0107:\"c\",\\u0109:\"c\",\\u010B:\"c\",\\u010D:\"c\",\\u010E:\"D\",\\u0110:\"D\",\\u010F:\"d\",\\u0111:\"d\",\\u0112:\"E\",\\u0114:\"E\",\\u0116:\"E\",\\u0118:\"E\",\\u011A:\"E\",\\u0113:\"e\",\\u0115:\"e\",\\u0117:\"e\",\\u0119:\"e\",\\u011B:\"e\",\\u011C:\"G\",\\u011E:\"G\",\\u0120:\"G\",\\u0122:\"G\",\\u011D:\"g\",\\u011F:\"g\",\\u0121:\"g\",\\u0123:\"g\",\\u0124:\"H\",\\u0126:\"H\",\\u0125:\"h\",\\u0127:\"h\",\\u0128:\"I\",\\u012A:\"I\",\\u012C:\"I\",\\u012E:\"I\",\\u0130:\"I\",\\u0129:\"i\",\\u012B:\"i\",\\u012D:\"i\",\\u012F:\"i\",\\u0131:\"i\",\\u0134:\"J\",\\u0135:\"j\",\\u0136:\"K\",\\u0137:\"k\",\\u0138:\"k\",\\u0139:\"L\",\\u013B:\"L\",\\u013D:\"L\",\\u013F:\"L\",\\u0141:\"L\",\\u013A:\"l\",\\u013C:\"l\",\\u013E:\"l\",\\u0140:\"l\",\\u0142:\"l\",\\u0143:\"N\",\\u0145:\"N\",\\u0147:\"N\",\\u014A:\"N\",\\u0144:\"n\",\\u0146:\"n\",\\u0148:\"n\",\\u014B:\"n\",\\u014C:\"O\",\\u014E:\"O\",\\u0150:\"O\",\\u014D:\"o\",\\u014F:\"o\",\\u0151:\"o\",\\u0154:\"R\",\\u0156:\"R\",\\u0158:\"R\",\\u0155:\"r\",\\u0157:\"r\",\\u0159:\"r\",\\u015A:\"S\",\\u015C:\"S\",\\u015E:\"S\",\\u0160:\"S\",\\u015B:\"s\",\\u015D:\"s\",\\u015F:\"s\",\\u0161:\"s\",\\u0162:\"T\",\\u0164:\"T\",\\u0166:\"T\",\\u0163:\"t\",\\u0165:\"t\",\\u0167:\"t\",\\u0168:\"U\",\\u016A:\"U\",\\u016C:\"U\",\\u016E:\"U\",\\u0170:\"U\",\\u0172:\"U\",\\u0169:\"u\",\\u016B:\"u\",\\u016D:\"u\",\\u016F:\"u\",\\u0171:\"u\",\\u0173:\"u\",\\u0174:\"W\",\\u0175:\"w\",\\u0176:\"Y\",\\u0177:\"y\",\\u0178:\"Y\",\\u0179:\"Z\",\\u017B:\"Z\",\\u017D:\"Z\",\\u017A:\"z\",\\u017C:\"z\",\\u017E:\"z\",\\u0132:\"IJ\",\\u0133:\"ij\",\\u0152:\"Oe\",\\u0153:\"oe\",\\u0149:\"'n\",\\u017F:\"s\"},oa={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"},pf={\"&amp;\":\"&\",\"&lt;\":\"<\",\"&gt;\":\">\",\"&quot;\":'\"',\"&#39;\":\"'\"},bs={\"\\\\\":\"\\\\\",\"'\":\"'\",\"\\n\":\"n\",\"\\r\":\"r\",\"\\u2028\":\"u2028\",\"\\u2029\":\"u2029\"},ba=parseFloat,Bs=parseInt,y0=typeof global==\"object\"&&global&&global.Object===Object&&global,Us=typeof self==\"object\"&&self&&self.Object===Object&&self,ji=y0||Us||Function(\"return this\")(),B=typeof zv==\"object\"&&zv&&!zv.nodeType&&zv,z=B&&typeof Ny==\"object\"&&Ny&&!Ny.nodeType&&Ny,G=z&&z.exports===B,$=G&&y0.process,Te=function(){try{var Ce=z&&z.require&&z.require(\"util\").types;return Ce||$&&$.binding&&$.binding(\"util\")}catch(et){}}(),ge=Te&&Te.isArrayBuffer,Re=Te&&Te.isDate,Z=Te&&Te.isMap,ke=Te&&Te.isRegExp,Qe=Te&&Te.isSet,ht=Te&&Te.isTypedArray;function ue(Ce,et,Ye){switch(Ye.length){case 0:return Ce.call(et);case 1:return Ce.call(et,Ye[0]);case 2:return Ce.call(et,Ye[0],Ye[1]);case 3:return Ce.call(et,Ye[0],Ye[1],Ye[2])}return Ce.apply(et,Ye)}function He(Ce,et,Ye,Yt){for(var Kt=-1,pr=Ce==null?0:Ce.length;++Kt<pr;){var Wr=Ce[Kt];et(Yt,Wr,Ye(Wr),Ce)}return Yt}function nt(Ce,et){for(var Ye=-1,Yt=Ce==null?0:Ce.length;++Ye<Yt&&et(Ce[Ye],Ye,Ce)!==!1;);return Ce}function Ct(Ce,et){for(var Ye=Ce==null?0:Ce.length;Ye--&&et(Ce[Ye],Ye,Ce)!==!1;);return Ce}function Mt(Ce,et){for(var Ye=-1,Yt=Ce==null?0:Ce.length;++Ye<Yt;)if(!et(Ce[Ye],Ye,Ce))return!1;return!0}function It(Ce,et){for(var Ye=-1,Yt=Ce==null?0:Ce.length,Kt=0,pr=[];++Ye<Yt;){var Wr=Ce[Ye];et(Wr,Ye,Ce)&&(pr[Kt++]=Wr)}return pr}function sn(Ce,et){var Ye=Ce==null?0:Ce.length;return!!Ye&&Dt(Ce,et,0)>-1}function rn(Ce,et,Ye){for(var Yt=-1,Kt=Ce==null?0:Ce.length;++Yt<Kt;)if(Ye(et,Ce[Yt]))return!0;return!1}function Lt(Ce,et){for(var Ye=-1,Yt=Ce==null?0:Ce.length,Kt=Array(Yt);++Ye<Yt;)Kt[Ye]=et(Ce[Ye],Ye,Ce);return Kt}function Dn(Ce,et){for(var Ye=-1,Yt=et.length,Kt=Ce.length;++Ye<Yt;)Ce[Kt+Ye]=et[Ye];return Ce}function dr(Ce,et,Ye,Yt){var Kt=-1,pr=Ce==null?0:Ce.length;for(Yt&&pr&&(Ye=Ce[++Kt]);++Kt<pr;)Ye=et(Ye,Ce[Kt],Kt,Ce);return Ye}function er(Ce,et,Ye,Yt){var Kt=Ce==null?0:Ce.length;for(Yt&&Kt&&(Ye=Ce[--Kt]);Kt--;)Ye=et(Ye,Ce[Kt],Kt,Ce);return Ye}function Cr(Ce,et){for(var Ye=-1,Yt=Ce==null?0:Ce.length;++Ye<Yt;)if(et(Ce[Ye],Ye,Ce))return!0;return!1}var An=fn(\"length\");function Nr(Ce){return Ce.split(\"\")}function g0(Ce){return Ce.match(eu)||[]}function Lr(Ce,et,Ye){var Yt;return Ye(Ce,function(Kt,pr,Wr){if(et(Kt,pr,Wr))return Yt=pr,!1}),Yt}function it(Ce,et,Ye,Yt){for(var Kt=Ce.length,pr=Ye+(Yt?1:-1);Yt?pr--:++pr<Kt;)if(et(Ce[pr],pr,Ce))return pr;return-1}function Dt(Ce,et,Ye){return et===et?la(Ce,et,Ye):it(Ce,Pt,Ye)}function $e(Ce,et,Ye,Yt){for(var Kt=Ye-1,pr=Ce.length;++Kt<pr;)if(Yt(Ce[Kt],et))return Kt;return-1}function Pt(Ce){return Ce!==Ce}function un(Ce,et){var Ye=Ce==null?0:Ce.length;return Ye?Nu(Ce,et)/Ye:Q}function fn(Ce){return function(et){return et==null?i:et[Ce]}}function Jn(Ce){return function(et){return Ce==null?i:Ce[et]}}function wr(Ce,et,Ye,Yt,Kt){return Kt(Ce,function(pr,Wr,xn){Ye=Yt?(Yt=!1,pr):et(Ye,pr,Wr,xn)}),Ye}function au(Ce,et){var Ye=Ce.length;for(Ce.sort(et);Ye--;)Ce[Ye]=Ce[Ye].value;return Ce}function Nu(Ce,et){for(var Ye,Yt=-1,Kt=Ce.length;++Yt<Kt;){var pr=et(Ce[Yt]);pr!==i&&(Ye=Ye===i?pr:Ye+pr)}return Ye}function T0(Ce,et){for(var Ye=-1,Yt=Array(Ce);++Ye<Ce;)Yt[Ye]=et(Ye);return Yt}function J0(Ce,et){return Lt(et,function(Ye){return[Ye,Ce[Ye]]})}function Lu(Ce){return Ce&&Ce.slice(0,po(Ce)+1).replace(bn,\"\")}function _i(Ce){return function(et){return Ce(et)}}function Fo(Ce,et){return Lt(et,function(Ye){return Ce[Ye]})}function nl(Ce,et){return Ce.has(et)}function hf(Ce,et){for(var Ye=-1,Yt=Ce.length;++Ye<Yt&&Dt(et,Ce[Ye],0)>-1;);return Ye}function Sl(Ce,et){for(var Ye=Ce.length;Ye--&&Dt(et,Ce[Ye],0)>-1;);return Ye}function vf(Ce,et){for(var Ye=Ce.length,Yt=0;Ye--;)Ce[Ye]===et&&++Yt;return Yt}var Po=Jn(Zl),ys=Jn(oa);function js(Ce){return\"\\\\\"+bs[Ce]}function Io(Ce,et){return Ce==null?i:Ce[et]}function bo(Ce){return ms.test(Ce)}function gs(Ce){return S0.test(Ce)}function Qu(Ce){for(var et,Ye=[];!(et=Ce.next()).done;)Ye.push(et.value);return Ye}function Tu(Ce){var et=-1,Ye=Array(Ce.size);return Ce.forEach(function(Yt,Kt){Ye[++et]=[Kt,Yt]}),Ye}function Ei(Ce,et){return function(Ye){return Ce(et(Ye))}}function C0(Ce,et){for(var Ye=-1,Yt=Ce.length,Kt=0,pr=[];++Ye<Yt;){var Wr=Ce[Ye];(Wr===et||Wr===O)&&(Ce[Ye]=O,pr[Kt++]=Ye)}return pr}function Z0(Ce){var et=-1,Ye=Array(Ce.size);return Ce.forEach(function(Yt){Ye[++et]=Yt}),Ye}function Bo(Ce){var et=-1,Ye=Array(Ce.size);return Ce.forEach(function(Yt){Ye[++et]=[Yt,Yt]}),Ye}function la(Ce,et,Ye){for(var Yt=Ye-1,Kt=Ce.length;++Yt<Kt;)if(Ce[Yt]===et)return Yt;return-1}function $l(Ce,et,Ye){for(var Yt=Ye+1;Yt--;)if(Ce[Yt]===et)return Yt;return Yt}function tu(Ce){return bo(Ce)?Ci(Ce):An(Ce)}function ei(Ce){return bo(Ce)?mf(Ce):Nr(Ce)}function po(Ce){for(var et=Ce.length;et--&&Ai.test(Ce.charAt(et)););return et}var Bi=Jn(pf);function Ci(Ce){for(var et=ua.lastIndex=0;ua.test(Ce);)++et;return et}function mf(Ce){return Ce.match(ua)||[]}function yf(Ce){return Ce.match(Ia)||[]}var $0=function Ce(et){et=et==null?ji:eo.defaults(ji.Object(),et,eo.pick(ji,Qn));var Ye=et.Array,Yt=et.Date,Kt=et.Error,pr=et.Function,Wr=et.Math,xn=et.Object,yu=et.RegExp,Ju=et.String,ti=et.TypeError,Jr=Ye.prototype,Wu=pr.prototype,Rn=xn.prototype,x0=et[\"__core-js_shared__\"],Fu=Wu.toString,li=Rn.hasOwnProperty,Tl=0,zs=function(){var d=/[^.]+$/.exec(x0&&x0.keys&&x0.keys.IE_PROTO||\"\");return d?\"Symbol(src)_1.\"+d:\"\"}(),Vu=Rn.toString,sa=Fu.call(xn),Xi=ji._,Hs=yu(\"^\"+Fu.call(li).replace(yi,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),R0=G?et.Buffer:i,zi=et.Symbol,A0=et.Uint8Array,Hi=R0?R0.allocUnsafe:i,rl=Ei(xn.getPrototypeOf,xn),Cl=xn.create,B0=Rn.propertyIsEnumerable,O0=Jr.splice,ho=zi?zi.isConcatSpreadable:i,Pu=zi?zi.iterator:i,Zu=zi?zi.toStringTag:i,es=function(){try{var d=_o(xn,\"defineProperty\");return d({},\"\",{}),d}catch(v){}}(),_s=et.clearTimeout!==ji.clearTimeout&&et.clearTimeout,aa=Yt&&Yt.now!==ji.Date.now&&Yt.now,gf=et.setTimeout!==ji.setTimeout&&et.setTimeout,$u=Wr.ceil,Es=Wr.floor,Rr=xn.getOwnPropertySymbols,to=R0?R0.isBuffer:i,nu=et.isFinite,fu=Jr.join,Li=Ei(xn.keys,xn),ni=Wr.max,Kn=Wr.min,e0=Yt.now,_0=et.parseInt,E0=Wr.random,Fn=Jr.reverse,ae=_o(et,\"DataView\"),re=_o(et,\"Map\"),Fe=_o(et,\"Promise\"),Ae=_o(et,\"Set\"),st=_o(et,\"WeakMap\"),vt=_o(xn,\"create\"),Qt=st&&new st,On={},Sn=Ea(ae),_n=Ea(re),Tn=Ea(Fe),ir=Ea(Ae),Bt=Ea(st),Fi=zi?zi.prototype:i,Ar=Fi?Fi.valueOf:i,mr=Fi?Fi.toString:i;function Y(d){if(Yu(d)&&!tr(d)&&!(d instanceof at)){if(d instanceof Vr)return d;if(li.call(d,\"__wrapped__\"))return I2(d)}return new Vr(d)}var ri=function(){function d(){}return function(v){if(!bu(v))return{};if(Cl)return Cl(v);d.prototype=v;var x=new d;return d.prototype=i,x}}();function ii(){}function Vr(d,v){this.__wrapped__=d,this.__actions__=[],this.__chain__=!!v,this.__index__=0,this.__values__=i}Y.templateSettings={escape:Kl,evaluate:P0,interpolate:p0,variable:\"\",imports:{_:Y}},Y.prototype=ii.prototype,Y.prototype.constructor=Y,Vr.prototype=ri(ii.prototype),Vr.prototype.constructor=Vr;function at(d){this.__wrapped__=d,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=fe,this.__views__=[]}function Di(){var d=new at(this.__wrapped__);return d.__actions__=iu(this.__actions__),d.__dir__=this.__dir__,d.__filtered__=this.__filtered__,d.__iteratees__=iu(this.__iteratees__),d.__takeCount__=this.__takeCount__,d.__views__=iu(this.__views__),d}function ru(){if(this.__filtered__){var d=new at(this);d.__dir__=-1,d.__filtered__=!0}else d=this.clone(),d.__dir__*=-1;return d}function D0(){var d=this.__wrapped__.value(),v=this.__dir__,x=tr(d),P=v<0,q=x?d.length:0,ee=rs(0,q,this.__views__),de=ee.start,_e=ee.end,Ie=_e-de,Et=P?_e:de-1,St=this.__iteratees__,At=St.length,on=0,kn=Kn(Ie,this.__takeCount__);if(!x||!P&&q==Ie&&kn==Ie)return mh(d,this.__actions__);var rr=[];e:for(;Ie--&&on<kn;){Et+=v;for(var br=-1,ar=d[Et];++br<At;){var ui=St[br],di=ui.iteratee,jl=ui.type,Zi=di(ar);if(jl==ut)ar=Zi;else if(!Zi){if(jl==Xe)continue e;break e}}rr[on++]=ar}return rr}at.prototype=ri(ii.prototype),at.prototype.constructor=at;function Un(d){var v=-1,x=d==null?0:d.length;for(this.clear();++v<x;){var P=d[v];this.set(P[0],P[1])}}function t0(){this.__data__=vt?vt(null):{},this.size=0}function no(d){var v=this.has(d)&&delete this.__data__[d];return this.size-=v?1:0,v}function vo(d){var v=this.__data__;if(vt){var x=v[d];return x===k?i:x}return li.call(v,d)?v[d]:i}function n0(d){var v=this.__data__;return vt?v[d]!==i:li.call(v,d)}function Uo(d,v){var x=this.__data__;return this.size+=this.has(d)?0:1,x[d]=vt&&v===i?k:v,this}Un.prototype.clear=t0,Un.prototype.delete=no,Un.prototype.get=vo,Un.prototype.has=n0,Un.prototype.set=Uo;function ro(d){var v=-1,x=d==null?0:d.length;for(this.clear();++v<x;){var P=d[v];this.set(P[0],P[1])}}function Ba(){this.__data__=[],this.size=0}function _f(d){var v=this.__data__,x=ts(v,d);if(x<0)return!1;var P=v.length-1;return x==P?v.pop():O0.call(v,x,1),--this.size,!0}function fc(d){var v=this.__data__,x=ts(v,d);return x<0?i:v[x][1]}function Ds(d){return ts(this.__data__,d)>-1}function fa(d,v){var x=this.__data__,P=ts(x,d);return P<0?(++this.size,x.push([d,v])):x[P][1]=v,this}ro.prototype.clear=Ba,ro.prototype.delete=_f,ro.prototype.get=fc,ro.prototype.has=Ds,ro.prototype.set=fa;function U0(d){var v=-1,x=d==null?0:d.length;for(this.clear();++v<x;){var P=d[v];this.set(P[0],P[1])}}function cc(){this.size=0,this.__data__={hash:new Un,map:new(re||ro),string:new Un}}function Ua(d){var v=cl(this,d).delete(d);return this.size-=v?1:0,v}function E2(d){return cl(this,d).get(d)}function nd(d){return cl(this,d).has(d)}function rd(d,v){var x=cl(this,d),P=x.size;return x.set(d,v),this.size+=x.size==P?0:1,this}U0.prototype.clear=cc,U0.prototype.delete=Ua,U0.prototype.get=E2,U0.prototype.has=nd,U0.prototype.set=rd;function mo(d){var v=-1,x=d==null?0:d.length;for(this.__data__=new U0;++v<x;)this.add(d[v])}function Hc(d){return this.__data__.set(d,k),this}function xl(d){return this.__data__.has(d)}mo.prototype.add=mo.prototype.push=Hc,mo.prototype.has=xl;function il(d){var v=this.__data__=new ro(d);this.size=v.size}function D2(){this.__data__=new ro,this.size=0}function qs(d){var v=this.__data__,x=v.delete(d);return this.size=v.size,x}function Rl(d){return this.__data__.get(d)}function id(d){return this.__data__.has(d)}function jo(d,v){var x=this.__data__;if(x instanceof ro){var P=x.__data__;if(!re||P.length<a-1)return P.push([d,v]),this.size=++x.size,this;x=this.__data__=new U0(P)}return x.set(d,v),this.size=x.size,this}il.prototype.clear=D2,il.prototype.delete=qs,il.prototype.get=Rl,il.prototype.has=id,il.prototype.set=jo;function ja(d,v){var x=tr(d),P=!x&&dl(d),q=!x&&!P&&Js(d),ee=!x&&!P&&!q&&Ra(d),de=x||P||q||ee,_e=de?T0(d.length,Ju):[],Ie=_e.length;for(var Et in d)(v||li.call(d,Et))&&!(de&&(Et==\"length\"||q&&(Et==\"offset\"||Et==\"parent\")||ee&&(Et==\"buffer\"||Et==\"byteLength\"||Et==\"byteOffset\")||Eo(Et,Ie)))&&_e.push(Et);return _e}function za(d){var v=d.length;return v?d[ad(0,v-1)]:i}function Ha(d,v){return wc(iu(d),r0(v,0,d.length))}function ca(d){return wc(iu(d))}function ws(d,v,x){(x!==i&&!wo(d[v],x)||x===i&&!(v in d))&&Gu(d,v,x)}function Ss(d,v,x){var P=d[v];(!(li.call(d,v)&&wo(P,x))||x===i&&!(v in d))&&Gu(d,v,x)}function ts(d,v){for(var x=d.length;x--;)if(wo(d[x][0],v))return x;return-1}function zo(d,v,x,P){return Ts(d,function(q,ee,de){v(P,q,x(q),de)}),P}function Ef(d,v){return d&&M0(v,N0(v),d)}function ul(d,v){return d&&M0(v,dn(v),d)}function Gu(d,v,x){v==\"__proto__\"&&es?es(d,v,{configurable:!0,enumerable:!0,value:x,writable:!0}):d[v]=x}function qa(d,v){for(var x=-1,P=v.length,q=Ye(P),ee=d==null;++x<P;)q[x]=ee?i:Bl(d,v[x]);return q}function r0(d,v,x){return d===d&&(x!==i&&(d=d<=x?d:x),v!==i&&(d=d>=v?d:v)),d}function j0(d,v,x,P,q,ee){var de,_e=v&C,Ie=v&U,Et=v&H;if(x&&(de=q?x(d,P,q,ee):x(d)),de!==i)return de;if(!bu(d))return d;var St=tr(d);if(St){if(de=Cs(d),!_e)return iu(d,de)}else{var At=Iu(d),on=At==Vt||At==Er;if(Js(d))return vc(d,_e);if(At==vr||At==ct||on&&!q){if(de=Ie||on?{}:Ec(d),!_e)return Ie?ns(d,ul(de,d)):o0(d,Ef(de,d))}else{if(!$r[At])return q?d:{};de=Dh(d,At,_e)}}ee||(ee=new il);var kn=ee.get(d);if(kn)return kn;ee.set(d,de),Id(d)?d.forEach(function(ar){de.add(j0(ar,v,x,ar,d,ee))}):Ep(d)&&d.forEach(function(ar,ui){de.set(ui,j0(ar,v,x,ui,d,ee))});var rr=Et?Ie?sr:n1:Ie?dn:N0,br=St?i:rr(d);return nt(br||d,function(ar,ui){br&&(ui=ar,ar=d[ui]),Ss(de,ui,j0(ar,v,x,ui,d,ee))}),de}function Df(d){var v=N0(d);return function(x){return qc(x,d,v)}}function qc(d,v,x){var P=x.length;if(d==null)return!P;for(d=xn(d);P--;){var q=x[P],ee=v[q],de=d[q];if(de===i&&!(q in d)||!ee(de))return!1}return!0}function dc(d,v,x){if(typeof d!=\"function\")throw new ti(_);return Qa(function(){d.apply(i,x)},v)}function Al(d,v,x,P){var q=-1,ee=sn,de=!0,_e=d.length,Ie=[],Et=v.length;if(!_e)return Ie;x&&(v=Lt(v,_i(x))),P?(ee=rn,de=!1):v.length>=a&&(ee=nl,de=!1,v=new mo(v));e:for(;++q<_e;){var St=d[q],At=x==null?St:x(St);if(St=P||St!==0?St:0,de&&At===At){for(var on=Et;on--;)if(v[on]===At)continue e;Ie.push(St)}else ee(v,At,P)||Ie.push(St)}return Ie}var Ts=al(R),da=al(F,!0);function ud(d,v){var x=!0;return Ts(d,function(P,q,ee){return x=!!v(P,q,ee),x}),x}function pa(d,v,x){for(var P=-1,q=d.length;++P<q;){var ee=d[P],de=v(ee);if(de!=null&&(_e===i?de===de&&!bl(de):x(de,_e)))var _e=de,Ie=ee}return Ie}function pc(d,v,x,P){var q=d.length;for(x=Mr(x),x<0&&(x=-x>q?0:q+x),P=P===i||P>q?q:Mr(P),P<0&&(P+=q),P=x>P?0:wp(P);x<P;)d[x++]=v;return d}function Wc(d,v){var x=[];return Ts(d,function(P,q,ee){v(P,q,ee)&&x.push(P)}),x}function qi(d,v,x,P,q){var ee=-1,de=d.length;for(x||(x=is),q||(q=[]);++ee<de;){var _e=d[ee];v>0&&x(_e)?v>1?qi(_e,v-1,x,P,q):Dn(q,_e):P||(q[q.length]=_e)}return q}var g=yc(),y=yc(!0);function R(d,v){return d&&g(d,v,N0)}function F(d,v){return d&&y(d,v,N0)}function b(d,v){return It(v,function(x){return xa(d[x])})}function J(d,v){v=Ws(v,d);for(var x=0,P=v.length;d!=null&&x<P;)d=d[Ll(v[x++])];return x&&x==P?d:i}function ce(d,v,x){var P=v(d);return tr(d)?P:Dn(P,x(d))}function mt(d){return d==null?d===i?Ro:Xn:Zu&&Zu in xn(d)?gc(d):Xa(d)}function xt(d,v){return d>v}function kt(d,v){return d!=null&&li.call(d,v)}function xr(d,v){return d!=null&&v in xn(d)}function i0(d,v,x){return d>=Kn(v,x)&&d<ni(v,x)}function cu(d,v,x){for(var P=x?rn:sn,q=d[0].length,ee=d.length,de=ee,_e=Ye(ee),Ie=Infinity,Et=[];de--;){var St=d[de];de&&v&&(St=Lt(St,_i(v))),Ie=Kn(St.length,Ie),_e[de]=!x&&(v||q>=120&&St.length>=120)?new mo(de&&St):i}St=d[0];var At=-1,on=_e[0];e:for(;++At<q&&Et.length<Ie;){var kn=St[At],rr=v?v(kn):kn;if(kn=x||kn!==0?kn:0,!(on?nl(on,rr):P(Et,rr,x))){for(de=ee;--de;){var br=_e[de];if(!(br?nl(br,rr):P(d[de],rr,x)))continue e}on&&on.push(rr),Et.push(kn)}}return Et}function z0(d,v,x,P){return R(d,function(q,ee,de){v(P,x(q),ee,de)}),P}function Ol(d,v,x){v=Ws(v,d),d=Ed(d,v);var P=d==null?d:d[Ll(Pl(v))];return P==null?i:ue(P,d,x)}function u0(d){return Yu(d)&&mt(d)==ct}function Ve(d){return Yu(d)&&mt(d)==Jo}function Ue(d){return Yu(d)&&mt(d)==Mn}function lt(d,v,x,P,q){return d===v?!0:d==null||v==null||!Yu(d)&&!Yu(v)?d!==d&&v!==v:$t(d,v,x,P,lt,q)}function $t(d,v,x,P,q,ee){var de=tr(d),_e=tr(v),Ie=de?Rt:Iu(d),Et=_e?Rt:Iu(v);Ie=Ie==ct?vr:Ie,Et=Et==ct?vr:Et;var St=Ie==vr,At=Et==vr,on=Ie==Et;if(on&&Js(d)){if(!Js(v))return!1;de=!0,St=!1}if(on&&!St)return ee||(ee=new il),de||Ra(d)?Of(d,v,x,P,q,ee):Eh(d,v,Ie,x,P,q,ee);if(!(x&W)){var kn=St&&li.call(d,\"__wrapped__\"),rr=At&&li.call(v,\"__wrapped__\");if(kn||rr){var br=kn?d.value():d,ar=rr?v.value():v;return ee||(ee=new il),q(br,ar,x,P,ee)}}return on?(ee||(ee=new il),um(d,v,x,P,q,ee)):!1}function Wn(d){return Yu(d)&&Iu(d)==w}function si(d,v,x,P){var q=x.length,ee=q,de=!P;if(d==null)return!ee;for(d=xn(d);q--;){var _e=x[q];if(de&&_e[2]?_e[1]!==d[_e[0]]:!(_e[0]in d))return!1}for(;++q<ee;){_e=x[q];var Ie=_e[0],Et=d[Ie],St=_e[1];if(de&&_e[2]){if(Et===i&&!(Ie in d))return!1}else{var At=new il;if(P)var on=P(Et,St,Ie,d,v,At);if(!(on===i?lt(St,Et,W|ne,P,At):on))return!1}}return!0}function ur(d){if(!bu(d)||om(d))return!1;var v=xa(d)?Hs:Ql;return v.test(Ea(d))}function ci(d){return Yu(d)&&mt(d)==zr}function Qi(d){return Yu(d)&&Iu(d)==Xt}function Gr(d){return Yu(d)&&Fd(d.length)&&!!fi[mt(d)]}function Cu(d){return typeof d==\"function\"?d:d==null?s0:typeof d==\"object\"?tr(d)?wf(d[0],d[1]):S2(d):bp(d)}function Wa(d){if(!Nf(d))return Li(d);var v=[];for(var x in xn(d))li.call(d,x)&&x!=\"constructor\"&&v.push(x);return v}function Va(d){if(!bu(d))return r1(d);var v=Nf(d),x=[];for(var P in d)P==\"constructor\"&&(v||!li.call(d,P))||x.push(P);return x}function od(d,v){return d<v}function w2(d,v){var x=-1,P=pl(d)?Ye(d.length):[];return Ts(d,function(q,ee,de){P[++x]=v(q,ee,de)}),P}function S2(d){var v=jn(d);return v.length==1&&v[0][2]?gd(v[0][0],v[0][1]):function(x){return x===d||si(x,d,v)}}function wf(d,v){return Ji(d)&&Lf(v)?gd(Ll(d),v):function(x){var P=Bl(x,d);return P===i&&P===v?xc(x,d):lt(v,P,W|ne)}}function ld(d,v,x,P,q){d!==v&&g(v,function(ee,de){if(q||(q=new il),bu(ee))ch(d,v,de,x,ld,P,q);else{var _e=P?P(Ff(d,de),ee,de+\"\",d,v,q):i;_e===i&&(_e=ee),ws(d,de,_e)}},dn)}function ch(d,v,x,P,q,ee,de){var _e=Ff(d,x),Ie=Ff(v,x),Et=de.get(Ie);if(Et){ws(d,x,Et);return}var St=ee?ee(_e,Ie,x+\"\",d,v,de):i,At=St===i;if(At){var on=tr(Ie),kn=!on&&Js(Ie),rr=!on&&!kn&&Ra(Ie);St=Ie,on||kn||rr?tr(_e)?St=_e:l0(_e)?St=iu(_e):kn?(At=!1,St=vc(Ie,!0)):rr?(At=!1,St=Zc(Ie,!0)):St=[]:Cc(Ie)||dl(Ie)?(St=_e,dl(_e)?St=gu(_e):(!bu(_e)||xa(_e))&&(St=Ec(Ie))):At=!1}At&&(de.set(Ie,St),q(St,Ie,P,ee,de),de.delete(Ie)),ws(d,x,St)}function Vc(d,v){var x=d.length;if(!!x)return v+=v<0?x:0,Eo(v,x)?d[v]:i}function yo(d,v,x){v.length?v=Lt(v,function(ee){return tr(ee)?function(de){return J(de,ee.length===1?ee[0]:ee)}:ee}):v=[s0];var P=-1;v=Lt(v,_i(Vn()));var q=w2(d,function(ee,de,_e){var Ie=Lt(v,function(Et){return Et(ee)});return{criteria:Ie,index:++P,value:ee}});return au(q,function(ee,de){return nm(ee,de,x)})}function dh(d,v){return ph(d,v,function(x,P){return xc(d,P)})}function ph(d,v,x){for(var P=-1,q=v.length,ee={};++P<q;){var de=v[P],_e=J(d,de);x(_e,de)&&Ga(ee,Ws(de,d),_e)}return ee}function go(d){return function(v){return J(v,d)}}function Ml(d,v,x,P){var q=P?$e:Dt,ee=-1,de=v.length,_e=d;for(d===v&&(v=iu(v)),x&&(_e=Lt(d,_i(x)));++ee<de;)for(var Ie=0,Et=v[ee],St=x?x(Et):Et;(Ie=q(_e,St,Ie,P))>-1;)_e!==d&&O0.call(_e,Ie,1),O0.call(d,Ie,1);return d}function sd(d,v){for(var x=d?v.length:0,P=x-1;x--;){var q=v[x];if(x==P||q!==ee){var ee=q;Eo(q)?O0.call(d,q,1):R2(d,q)}}return d}function ad(d,v){return d+Es(E0()*(v-d+1))}function T2(d,v,x,P){for(var q=-1,ee=ni($u((v-d)/(x||1)),0),de=Ye(ee);ee--;)de[P?ee:++q]=d,d+=x;return de}function Gc(d,v){var x=\"\";if(!d||v<1||v>Jt)return x;do v%2&&(x+=d),v=Es(v/2),v&&(d+=d);while(v);return x}function Ir(d,v){return o1(F2(d,v,s0),d+\"\")}function fd(d){return za(Nc(d))}function cd(d,v){var x=Nc(d);return wc(x,r0(v,0,x.length))}function Ga(d,v,x,P){if(!bu(d))return d;v=Ws(v,d);for(var q=-1,ee=v.length,de=ee-1,_e=d;_e!=null&&++q<ee;){var Ie=Ll(v[q]),Et=x;if(Ie===\"__proto__\"||Ie===\"constructor\"||Ie===\"prototype\")return d;if(q!=de){var St=_e[Ie];Et=P?P(St,Ie,_e):i,Et===i&&(Et=bu(St)?St:Eo(v[q+1])?[]:{})}Ss(_e,Ie,Et),_e=_e[Ie]}return d}var Yc=Qt?function(d,v){return Qt.set(d,v),d}:s0,C2=es?function(d,v){return es(d,\"toString\",{configurable:!0,enumerable:!1,value:Qd(v),writable:!0})}:s0;function ol(d){return wc(Nc(d))}function ll(d,v,x){var P=-1,q=d.length;v<0&&(v=-v>q?0:q+v),x=x>q?q:x,x<0&&(x+=q),q=v>x?0:x-v>>>0,v>>>=0;for(var ee=Ye(q);++P<q;)ee[P]=d[P+v];return ee}function hh(d,v){var x;return Ts(d,function(P,q,ee){return x=v(P,q,ee),!x}),!!x}function Sf(d,v,x){var P=0,q=d==null?P:d.length;if(typeof v==\"number\"&&v===v&&q<=oe){for(;P<q;){var ee=P+q>>>1,de=d[ee];de!==null&&!bl(de)&&(x?de<=v:de<v)?P=ee+1:q=ee}return q}return Kc(d,v,s0,x)}function Kc(d,v,x,P){var q=0,ee=d==null?0:d.length;if(ee===0)return 0;v=x(v);for(var de=v!==v,_e=v===null,Ie=bl(v),Et=v===i;q<ee;){var St=Es((q+ee)/2),At=x(d[St]),on=At!==i,kn=At===null,rr=At===At,br=bl(At);if(de)var ar=P||rr;else Et?ar=rr&&(P||on):_e?ar=rr&&on&&(P||!kn):Ie?ar=rr&&on&&!kn&&(P||!br):kn||br?ar=!1:ar=P?At<=v:At<v;ar?q=St+1:ee=St}return Kn(ee,xe)}function x2(d,v){for(var x=-1,P=d.length,q=0,ee=[];++x<P;){var de=d[x],_e=v?v(de):de;if(!x||!wo(_e,Ie)){var Ie=_e;ee[q++]=de===0?0:de}}return ee}function vh(d){return typeof d==\"number\"?d:bl(d)?Q:+d}function sl(d){if(typeof d==\"string\")return d;if(tr(d))return Lt(d,sl)+\"\";if(bl(d))return mr?mr.call(d):\"\";var v=d+\"\";return v==\"0\"&&1/d==-Ft?\"-0\":v}function ha(d,v,x){var P=-1,q=sn,ee=d.length,de=!0,_e=[],Ie=_e;if(x)de=!1,q=rn;else if(ee>=a){var Et=v?null:rm(d);if(Et)return Z0(Et);de=!1,q=nl,Ie=new mo}else Ie=v?[]:_e;e:for(;++P<ee;){var St=d[P],At=v?v(St):St;if(St=x||St!==0?St:0,de&&At===At){for(var on=Ie.length;on--;)if(Ie[on]===At)continue e;v&&Ie.push(At),_e.push(St)}else q(Ie,At,x)||(Ie!==_e&&Ie.push(At),_e.push(St))}return _e}function R2(d,v){return v=Ws(v,d),d=Ed(d,v),d==null||delete d[Ll(Pl(v))]}function A2(d,v,x,P){return Ga(d,v,x(J(d,v)),P)}function hc(d,v,x,P){for(var q=d.length,ee=P?q:-1;(P?ee--:++ee<q)&&v(d[ee],ee,d););return x?ll(d,P?0:ee,P?ee+1:q):ll(d,P?ee+1:0,P?q:ee)}function mh(d,v){var x=d;return x instanceof at&&(x=x.value()),dr(v,function(P,q){return q.func.apply(q.thisArg,Dn([P],q.args))},x)}function O2(d,v,x){var P=d.length;if(P<2)return P?ha(d[0]):[];for(var q=-1,ee=Ye(P);++q<P;)for(var de=d[q],_e=-1;++_e<P;)_e!=q&&(ee[q]=Al(ee[q]||de,d[_e],v,x));return ha(qi(ee,1),v,x)}function dd(d,v,x){for(var P=-1,q=d.length,ee=v.length,de={};++P<q;){var _e=P<ee?v[P]:i;x(de,d[P],_e)}return de}function Xc(d){return l0(d)?d:[]}function Qc(d){return typeof d==\"function\"?d:s0}function Ws(d,v){return tr(d)?d:Ji(d,v)?[d]:l1(Ui(d))}var M2=Ir;function va(d,v,x){var P=d.length;return x=x===i?P:x,!v&&x>=P?d:ll(d,v,x)}var Jc=_s||function(d){return ji.clearTimeout(d)};function vc(d,v){if(v)return d.slice();var x=d.length,P=Hi?Hi(x):new d.constructor(x);return d.copy(P),P}function mc(d){var v=new d.constructor(d.byteLength);return new A0(v).set(new A0(d)),v}function pd(d,v){var x=v?mc(d.buffer):d.buffer;return new d.constructor(x,d.byteOffset,d.byteLength)}function yh(d){var v=new d.constructor(d.source,Mo.exec(d));return v.lastIndex=d.lastIndex,v}function Tf(d){return Ar?xn(Ar.call(d)):{}}function Zc(d,v){var x=v?mc(d.buffer):d.buffer;return new d.constructor(x,d.byteOffset,d.length)}function gh(d,v){if(d!==v){var x=d!==i,P=d===null,q=d===d,ee=bl(d),de=v!==i,_e=v===null,Ie=v===v,Et=bl(v);if(!_e&&!Et&&!ee&&d>v||ee&&de&&Ie&&!_e&&!Et||P&&de&&Ie||!x&&Ie||!q)return 1;if(!P&&!ee&&!Et&&d<v||Et&&x&&q&&!P&&!ee||_e&&x&&q||!de&&q||!Ie)return-1}return 0}function nm(d,v,x){for(var P=-1,q=d.criteria,ee=v.criteria,de=q.length,_e=x.length;++P<de;){var Ie=gh(q[P],ee[P]);if(Ie){if(P>=_e)return Ie;var Et=x[P];return Ie*(Et==\"desc\"?-1:1)}}return d.index-v.index}function Vs(d,v,x,P){for(var q=-1,ee=d.length,de=x.length,_e=-1,Ie=v.length,Et=ni(ee-de,0),St=Ye(Ie+Et),At=!P;++_e<Ie;)St[_e]=v[_e];for(;++q<de;)(At||q<ee)&&(St[x[q]]=d[q]);for(;Et--;)St[_e++]=d[q++];return St}function ma(d,v,x,P){for(var q=-1,ee=d.length,de=-1,_e=x.length,Ie=-1,Et=v.length,St=ni(ee-_e,0),At=Ye(St+Et),on=!P;++q<St;)At[q]=d[q];for(var kn=q;++Ie<Et;)At[kn+Ie]=v[Ie];for(;++de<_e;)(on||q<ee)&&(At[kn+x[de]]=d[q++]);return At}function iu(d,v){var x=-1,P=d.length;for(v||(v=Ye(P));++x<P;)v[x]=d[x];return v}function M0(d,v,x,P){var q=!x;x||(x={});for(var ee=-1,de=v.length;++ee<de;){var _e=v[ee],Ie=P?P(x[_e],d[_e],_e,x,d):i;Ie===i&&(Ie=d[_e]),q?Gu(x,_e,Ie):Ss(x,_e,Ie)}return x}function o0(d,v){return M0(d,uo(d),v)}function ns(d,v){return M0(d,Ka(d),v)}function Ya(d,v){return function(x,P){var q=tr(x)?He:zo,ee=v?v():{};return q(x,d,Vn(P,2),ee)}}function io(d){return Ir(function(v,x){var P=-1,q=x.length,ee=q>1?x[q-1]:i,de=q>2?x[2]:i;for(ee=d.length>3&&typeof ee==\"function\"?(q--,ee):i,de&&oo(x[0],x[1],de)&&(ee=q<3?i:ee,q=1),v=xn(v);++P<q;){var _e=x[P];_e&&d(v,_e,P,ee)}return v})}function al(d,v){return function(x,P){if(x==null)return x;if(!pl(x))return d(x,P);for(var q=x.length,ee=v?q:-1,de=xn(x);(v?ee--:++ee<q)&&P(de[ee],ee,de)!==!1;);return x}}function yc(d){return function(v,x,P){for(var q=-1,ee=xn(v),de=P(v),_e=de.length;_e--;){var Ie=de[d?_e:++q];if(x(ee[Ie],Ie,ee)===!1)break}return v}}function k2(d,v,x){var P=v&m,q=xf(d);function ee(){var de=this&&this!==ji&&this instanceof ee?q:d;return de.apply(P?x:this,arguments)}return ee}function _h(d){return function(v){v=Ui(v);var x=bo(v)?ei(v):i,P=x?x[0]:v.charAt(0),q=x?va(x,1).join(\"\"):v.slice(1);return P[d]()+q}}function Cf(d){return function(v){return dr(gv(Gd(v).replace(ia,\"\")),d,\"\")}}function xf(d){return function(){var v=arguments;switch(v.length){case 0:return new d;case 1:return new d(v[0]);case 2:return new d(v[0],v[1]);case 3:return new d(v[0],v[1],v[2]);case 4:return new d(v[0],v[1],v[2],v[3]);case 5:return new d(v[0],v[1],v[2],v[3],v[4]);case 6:return new d(v[0],v[1],v[2],v[3],v[4],v[5]);case 7:return new d(v[0],v[1],v[2],v[3],v[4],v[5],v[6])}var x=ri(d.prototype),P=d.apply(x,v);return bu(P)?P:x}}function $c(d,v,x){var P=xf(d);function q(){for(var ee=arguments.length,de=Ye(ee),_e=ee,Ie=yr(q);_e--;)de[_e]=arguments[_e];var Et=ee<3&&de[0]!==Ie&&de[ee-1]!==Ie?[]:C0(de,Ie);if(ee-=Et.length,ee<x)return wi(d,v,ya,q.placeholder,i,de,Et,i,i,x-ee);var St=this&&this!==ji&&this instanceof q?P:d;return ue(St,this,de)}return q}function kl(d){return function(v,x,P){var q=xn(v);if(!pl(v)){var ee=Vn(x,3);v=N0(v),x=function(_e){return ee(q[_e],_e,q)}}var de=d(v,x,P);return de>-1?q[ee?v[de]:de]:i}}function e1(d){return fl(function(v){var x=v.length,P=x,q=Vr.prototype.thru;for(d&&v.reverse();P--;){var ee=v[P];if(typeof ee!=\"function\")throw new ti(_);if(q&&!de&&Ho(ee)==\"wrapper\")var de=new Vr([],!0)}for(P=de?P:x;++P<x;){ee=v[P];var _e=Ho(ee),Ie=_e==\"wrapper\"?qn(ee):i;Ie&&kf(Ie[0])&&Ie[1]==(me|ve|De|ie)&&!Ie[4].length&&Ie[9]==1?de=de[Ho(Ie[0])].apply(de,Ie[3]):de=ee.length==1&&kf(ee)?de[_e]():de.thru(ee)}return function(){var Et=arguments,St=Et[0];if(de&&Et.length==1&&tr(St))return de.plant(St).value();for(var At=0,on=x?v[At].apply(this,Et):St;++At<x;)on=v[At].call(this,on);return on}})}function ya(d,v,x,P,q,ee,de,_e,Ie,Et){var St=v&me,At=v&m,on=v&he,kn=v&(ve|se),rr=v&Oe,br=on?i:xf(d);function ar(){for(var ui=arguments.length,di=Ye(ui),jl=ui;jl--;)di[jl]=arguments[jl];if(kn)var Zi=yr(ar),lo=vf(di,Zi);if(P&&(di=Vs(di,P,q,kn)),ee&&(di=ma(di,ee,de,kn)),ui-=lo,kn&&ui<Et){var a0=C0(di,Zi);return wi(d,v,ya,ar.placeholder,x,di,a0,_e,Ie,Et-ui)}var Os=At?x:this,To=on?Os[d]:d;return ui=di.length,_e?di=i1(di,_e):rr&&ui>1&&di.reverse(),St&&Ie<ui&&(di.length=Ie),this&&this!==ji&&this instanceof ar&&(To=br||xf(To)),To.apply(Os,di)}return ar}function hd(d,v){return function(x,P){return z0(x,d,v(P),{})}}function vd(d,v){return function(x,P){var q;if(x===i&&P===i)return v;if(x!==i&&(q=x),P!==i){if(q===i)return P;typeof x==\"string\"||typeof P==\"string\"?(x=sl(x),P=sl(P)):(x=vh(x),P=vh(P)),q=d(x,P)}return q}}function Fr(d){return fl(function(v){return v=Lt(v,_i(Vn())),Ir(function(x){var P=this;return d(v,function(q){return ue(q,P,x)})})})}function ga(d,v){v=v===i?\" \":sl(v);var x=v.length;if(x<2)return x?Gc(v,d):v;var P=Gc(v,$u(d/tu(v)));return bo(v)?va(ei(P),0,d).join(\"\"):P.slice(0,d)}function N2(d,v,x,P){var q=v&m,ee=xf(d);function de(){for(var _e=-1,Ie=arguments.length,Et=-1,St=P.length,At=Ye(St+Ie),on=this&&this!==ji&&this instanceof de?ee:d;++Et<St;)At[Et]=P[Et];for(;Ie--;)At[Et++]=arguments[++_e];return ue(on,q?x:this,At)}return de}function t1(d){return function(v,x,P){return P&&typeof P!=\"number\"&&oo(v,x,P)&&(x=P=i),v=Aa(v),x===i?(x=v,v=0):x=Aa(x),P=P===i?v<x?1:-1:Aa(P),T2(v,x,P,d)}}function md(d){return function(v,x){return typeof v==\"string\"&&typeof x==\"string\"||(v=hl(v),x=hl(x)),d(v,x)}}function wi(d,v,x,P,q,ee,de,_e,Ie,Et){var St=v&ve,At=St?de:i,on=St?i:de,kn=St?ee:i,rr=St?i:ee;v|=St?De:pe,v&=~(St?pe:De),v&Ee||(v&=~(m|he));var br=[d,v,q,kn,At,rr,on,_e,Ie,Et],ar=x.apply(i,br);return kf(d)&&u1(ar,br),ar.placeholder=P,P2(ar,d,v)}function L2(d){var v=Wr[d];return function(x,P){if(x=hl(x),P=P==null?0:Kn(Mr(P),292),P&&nu(x)){var q=(Ui(x)+\"e\").split(\"e\"),ee=v(q[0]+\"e\"+(+q[1]+P));return q=(Ui(ee)+\"e\").split(\"e\"),+(q[0]+\"e\"+(+q[1]-P))}return v(x)}}var rm=Ae&&1/Z0(new Ae([,-0]))[1]==Ft?function(d){return new Ae(d)}:Ip;function yd(d){return function(v){var x=Iu(v);return x==w?Tu(v):x==Xt?Bo(v):J0(v,d(v))}}function hn(d,v,x,P,q,ee,de,_e){var Ie=v&he;if(!Ie&&typeof d!=\"function\")throw new ti(_);var Et=P?P.length:0;if(Et||(v&=~(De|pe),P=q=i),de=de===i?de:ni(Mr(de),0),_e=_e===i?_e:Mr(_e),Et-=q?q.length:0,v&pe){var St=P,At=q;P=q=i}var on=Ie?i:qn(d),kn=[d,v,x,P,q,St,At,ee,de,_e];if(on&&Dc(kn,on),d=kn[0],v=kn[1],x=kn[2],P=kn[3],q=kn[4],_e=kn[9]=kn[9]===i?Ie?0:d.length:ni(kn[9]-Et,0),!_e&&v&(ve|se)&&(v&=~(ve|se)),!v||v==m)var rr=k2(d,v,x);else v==ve||v==se?rr=$c(d,v,_e):(v==De||v==(m|De))&&!q.length?rr=N2(d,v,x,P):rr=ya.apply(i,kn);var br=on?Yc:u1;return P2(br(rr,kn),d,v)}function Rf(d,v,x,P){return d===i||wo(d,Rn[x])&&!li.call(P,x)?v:d}function Af(d,v,x,P,q,ee){return bu(d)&&bu(v)&&(ee.set(v,d),ld(d,v,i,Af,ee),ee.delete(v)),d}function im(d){return Cc(d)?i:d}function Of(d,v,x,P,q,ee){var de=x&W,_e=d.length,Ie=v.length;if(_e!=Ie&&!(de&&Ie>_e))return!1;var Et=ee.get(d),St=ee.get(v);if(Et&&St)return Et==v&&St==d;var At=-1,on=!0,kn=x&ne?new mo:i;for(ee.set(d,v),ee.set(v,d);++At<_e;){var rr=d[At],br=v[At];if(P)var ar=de?P(br,rr,At,v,d,ee):P(rr,br,At,d,v,ee);if(ar!==i){if(ar)continue;on=!1;break}if(kn){if(!Cr(v,function(ui,di){if(!nl(kn,di)&&(rr===ui||q(rr,ui,x,P,ee)))return kn.push(di)})){on=!1;break}}else if(!(rr===br||q(rr,br,x,P,ee))){on=!1;break}}return ee.delete(d),ee.delete(v),on}function Eh(d,v,x,P,q,ee,de){switch(x){case Zo:if(d.byteLength!=v.byteLength||d.byteOffset!=v.byteOffset)return!1;d=d.buffer,v=v.buffer;case Jo:return!(d.byteLength!=v.byteLength||!ee(new A0(d),new A0(v)));case an:case Mn:case jt:return wo(+d,+v);case ln:return d.name==v.name&&d.message==v.message;case zr:case wu:return d==v+\"\";case w:var _e=Tu;case Xt:var Ie=P&W;if(_e||(_e=Z0),d.size!=v.size&&!Ie)return!1;var Et=de.get(d);if(Et)return Et==v;P|=ne,de.set(d,v);var St=Of(_e(d),_e(v),P,q,ee,de);return de.delete(d),St;case d0:if(Ar)return Ar.call(d)==Ar.call(v)}return!1}function um(d,v,x,P,q,ee){var de=x&W,_e=n1(d),Ie=_e.length,Et=n1(v),St=Et.length;if(Ie!=St&&!de)return!1;for(var At=Ie;At--;){var on=_e[At];if(!(de?on in v:li.call(v,on)))return!1}var kn=ee.get(d),rr=ee.get(v);if(kn&&rr)return kn==v&&rr==d;var br=!0;ee.set(d,v),ee.set(v,d);for(var ar=de;++At<Ie;){on=_e[At];var ui=d[on],di=v[on];if(P)var jl=de?P(di,ui,on,v,d,ee):P(ui,di,on,d,v,ee);if(!(jl===i?ui===di||q(ui,di,x,P,ee):jl)){br=!1;break}ar||(ar=on==\"constructor\")}if(br&&!ar){var Zi=d.constructor,lo=v.constructor;Zi!=lo&&\"constructor\"in d&&\"constructor\"in v&&!(typeof Zi==\"function\"&&Zi instanceof Zi&&typeof lo==\"function\"&&lo instanceof lo)&&(br=!1)}return ee.delete(d),ee.delete(v),br}function fl(d){return o1(F2(d,i,a1),d+\"\")}function n1(d){return ce(d,N0,uo)}function sr(d){return ce(d,dn,Ka)}var qn=Qt?function(d){return Qt.get(d)}:Ip;function Ho(d){for(var v=d.name+\"\",x=On[v],P=li.call(On,v)?x.length:0;P--;){var q=x[P],ee=q.func;if(ee==null||ee==d)return q.name}return v}function yr(d){var v=li.call(Y,\"placeholder\")?Y:d;return v.placeholder}function Vn(){var d=Y.iteratee||Np;return d=d===Np?Cu:d,arguments.length?d(arguments[0],arguments[1]):d}function cl(d,v){var x=d.__data__;return Yr(v)?x[typeof v==\"string\"?\"string\":\"hash\"]:x.map}function jn(d){for(var v=N0(d),x=v.length;x--;){var P=v[x],q=d[P];v[x]=[P,q,Lf(q)]}return v}function _o(d,v){var x=Io(d,v);return ur(x)?x:i}function gc(d){var v=li.call(d,Zu),x=d[Zu];try{d[Zu]=i;var P=!0}catch(ee){}var q=Vu.call(d);return P&&(v?d[Zu]=x:delete d[Zu]),q}var uo=Rr?function(d){return d==null?[]:(d=xn(d),It(Rr(d),function(v){return B0.call(d,v)}))}:Bp,Ka=Rr?function(d){for(var v=[];d;)Dn(v,uo(d)),d=rl(d);return v}:Bp,Iu=mt;(ae&&Iu(new ae(new ArrayBuffer(1)))!=Zo||re&&Iu(new re)!=w||Fe&&Iu(Fe.resolve())!=jr||Ae&&Iu(new Ae)!=Xt||st&&Iu(new st)!=Qo)&&(Iu=function(d){var v=mt(d),x=v==vr?d.constructor:i,P=x?Ea(x):\"\";if(P)switch(P){case Sn:return Zo;case _n:return w;case Tn:return jr;case ir:return Xt;case Bt:return Qo}return v});function rs(d,v,x){for(var P=-1,q=x.length;++P<q;){var ee=x[P],de=ee.size;switch(ee.type){case\"drop\":d+=de;break;case\"dropRight\":v-=de;break;case\"take\":v=Kn(v,d+de);break;case\"takeRight\":d=ni(d,v-de);break}}return{start:d,end:v}}function Mf(d){var v=d.match(Wt);return v?v[1].split(Au):[]}function _c(d,v,x){v=Ws(v,d);for(var P=-1,q=v.length,ee=!1;++P<q;){var de=Ll(v[P]);if(!(ee=d!=null&&x(d,de)))break;d=d[de]}return ee||++P!=q?ee:(q=d==null?0:d.length,!!q&&Fd(q)&&Eo(de,q)&&(tr(d)||dl(d)))}function Cs(d){var v=d.length,x=new d.constructor(v);return v&&typeof d[0]==\"string\"&&li.call(d,\"index\")&&(x.index=d.index,x.input=d.input),x}function Ec(d){return typeof d.constructor==\"function\"&&!Nf(d)?ri(rl(d)):{}}function Dh(d,v,x){var P=d.constructor;switch(v){case Jo:return mc(d);case an:case Mn:return new P(+d);case Zo:return pd(d,x);case qt:case xi:case lu:case mi:case Dr:case $o:case G0:case Uu:case Y0:return Zc(d,x);case w:return new P;case jt:case wu:return new P(d);case zr:return yh(d);case Xt:return new P;case d0:return Tf(d)}}function cn(d,v){var x=v.length;if(!x)return d;var P=x-1;return v[P]=(x>1?\"& \":\"\")+v[P],v=v.join(x>2?\", \":\" \"),d.replace(gi,`{\n/* [wrapped with `+v+`] */\n`)}function is(d){return tr(d)||dl(d)||!!(ho&&d&&d[ho])}function Eo(d,v){var x=typeof d;return v=v==null?Jt:v,!!v&&(x==\"number\"||x!=\"symbol\"&&Is.test(d))&&d>-1&&d%1==0&&d<v}function oo(d,v,x){if(!bu(x))return!1;var P=typeof v;return(P==\"number\"?pl(x)&&Eo(v,x.length):P==\"string\"&&v in x)?wo(x[v],d):!1}function Ji(d,v){if(tr(d))return!1;var x=typeof d;return x==\"number\"||x==\"symbol\"||x==\"boolean\"||d==null||bl(d)?!0:Ri.test(d)||!Hr.test(d)||v!=null&&d in xn(v)}function Yr(d){var v=typeof d;return v==\"string\"||v==\"number\"||v==\"symbol\"||v==\"boolean\"?d!==\"__proto__\":d===null}function kf(d){var v=Ho(d),x=Y[v];if(typeof x!=\"function\"||!(v in at.prototype))return!1;if(d===x)return!0;var P=qn(x);return!!P&&d===P[0]}function om(d){return!!zs&&zs in d}var Nl=x0?xa:Up;function Nf(d){var v=d&&d.constructor,x=typeof v==\"function\"&&v.prototype||Rn;return d===x}function Lf(d){return d===d&&!bu(d)}function gd(d,v){return function(x){return x==null?!1:x[d]===v&&(v!==i||d in xn(x))}}function _d(d){var v=Rd(d,function(P){return x.size===L&&x.clear(),P}),x=v.cache;return v}function Dc(d,v){var x=d[1],P=v[1],q=x|P,ee=q<(m|he|me),de=P==me&&x==ve||P==me&&x==ie&&d[7].length<=v[8]||P==(me|ie)&&v[7].length<=v[8]&&x==ve;if(!(ee||de))return d;P&m&&(d[2]=v[2],q|=x&m?0:Ee);var _e=v[3];if(_e){var Ie=d[3];d[3]=Ie?Vs(Ie,_e,v[4]):_e,d[4]=Ie?C0(d[3],O):v[4]}return _e=v[5],_e&&(Ie=d[5],d[5]=Ie?ma(Ie,_e,v[6]):_e,d[6]=Ie?C0(d[5],O):v[6]),_e=v[7],_e&&(d[7]=_e),P&me&&(d[8]=d[8]==null?v[8]:Kn(d[8],v[8])),d[9]==null&&(d[9]=v[9]),d[0]=v[0],d[1]=q,d}function r1(d){var v=[];if(d!=null)for(var x in xn(d))v.push(x);return v}function Xa(d){return Vu.call(d)}function F2(d,v,x){return v=ni(v===i?d.length-1:v,0),function(){for(var P=arguments,q=-1,ee=ni(P.length-v,0),de=Ye(ee);++q<ee;)de[q]=P[v+q];q=-1;for(var _e=Ye(v+1);++q<v;)_e[q]=P[q];return _e[v]=x(de),ue(d,this,_e)}}function Ed(d,v){return v.length<2?d:J(d,ll(v,0,-1))}function i1(d,v){for(var x=d.length,P=Kn(v.length,x),q=iu(d);P--;){var ee=v[P];d[P]=Eo(ee,x)?q[ee]:i}return d}function Ff(d,v){if(!(v===\"constructor\"&&typeof d[v]==\"function\")&&v!=\"__proto__\")return d[v]}var u1=Dd(Yc),Qa=gf||function(d,v){return ji.setTimeout(d,v)},o1=Dd(C2);function P2(d,v,x){var P=v+\"\";return o1(d,cn(P,wh(Mf(P),x)))}function Dd(d){var v=0,x=0;return function(){var P=e0(),q=gt-(P-x);if(x=P,q>0){if(++v>=yt)return arguments[0]}else v=0;return d.apply(i,arguments)}}function wc(d,v){var x=-1,P=d.length,q=P-1;for(v=v===i?P:v;++x<v;){var ee=ad(x,q),de=d[ee];d[ee]=d[x],d[x]=de}return d.length=v,d}var l1=_d(function(d){var v=[];return d.charCodeAt(0)===46&&v.push(\"\"),d.replace(K0,function(x,P,q,ee){v.push(q?ee.replace(Yi,\"$1\"):P||x)}),v});function Ll(d){if(typeof d==\"string\"||bl(d))return d;var v=d+\"\";return v==\"0\"&&1/d==-Ft?\"-0\":v}function Ea(d){if(d!=null){try{return Fu.call(d)}catch(v){}try{return d+\"\"}catch(v){}}return\"\"}function wh(d,v){return nt(ze,function(x){var P=\"_.\"+x[0];v&x[1]&&!sn(d,P)&&d.push(P)}),d.sort()}function I2(d){if(d instanceof at)return d.clone();var v=new Vr(d.__wrapped__,d.__chain__);return v.__actions__=iu(d.__actions__),v.__index__=d.__index__,v.__values__=d.__values__,v}function b2(d,v,x){(x?oo(d,v,x):v===i)?v=1:v=ni(Mr(v),0);var P=d==null?0:d.length;if(!P||v<1)return[];for(var q=0,ee=0,de=Ye($u(P/v));q<P;)de[ee++]=ll(d,q,q+=v);return de}function Sh(d){for(var v=-1,x=d==null?0:d.length,P=0,q=[];++v<x;){var ee=d[v];ee&&(q[P++]=ee)}return q}function wd(){var d=arguments.length;if(!d)return[];for(var v=Ye(d-1),x=arguments[0],P=d;P--;)v[P-1]=arguments[P];return Dn(tr(x)?iu(x):[x],qi(v,1))}var Th=Ir(function(d,v){return l0(d)?Al(d,qi(v,1,l0,!0)):[]}),Fl=Ir(function(d,v){var x=Pl(v);return l0(x)&&(x=i),l0(d)?Al(d,qi(v,1,l0,!0),Vn(x,2)):[]}),us=Ir(function(d,v){var x=Pl(v);return l0(x)&&(x=i),l0(d)?Al(d,qi(v,1,l0,!0),i,x):[]});function xs(d,v,x){var P=d==null?0:d.length;return P?(v=x||v===i?1:Mr(v),ll(d,v<0?0:v,P)):[]}function Gs(d,v,x){var P=d==null?0:d.length;return P?(v=x||v===i?1:Mr(v),v=P-v,ll(d,0,v<0?0:v)):[]}function B2(d,v){return d&&d.length?hc(d,Vn(v,3),!0,!0):[]}function Ch(d,v){return d&&d.length?hc(d,Vn(v,3),!0):[]}function U2(d,v,x,P){var q=d==null?0:d.length;return q?(x&&typeof x!=\"number\"&&oo(d,v,x)&&(x=0,P=q),pc(d,v,x,P)):[]}function j2(d,v,x){var P=d==null?0:d.length;if(!P)return-1;var q=x==null?0:Mr(x);return q<0&&(q=ni(P+q,0)),it(d,Vn(v,3),q)}function s1(d,v,x){var P=d==null?0:d.length;if(!P)return-1;var q=P-1;return x!==i&&(q=Mr(x),q=x<0?ni(P+q,0):Kn(q,P-1)),it(d,Vn(v,3),q,!0)}function a1(d){var v=d==null?0:d.length;return v?qi(d,1):[]}function xh(d){var v=d==null?0:d.length;return v?qi(d,Ft):[]}function z2(d,v){var x=d==null?0:d.length;return x?(v=v===i?1:Mr(v),qi(d,v)):[]}function H2(d){for(var v=-1,x=d==null?0:d.length,P={};++v<x;){var q=d[v];P[q[0]]=q[1]}return P}function Rs(d){return d&&d.length?d[0]:i}function Ja(d,v,x){var P=d==null?0:d.length;if(!P)return-1;var q=x==null?0:Mr(x);return q<0&&(q=ni(P+q,0)),Dt(d,v,q)}function Rh(d){var v=d==null?0:d.length;return v?ll(d,0,-1):[]}var du=Ir(function(d){var v=Lt(d,Xc);return v.length&&v[0]===d[0]?cu(v):[]}),f1=Ir(function(d){var v=Pl(d),x=Lt(d,Xc);return v===Pl(x)?v=i:x.pop(),x.length&&x[0]===d[0]?cu(x,Vn(v,2)):[]}),Ah=Ir(function(d){var v=Pl(d),x=Lt(d,Xc);return v=typeof v==\"function\"?v:i,v&&x.pop(),x.length&&x[0]===d[0]?cu(x,i,v):[]});function c1(d,v){return d==null?\"\":fu.call(d,v)}function Pl(d){var v=d==null?0:d.length;return v?d[v-1]:i}function Oh(d,v,x){var P=d==null?0:d.length;if(!P)return-1;var q=P;return x!==i&&(q=Mr(x),q=q<0?ni(P+q,0):Kn(q,P-1)),v===v?$l(d,v,q):it(d,Pt,q,!0)}function q2(d,v){return d&&d.length?Vc(d,Mr(v)):i}var Mh=Ir(d1);function d1(d,v){return d&&d.length&&v&&v.length?Ml(d,v):d}function Il(d,v,x){return d&&d.length&&v&&v.length?Ml(d,v,Vn(x,2)):d}function Za(d,v,x){return d&&d.length&&v&&v.length?Ml(d,v,i,x):d}var Da=fl(function(d,v){var x=d==null?0:d.length,P=qa(d,v);return sd(d,Lt(v,function(q){return Eo(q,x)?+q:q}).sort(gh)),P});function W2(d,v){var x=[];if(!(d&&d.length))return x;var P=-1,q=[],ee=d.length;for(v=Vn(v,3);++P<ee;){var de=d[P];v(de,P,d)&&(x.push(de),q.push(P))}return sd(d,q),x}function V2(d){return d==null?d:Fn.call(d)}function lm(d,v,x){var P=d==null?0:d.length;return P?(x&&typeof x!=\"number\"&&oo(d,v,x)?(v=0,x=P):(v=v==null?0:Mr(v),x=x===i?P:Mr(x)),ll(d,v,x)):[]}function G2(d,v){return Sf(d,v)}function kh(d,v,x){return Kc(d,v,Vn(x,2))}function Nh(d,v){var x=d==null?0:d.length;if(x){var P=Sf(d,v);if(P<x&&wo(d[P],v))return P}return-1}function Y2(d,v){return Sf(d,v,!0)}function sm(d,v,x){return Kc(d,v,Vn(x,2),!0)}function am(d,v){var x=d==null?0:d.length;if(x){var P=Sf(d,v,!0)-1;if(wo(d[P],v))return P}return-1}function Lh(d){return d&&d.length?x2(d):[]}function fm(d,v){return d&&d.length?x2(d,Vn(v,2)):[]}function K2(d){var v=d==null?0:d.length;return v?ll(d,1,v):[]}function p1(d,v,x){return d&&d.length?(v=x||v===i?1:Mr(v),ll(d,0,v<0?0:v)):[]}function h1(d,v,x){var P=d==null?0:d.length;return P?(v=x||v===i?1:Mr(v),v=P-v,ll(d,v<0?0:v,P)):[]}function v1(d,v){return d&&d.length?hc(d,Vn(v,3),!1,!0):[]}function wa(d,v){return d&&d.length?hc(d,Vn(v,3)):[]}var X2=Ir(function(d){return ha(qi(d,1,l0,!0))}),Ys=Ir(function(d){var v=Pl(d);return l0(v)&&(v=i),ha(qi(d,1,l0,!0),Vn(v,2))}),Ks=Ir(function(d){var v=Pl(d);return v=typeof v==\"function\"?v:i,ha(qi(d,1,l0,!0),i,v)});function Xs(d){return d&&d.length?ha(d):[]}function Q2(d,v){return d&&d.length?ha(d,Vn(v,2)):[]}function Sa(d,v){return v=typeof v==\"function\"?v:i,d&&d.length?ha(d,i,v):[]}function m1(d){if(!(d&&d.length))return[];var v=0;return d=It(d,function(x){if(l0(x))return v=ni(x.length,v),!0}),T0(v,function(x){return Lt(d,fn(x))})}function Sd(d,v){if(!(d&&d.length))return[];var x=m1(d);return v==null?x:Lt(x,function(P){return ue(v,i,P)})}var Sc=Ir(function(d,v){return l0(d)?Al(d,v):[]}),J2=Ir(function(d){return O2(It(d,l0))}),Do=Ir(function(d){var v=Pl(d);return l0(v)&&(v=i),O2(It(d,l0),Vn(v,2))}),Fh=Ir(function(d){var v=Pl(d);return v=typeof v==\"function\"?v:i,O2(It(d,l0),i,v)}),Ph=Ir(m1);function Ih(d,v){return dd(d||[],v||[],Ss)}function bh(d,v){return dd(d||[],v||[],Ga)}var cm=Ir(function(d){var v=d.length,x=v>1?d[v-1]:i;return x=typeof x==\"function\"?(d.pop(),x):i,Sd(d,x)});function Bh(d){var v=Y(d);return v.__chain__=!0,v}function Uh(d,v){return v(d),d}function y1(d,v){return v(d)}var Z2=fl(function(d){var v=d.length,x=v?d[0]:0,P=this.__wrapped__,q=function(ee){return qa(ee,d)};return v>1||this.__actions__.length||!(P instanceof at)||!Eo(x)?this.thru(q):(P=P.slice(x,+x+(v?1:0)),P.__actions__.push({func:y1,args:[q],thisArg:i}),new Vr(P,this.__chain__).thru(function(ee){return v&&!ee.length&&ee.push(i),ee}))});function jh(){return Bh(this)}function $2(){return new Vr(this.value(),this.__chain__)}function zh(){this.__values__===i&&(this.__values__=lv(this.value()));var d=this.__index__>=this.__values__.length,v=d?i:this.__values__[this.__index__++];return{done:d,value:v}}function dm(){return this}function pm(d){for(var v,x=this;x instanceof ii;){var P=I2(x);P.__index__=0,P.__values__=i,v?q.__wrapped__=P:v=P;var q=P;x=x.__wrapped__}return q.__wrapped__=d,v}function Pf(){var d=this.__wrapped__;if(d instanceof at){var v=d;return this.__actions__.length&&(v=new at(this)),v=v.reverse(),v.__actions__.push({func:y1,args:[V2],thisArg:i}),new Vr(v,this.__chain__)}return this.thru(V2)}function If(){return mh(this.__wrapped__,this.__actions__)}var Td=Ya(function(d,v,x){li.call(d,x)?++d[x]:Gu(d,x,1)});function hm(d,v,x){var P=tr(d)?Mt:ud;return x&&oo(d,v,x)&&(v=i),P(d,Vn(v,3))}function ep(d,v){var x=tr(d)?It:Wc;return x(d,Vn(v,3))}var Cd=kl(j2),tp=kl(s1);function Hh(d,v){return qi(g1(d,v),1)}function np(d,v){return qi(g1(d,v),Ft)}function qh(d,v,x){return x=x===i?1:Mr(x),qi(g1(d,v),x)}function Wh(d,v){var x=tr(d)?nt:Ts;return x(d,Vn(v,3))}function rp(d,v){var x=tr(d)?Ct:da;return x(d,Vn(v,3))}var vm=Ya(function(d,v,x){li.call(d,x)?d[x].push(v):Gu(d,x,[v])});function mm(d,v,x,P){d=pl(d)?d:Nc(d),x=x&&!P?Mr(x):0;var q=d.length;return x<0&&(x=ni(q+x,0)),w1(d)?x<=q&&d.indexOf(v,x)>-1:!!q&&Dt(d,v,x)>-1}var ym=Ir(function(d,v,x){var P=-1,q=typeof v==\"function\",ee=pl(d)?Ye(d.length):[];return Ts(d,function(de){ee[++P]=q?ue(v,de,x):Ol(de,v,x)}),ee}),Vh=Ya(function(d,v,x){Gu(d,x,v)});function g1(d,v){var x=tr(d)?Lt:w2;return x(d,Vn(v,3))}function gm(d,v,x,P){return d==null?[]:(tr(v)||(v=v==null?[]:[v]),x=P?i:x,tr(x)||(x=x==null?[]:[x]),yo(d,v,x))}var ip=Ya(function(d,v,x){d[x?0:1].push(v)},function(){return[[],[]]});function up(d,v,x){var P=tr(d)?dr:wr,q=arguments.length<3;return P(d,Vn(v,4),x,q,Ts)}function _m(d,v,x){var P=tr(d)?er:wr,q=arguments.length<3;return P(d,Vn(v,4),x,q,da)}function Em(d,v){var x=tr(d)?It:Wc;return x(d,Ad(Vn(v,3)))}function Gh(d){var v=tr(d)?za:fd;return v(d)}function Dm(d,v,x){(x?oo(d,v,x):v===i)?v=1:v=Mr(v);var P=tr(d)?Ha:cd;return P(d,v)}function wm(d){var v=tr(d)?ca:ol;return v(d)}function op(d){if(d==null)return 0;if(pl(d))return w1(d)?tu(d):d.length;var v=Iu(d);return v==w||v==Xt?d.size:Wa(d).length}function lp(d,v,x){var P=tr(d)?Cr:hh;return x&&oo(d,v,x)&&(v=i),P(d,Vn(v,3))}var Ta=Ir(function(d,v){if(d==null)return[];var x=v.length;return x>1&&oo(d,v[0],v[1])?v=[]:x>2&&oo(v[0],v[1],v[2])&&(v=[v[0]]),yo(d,qi(v,1),[])}),_1=aa||function(){return ji.Date.now()};function sp(d,v){if(typeof v!=\"function\")throw new ti(_);return d=Mr(d),function(){if(--d<1)return v.apply(this,arguments)}}function Yh(d,v,x){return v=x?i:v,v=d&&v==null?d.length:v,hn(d,me,i,i,i,i,v)}function xd(d,v){var x;if(typeof v!=\"function\")throw new ti(_);return d=Mr(d),function(){return--d>0&&(x=v.apply(this,arguments)),d<=1&&(v=i),x}}var E1=Ir(function(d,v,x){var P=m;if(x.length){var q=C0(x,yr(E1));P|=De}return hn(d,P,v,x,q)}),Kh=Ir(function(d,v,x){var P=m|he;if(x.length){var q=C0(x,yr(Kh));P|=De}return hn(v,P,d,x,q)});function ap(d,v,x){v=x?i:v;var P=hn(d,ve,i,i,i,i,i,v);return P.placeholder=ap.placeholder,P}function Xh(d,v,x){v=x?i:v;var P=hn(d,se,i,i,i,i,i,v);return P.placeholder=Xh.placeholder,P}function fp(d,v,x){var P,q,ee,de,_e,Ie,Et=0,St=!1,At=!1,on=!0;if(typeof d!=\"function\")throw new ti(_);v=hl(v)||0,bu(x)&&(St=!!x.leading,At=\"maxWait\"in x,ee=At?ni(hl(x.maxWait)||0,v):ee,on=\"trailing\"in x?!!x.trailing:on);function kn(a0){var Os=P,To=q;return P=q=i,Et=a0,de=d.apply(To,Os),de}function rr(a0){return Et=a0,_e=Qa(ui,v),St?kn(a0):de}function br(a0){var Os=a0-Ie,To=a0-Et,Av=v-Os;return At?Kn(Av,ee-To):Av}function ar(a0){var Os=a0-Ie,To=a0-Et;return Ie===i||Os>=v||Os<0||At&&To>=ee}function ui(){var a0=_1();if(ar(a0))return di(a0);_e=Qa(ui,br(a0))}function di(a0){return _e=i,on&&P?kn(a0):(P=q=i,de)}function jl(){_e!==i&&Jc(_e),Et=0,P=Ie=q=_e=i}function Zi(){return _e===i?de:di(_1())}function lo(){var a0=_1(),Os=ar(a0);if(P=arguments,q=this,Ie=a0,Os){if(_e===i)return rr(Ie);if(At)return Jc(_e),_e=Qa(ui,v),kn(Ie)}return _e===i&&(_e=Qa(ui,v)),de}return lo.cancel=jl,lo.flush=Zi,lo}var Qh=Ir(function(d,v){return dc(d,1,v)}),Jh=Ir(function(d,v,x){return dc(d,hl(v)||0,x)});function cp(d){return hn(d,Oe)}function Rd(d,v){if(typeof d!=\"function\"||v!=null&&typeof v!=\"function\")throw new ti(_);var x=function(){var P=arguments,q=v?v.apply(this,P):P[0],ee=x.cache;if(ee.has(q))return ee.get(q);var de=d.apply(this,P);return x.cache=ee.set(q,de)||ee,de};return x.cache=new(Rd.Cache||U0),x}Rd.Cache=U0;function Ad(d){if(typeof d!=\"function\")throw new ti(_);return function(){var v=arguments;switch(v.length){case 0:return!d.call(this);case 1:return!d.call(this,v[0]);case 2:return!d.call(this,v[0],v[1]);case 3:return!d.call(this,v[0],v[1],v[2])}return!d.apply(this,v)}}function H0(d){return xd(2,d)}var Od=M2(function(d,v){v=v.length==1&&tr(v[0])?Lt(v[0],_i(Vn())):Lt(qi(v,1),_i(Vn()));var x=v.length;return Ir(function(P){for(var q=-1,ee=Kn(P.length,x);++q<ee;)P[q]=v[q].call(this,P[q]);return ue(d,this,P)})}),Ca=Ir(function(d,v){var x=C0(v,yr(Ca));return hn(d,De,i,v,x)}),$a=Ir(function(d,v){var x=C0(v,yr($a));return hn(d,pe,i,v,x)}),Md=fl(function(d,v){return hn(d,ie,i,i,i,v)});function kd(d,v){if(typeof d!=\"function\")throw new ti(_);return v=v===i?v:Mr(v),Ir(d,v)}function dp(d,v){if(typeof d!=\"function\")throw new ti(_);return v=v==null?0:ni(Mr(v),0),Ir(function(x){var P=x[v],q=va(x,0,v);return P&&Dn(q,P),ue(d,this,q)})}function Nd(d,v,x){var P=!0,q=!0;if(typeof d!=\"function\")throw new ti(_);return bu(x)&&(P=\"leading\"in x?!!x.leading:P,q=\"trailing\"in x?!!x.trailing:q),fp(d,v,{leading:P,maxWait:v,trailing:q})}function Zh(d){return Yh(d,1)}function Sm(d,v){return Ca(Qc(v),d)}function $h(){if(!arguments.length)return[];var d=arguments[0];return tr(d)?d:[d]}function pp(d){return j0(d,H)}function hp(d,v){return v=typeof v==\"function\"?v:i,j0(d,H,v)}function vp(d){return j0(d,C|H)}function Tm(d,v){return v=typeof v==\"function\"?v:i,j0(d,C|H,v)}function Cm(d,v){return v==null||qc(d,v,N0(v))}function wo(d,v){return d===v||d!==d&&v!==v}var Ld=md(xt),xm=md(function(d,v){return d>=v}),dl=u0(function(){return arguments}())?u0:function(d){return Yu(d)&&li.call(d,\"callee\")&&!B0.call(d,\"callee\")},tr=Ye.isArray,Qs=ge?_i(ge):Ve;function pl(d){return d!=null&&Fd(d.length)&&!xa(d)}function l0(d){return Yu(d)&&pl(d)}function ev(d){return d===!0||d===!1||Yu(d)&&mt(d)==an}var Js=to||Up,mp=Re?_i(Re):Ue;function Rm(d){return Yu(d)&&d.nodeType===1&&!Cc(d)}function tv(d){if(d==null)return!0;if(pl(d)&&(tr(d)||typeof d==\"string\"||typeof d.splice==\"function\"||Js(d)||Ra(d)||dl(d)))return!d.length;var v=Iu(d);if(v==w||v==Xt)return!d.size;if(Nf(d))return!Wa(d).length;for(var x in d)if(li.call(d,x))return!1;return!0}function yp(d,v){return lt(d,v)}function Am(d,v,x){x=typeof x==\"function\"?x:i;var P=x?x(d,v):i;return P===i?lt(d,v,i,x):!!P}function gp(d){if(!Yu(d))return!1;var v=mt(d);return v==ln||v==lr||typeof d.message==\"string\"&&typeof d.name==\"string\"&&!Cc(d)}function Tc(d){return typeof d==\"number\"&&nu(d)}function xa(d){if(!bu(d))return!1;var v=mt(d);return v==Vt||v==Er||v==nn||v==fr}function _p(d){return typeof d==\"number\"&&d==Mr(d)}function Fd(d){return typeof d==\"number\"&&d>-1&&d%1==0&&d<=Jt}function bu(d){var v=typeof d;return d!=null&&(v==\"object\"||v==\"function\")}function Yu(d){return d!=null&&typeof d==\"object\"}var Ep=Z?_i(Z):Wn;function Dp(d,v){return d===v||si(d,v,jn(v))}function nv(d,v,x){return x=typeof x==\"function\"?x:i,si(d,v,jn(v),x)}function Om(d){return rv(d)&&d!=+d}function Mm(d){if(Nl(d))throw new Kt(p);return ur(d)}function km(d){return d===null}function Pd(d){return d==null}function rv(d){return typeof d==\"number\"||Yu(d)&&mt(d)==jt}function Cc(d){if(!Yu(d)||mt(d)!=vr)return!1;var v=rl(d);if(v===null)return!0;var x=li.call(v,\"constructor\")&&v.constructor;return typeof x==\"function\"&&x instanceof x&&Fu.call(x)==sa}var D1=ke?_i(ke):ci;function Nm(d){return _p(d)&&d>=-Jt&&d<=Jt}var Id=Qe?_i(Qe):Qi;function w1(d){return typeof d==\"string\"||!tr(d)&&Yu(d)&&mt(d)==wu}function bl(d){return typeof d==\"symbol\"||Yu(d)&&mt(d)==d0}var Ra=ht?_i(ht):Gr;function iv(d){return d===i}function Lm(d){return Yu(d)&&Iu(d)==Qo}function uv(d){return Yu(d)&&mt(d)==Fs}var ov=md(od),Fm=md(function(d,v){return d<=v});function lv(d){if(!d)return[];if(pl(d))return w1(d)?ei(d):iu(d);if(Pu&&d[Pu])return Qu(d[Pu]());var v=Iu(d),x=v==w?Tu:v==Xt?Z0:Nc;return x(d)}function Aa(d){if(!d)return d===0?d:0;if(d=hl(d),d===Ft||d===-Ft){var v=d<0?-1:1;return v*rt}return d===d?d:0}function Mr(d){var v=Aa(d),x=v%1;return v===v?x?v-x:v:0}function wp(d){return d?r0(Mr(d),0,fe):0}function hl(d){if(typeof d==\"number\")return d;if(bl(d))return Q;if(bu(d)){var v=typeof d.valueOf==\"function\"?d.valueOf():d;d=bu(v)?v+\"\":v}if(typeof d!=\"string\")return d===0?d:+d;d=Lu(d);var x=so.test(d);return x||ko.test(d)?Bs(d.slice(2),x?2:8):ai.test(d)?Q:+d}function gu(d){return M0(d,dn(d))}function S1(d){return d?r0(Mr(d),-Jt,Jt):d===0?d:0}function Ui(d){return d==null?\"\":sl(d)}var Sp=io(function(d,v){if(Nf(v)||pl(v)){M0(v,N0(v),d);return}for(var x in v)li.call(v,x)&&Ss(d,x,v[x])}),bd=io(function(d,v){M0(v,dn(v),d)}),So=io(function(d,v,x,P){M0(v,dn(v),d,P)}),As=io(function(d,v,x,P){M0(v,N0(v),d,P)}),bf=fl(qa);function Bd(d,v){var x=ri(d);return v==null?x:Ef(x,v)}var Tp=Ir(function(d,v){d=xn(d);var x=-1,P=v.length,q=P>2?v[2]:i;for(q&&oo(v[0],v[1],q)&&(P=1);++x<P;)for(var ee=v[x],de=dn(ee),_e=-1,Ie=de.length;++_e<Ie;){var Et=de[_e],St=d[Et];(St===i||wo(St,Rn[Et])&&!li.call(d,Et))&&(d[Et]=ee[Et])}return d}),T1=Ir(function(d){return d.push(i,Af),ue(Oc,i,d)});function C1(d,v){return Lr(d,Vn(v,3),R)}function Cp(d,v){return Lr(d,Vn(v,3),F)}function nr(d,v){return d==null?d:g(d,Vn(v,3),dn)}function vl(d,v){return d==null?d:y(d,Vn(v,3),dn)}function Gn(d,v){return d&&R(d,Vn(v,3))}function q0(d,v){return d&&F(d,Vn(v,3))}function k0(d){return d==null?[]:b(d,N0(d))}function Ud(d){return d==null?[]:b(d,dn(d))}function Bl(d,v,x){var P=d==null?i:J(d,v);return P===i?x:P}function x1(d,v){return d!=null&&_c(d,v,kt)}function xc(d,v){return d!=null&&_c(d,v,xr)}var Rc=hd(function(d,v,x){v!=null&&typeof v.toString!=\"function\"&&(v=Vu.call(v)),d[v]=x},Qd(s0)),jd=hd(function(d,v,x){v!=null&&typeof v.toString!=\"function\"&&(v=Vu.call(v)),li.call(d,v)?d[v].push(x):d[v]=[x]},Vn),xp=Ir(Ol);function N0(d){return pl(d)?ja(d):Wa(d)}function dn(d){return pl(d)?ja(d,!0):Va(d)}function zd(d,v){var x={};return v=Vn(v,3),R(d,function(P,q,ee){Gu(x,v(P,q,ee),P)}),x}function Hd(d,v){var x={};return v=Vn(v,3),R(d,function(P,q,ee){Gu(x,q,v(P,q,ee))}),x}var Ac=io(function(d,v,x){ld(d,v,x)}),Oc=io(function(d,v,x,P){ld(d,v,x,P)}),Mc=fl(function(d,v){var x={};if(d==null)return x;var P=!1;v=Lt(v,function(ee){return ee=Ws(ee,d),P||(P=ee.length>1),ee}),M0(d,sr(d),x),P&&(x=j0(x,C|U|H,im));for(var q=v.length;q--;)R2(x,v[q]);return x});function R1(d,v){return ef(d,Ad(Vn(v)))}var Rp=fl(function(d,v){return d==null?{}:dh(d,v)});function ef(d,v){if(d==null)return{};var x=Lt(sr(d),function(P){return[P]});return v=Vn(v),ph(d,x,function(P,q){return v(P,q[0])})}function Pm(d,v,x){v=Ws(v,d);var P=-1,q=v.length;for(q||(q=1,d=i);++P<q;){var ee=d==null?i:d[Ll(v[P])];ee===i&&(P=q,ee=x),d=xa(ee)?ee.call(d):ee}return d}function kc(d,v,x){return d==null?d:Ga(d,v,x)}function qd(d,v,x,P){return P=typeof P==\"function\"?P:i,d==null?d:Ga(d,v,x,P)}var sv=yd(N0),A1=yd(dn);function Bf(d,v,x){var P=tr(d),q=P||Js(d)||Ra(d);if(v=Vn(v,4),x==null){var ee=d&&d.constructor;q?x=P?new ee:[]:bu(d)?x=xa(ee)?ri(rl(d)):{}:x={}}return(q?nt:R)(d,function(de,_e,Ie){return v(x,de,_e,Ie)}),x}function Uf(d,v){return d==null?!0:R2(d,v)}function O1(d,v,x){return d==null?d:A2(d,v,Qc(x))}function Ul(d,v,x,P){return P=typeof P==\"function\"?P:i,d==null?d:A2(d,v,Qc(x),P)}function Nc(d){return d==null?[]:Fo(d,N0(d))}function jf(d){return d==null?[]:Fo(d,dn(d))}function Im(d,v,x){return x===i&&(x=v,v=i),x!==i&&(x=hl(x),x=x===x?x:0),v!==i&&(v=hl(v),v=v===v?v:0),r0(hl(d),v,x)}function ml(d,v,x){return v=Aa(v),x===i?(x=v,v=0):x=Aa(x),d=hl(d),i0(d,v,x)}function Wd(d,v,x){if(x&&typeof x!=\"boolean\"&&oo(d,v,x)&&(v=x=i),x===i&&(typeof v==\"boolean\"?(x=v,v=i):typeof d==\"boolean\"&&(x=d,d=i)),d===i&&v===i?(d=0,v=1):(d=Aa(d),v===i?(v=d,d=0):v=Aa(v)),d>v){var P=d;d=v,v=P}if(x||d%1||v%1){var q=E0();return Kn(d+q*(v-d+ba(\"1e-\"+((q+\"\").length-1))),v)}return ad(d,v)}var Vd=Cf(function(d,v,x){return v=v.toLowerCase(),d+(x?qo(v):v)});function qo(d){return Mp(Ui(d).toLowerCase())}function Gd(d){return d=Ui(d),d&&d.replace($n,Po).replace(Q0,\"\")}function bm(d,v,x){d=Ui(d),v=sl(v);var P=d.length;x=x===i?P:r0(Mr(x),0,P);var q=x;return x-=v.length,x>=0&&d.slice(x,q)==v}function M1(d){return d=Ui(d),d&&Ps.test(d)?d.replace(su,ys):d}function Bm(d){return d=Ui(d),d&&en.test(d)?d.replace(yi,\"\\\\$&\"):d}var Um=Cf(function(d,v,x){return d+(x?\"-\":\"\")+v.toLowerCase()}),av=Cf(function(d,v,x){return d+(x?\" \":\"\")+v.toLowerCase()}),jm=_h(\"toLowerCase\");function fv(d,v,x){d=Ui(d),v=Mr(v);var P=v?tu(d):0;if(!v||P>=v)return d;var q=(v-P)/2;return ga(Es(q),x)+d+ga($u(q),x)}function zm(d,v,x){d=Ui(d),v=Mr(v);var P=v?tu(d):0;return v&&P<v?d+ga(v-P,x):d}function Hm(d,v,x){d=Ui(d),v=Mr(v);var P=v?tu(d):0;return v&&P<v?ga(v-P,x)+d:d}function qm(d,v,x){return x||v==null?v=0:v&&(v=+v),_0(Ui(d).replace(bn,\"\"),v||0)}function cv(d,v,x){return(x?oo(d,v,x):v===i)?v=1:v=Mr(v),Gc(Ui(d),v)}function Wm(){var d=arguments,v=Ui(d[0]);return d.length<3?v:v.replace(d[1],d[2])}var Ap=Cf(function(d,v,x){return d+(x?\"_\":\"\")+v.toLowerCase()});function Vm(d,v,x){return x&&typeof x!=\"number\"&&oo(d,v,x)&&(v=x=i),x=x===i?fe:x>>>0,x?(d=Ui(d),d&&(typeof v==\"string\"||v!=null&&!D1(v))&&(v=sl(v),!v&&bo(d))?va(ei(d),0,x):d.split(v,x)):[]}var zf=Cf(function(d,v,x){return d+(x?\" \":\"\")+Mp(v)});function dv(d,v,x){return d=Ui(d),x=x==null?0:r0(Mr(x),0,d.length),v=sl(v),d.slice(x,x+v.length)==v}function pv(d,v,x){var P=Y.templateSettings;x&&oo(d,v,x)&&(v=i),d=Ui(d),v=So({},v,P,Rf);var q=So({},v.imports,P.imports,Rf),ee=N0(q),de=Fo(q,ee),_e,Ie,Et=0,St=v.interpolate||el,At=\"__p += '\",on=yu((v.escape||el).source+\"|\"+St.source+\"|\"+(St===p0?Xl:el).source+\"|\"+(v.evaluate||el).source+\"|$\",\"g\"),kn=\"//# sourceURL=\"+(li.call(v,\"sourceURL\")?(v.sourceURL+\"\").replace(/\\s/g,\" \"):\"lodash.templateSources[\"+ ++ac+\"]\")+`\n`;d.replace(on,function(ar,ui,di,jl,Zi,lo){return di||(di=jl),At+=d.slice(Et,lo).replace(ao,js),ui&&(_e=!0,At+=`' +\n__e(`+ui+`) +\n'`),Zi&&(Ie=!0,At+=`';\n`+Zi+`;\n__p += '`),di&&(At+=`' +\n((__t = (`+di+`)) == null ? '' : __t) +\n'`),Et=lo+ar.length,ar}),At+=`';\n`;var rr=li.call(v,\"variable\")&&v.variable;if(!rr)At=`with (obj) {\n`+At+`\n}\n`;else if(X0.test(rr))throw new Kt(t);At=(Ie?At.replace(Xr,\"\"):At).replace(Ao,\"$1\").replace(Oo,\"$1;\"),At=\"function(\"+(rr||\"obj\")+`) {\n`+(rr?\"\":`obj || (obj = {});\n`)+\"var __t, __p = ''\"+(_e?\", __e = _.escape\":\"\")+(Ie?`, __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n`:`;\n`)+At+`return __p\n}`;var br=_v(function(){return pr(ee,kn+\"return \"+At).apply(i,de)});if(br.source=At,gp(br))throw br;return br}function hv(d){return Ui(d).toLowerCase()}function Yd(d){return Ui(d).toUpperCase()}function Kd(d,v,x){if(d=Ui(d),d&&(x||v===i))return Lu(d);if(!d||!(v=sl(v)))return d;var P=ei(d),q=ei(v),ee=hf(P,q),de=Sl(P,q)+1;return va(P,ee,de).join(\"\")}function Op(d,v,x){if(d=Ui(d),d&&(x||v===i))return d.slice(0,po(d)+1);if(!d||!(v=sl(v)))return d;var P=ei(d),q=Sl(P,ei(v))+1;return va(P,0,q).join(\"\")}function vv(d,v,x){if(d=Ui(d),d&&(x||v===i))return d.replace(bn,\"\");if(!d||!(v=sl(v)))return d;var P=ei(d),q=hf(P,ei(v));return va(P,q).join(\"\")}function Xd(d,v){var x=je,P=qe;if(bu(v)){var q=\"separator\"in v?v.separator:q;x=\"length\"in v?Mr(v.length):x,P=\"omission\"in v?sl(v.omission):P}d=Ui(d);var ee=d.length;if(bo(d)){var de=ei(d);ee=de.length}if(x>=ee)return d;var _e=x-tu(P);if(_e<1)return P;var Ie=de?va(de,0,_e).join(\"\"):d.slice(0,_e);if(q===i)return Ie+P;if(de&&(_e+=Ie.length-_e),D1(q)){if(d.slice(_e).search(q)){var Et,St=Ie;for(q.global||(q=yu(q.source,Ui(Mo.exec(q))+\"g\")),q.lastIndex=0;Et=q.exec(St);)var At=Et.index;Ie=Ie.slice(0,At===i?_e:At)}}else if(d.indexOf(sl(q),_e)!=_e){var on=Ie.lastIndexOf(q);on>-1&&(Ie=Ie.slice(0,on))}return Ie+P}function mv(d){return d=Ui(d),d&&ki.test(d)?d.replace(F0,Bi):d}var yv=Cf(function(d,v,x){return d+(x?\" \":\"\")+v.toUpperCase()}),Mp=_h(\"toUpperCase\");function gv(d,v,x){return d=Ui(d),v=x?i:v,v===i?gs(d)?yf(d):g0(d):d.match(v)||[]}var _v=Ir(function(d,v){try{return ue(d,i,v)}catch(x){return gp(x)?x:new Kt(x)}}),Gm=fl(function(d,v){return nt(v,function(x){x=Ll(x),Gu(d,x,E1(d[x],d))}),d});function Ev(d){var v=d==null?0:d.length,x=Vn();return d=v?Lt(d,function(P){if(typeof P[1]!=\"function\")throw new ti(_);return[x(P[0]),P[1]]}):[],Ir(function(P){for(var q=-1;++q<v;){var ee=d[q];if(ue(ee[0],this,P))return ue(ee[1],this,P)}})}function Ym(d){return Df(j0(d,C))}function Qd(d){return function(){return d}}function Dv(d,v){return d==null||d!==d?v:d}var kp=e1(),Km=e1(!0);function s0(d){return d}function Np(d){return Cu(typeof d==\"function\"?d:j0(d,C))}function Xm(d){return S2(j0(d,C))}function Qm(d,v){return wf(d,j0(v,C))}var Lp=Ir(function(d,v){return function(x){return Ol(x,d,v)}}),tf=Ir(function(d,v){return function(x){return Ol(d,x,v)}});function Fp(d,v,x){var P=N0(v),q=b(v,P);x==null&&!(bu(v)&&(q.length||!P.length))&&(x=v,v=d,d=this,q=b(v,N0(v)));var ee=!(bu(x)&&\"chain\"in x)||!!x.chain,de=xa(d);return nt(q,function(_e){var Ie=v[_e];d[_e]=Ie,de&&(d.prototype[_e]=function(){var Et=this.__chain__;if(ee||Et){var St=d(this.__wrapped__),At=St.__actions__=iu(this.__actions__);return At.push({func:Ie,args:arguments,thisArg:d}),St.__chain__=Et,St}return Ie.apply(d,Dn([this.value()],arguments))})}),d}function Pp(){return ji._===this&&(ji._=Xi),this}function Ip(){}function Jm(d){return d=Mr(d),Ir(function(v){return Vc(v,d)})}var Zm=Fr(Lt),wv=Fr(Mt),Hf=Fr(Cr);function bp(d){return Ji(d)?fn(Ll(d)):go(d)}function Sv(d){return function(v){return d==null?i:J(d,v)}}var $m=t1(),ey=t1(!0);function Bp(){return[]}function Up(){return!1}function ty(){return{}}function ny(){return\"\"}function Tv(){return!0}function jp(d,v){if(d=Mr(d),d<1||d>Jt)return[];var x=fe,P=Kn(d,fe);v=Vn(v),d-=fe;for(var q=T0(P,v);++x<d;)v(x);return q}function zp(d){return tr(d)?Lt(d,Ll):bl(d)?[d]:iu(l1(Ui(d)))}function Jd(d){var v=++Tl;return Ui(d)+v}var ry=vd(function(d,v){return d+v},0),k1=L2(\"ceil\"),iy=vd(function(d,v){return d/v},1),Cv=L2(\"floor\");function xv(d){return d&&d.length?pa(d,s0,xt):i}function uy(d,v){return d&&d.length?pa(d,Vn(v,2),xt):i}function qf(d){return un(d,s0)}function Hp(d,v){return un(d,Vn(v,2))}function Rv(d){return d&&d.length?pa(d,s0,od):i}function oy(d,v){return d&&d.length?pa(d,Vn(v,2),od):i}var ly=vd(function(d,v){return d*v},1),qp=L2(\"round\"),sy=vd(function(d,v){return d-v},0);function Zs(d){return d&&d.length?Nu(d,s0):0}function ay(d,v){return d&&d.length?Nu(d,Vn(v,2)):0}return Y.after=sp,Y.ary=Yh,Y.assign=Sp,Y.assignIn=bd,Y.assignInWith=So,Y.assignWith=As,Y.at=bf,Y.before=xd,Y.bind=E1,Y.bindAll=Gm,Y.bindKey=Kh,Y.castArray=$h,Y.chain=Bh,Y.chunk=b2,Y.compact=Sh,Y.concat=wd,Y.cond=Ev,Y.conforms=Ym,Y.constant=Qd,Y.countBy=Td,Y.create=Bd,Y.curry=ap,Y.curryRight=Xh,Y.debounce=fp,Y.defaults=Tp,Y.defaultsDeep=T1,Y.defer=Qh,Y.delay=Jh,Y.difference=Th,Y.differenceBy=Fl,Y.differenceWith=us,Y.drop=xs,Y.dropRight=Gs,Y.dropRightWhile=B2,Y.dropWhile=Ch,Y.fill=U2,Y.filter=ep,Y.flatMap=Hh,Y.flatMapDeep=np,Y.flatMapDepth=qh,Y.flatten=a1,Y.flattenDeep=xh,Y.flattenDepth=z2,Y.flip=cp,Y.flow=kp,Y.flowRight=Km,Y.fromPairs=H2,Y.functions=k0,Y.functionsIn=Ud,Y.groupBy=vm,Y.initial=Rh,Y.intersection=du,Y.intersectionBy=f1,Y.intersectionWith=Ah,Y.invert=Rc,Y.invertBy=jd,Y.invokeMap=ym,Y.iteratee=Np,Y.keyBy=Vh,Y.keys=N0,Y.keysIn=dn,Y.map=g1,Y.mapKeys=zd,Y.mapValues=Hd,Y.matches=Xm,Y.matchesProperty=Qm,Y.memoize=Rd,Y.merge=Ac,Y.mergeWith=Oc,Y.method=Lp,Y.methodOf=tf,Y.mixin=Fp,Y.negate=Ad,Y.nthArg=Jm,Y.omit=Mc,Y.omitBy=R1,Y.once=H0,Y.orderBy=gm,Y.over=Zm,Y.overArgs=Od,Y.overEvery=wv,Y.overSome=Hf,Y.partial=Ca,Y.partialRight=$a,Y.partition=ip,Y.pick=Rp,Y.pickBy=ef,Y.property=bp,Y.propertyOf=Sv,Y.pull=Mh,Y.pullAll=d1,Y.pullAllBy=Il,Y.pullAllWith=Za,Y.pullAt=Da,Y.range=$m,Y.rangeRight=ey,Y.rearg=Md,Y.reject=Em,Y.remove=W2,Y.rest=kd,Y.reverse=V2,Y.sampleSize=Dm,Y.set=kc,Y.setWith=qd,Y.shuffle=wm,Y.slice=lm,Y.sortBy=Ta,Y.sortedUniq=Lh,Y.sortedUniqBy=fm,Y.split=Vm,Y.spread=dp,Y.tail=K2,Y.take=p1,Y.takeRight=h1,Y.takeRightWhile=v1,Y.takeWhile=wa,Y.tap=Uh,Y.throttle=Nd,Y.thru=y1,Y.toArray=lv,Y.toPairs=sv,Y.toPairsIn=A1,Y.toPath=zp,Y.toPlainObject=gu,Y.transform=Bf,Y.unary=Zh,Y.union=X2,Y.unionBy=Ys,Y.unionWith=Ks,Y.uniq=Xs,Y.uniqBy=Q2,Y.uniqWith=Sa,Y.unset=Uf,Y.unzip=m1,Y.unzipWith=Sd,Y.update=O1,Y.updateWith=Ul,Y.values=Nc,Y.valuesIn=jf,Y.without=Sc,Y.words=gv,Y.wrap=Sm,Y.xor=J2,Y.xorBy=Do,Y.xorWith=Fh,Y.zip=Ph,Y.zipObject=Ih,Y.zipObjectDeep=bh,Y.zipWith=cm,Y.entries=sv,Y.entriesIn=A1,Y.extend=bd,Y.extendWith=So,Fp(Y,Y),Y.add=ry,Y.attempt=_v,Y.camelCase=Vd,Y.capitalize=qo,Y.ceil=k1,Y.clamp=Im,Y.clone=pp,Y.cloneDeep=vp,Y.cloneDeepWith=Tm,Y.cloneWith=hp,Y.conformsTo=Cm,Y.deburr=Gd,Y.defaultTo=Dv,Y.divide=iy,Y.endsWith=bm,Y.eq=wo,Y.escape=M1,Y.escapeRegExp=Bm,Y.every=hm,Y.find=Cd,Y.findIndex=j2,Y.findKey=C1,Y.findLast=tp,Y.findLastIndex=s1,Y.findLastKey=Cp,Y.floor=Cv,Y.forEach=Wh,Y.forEachRight=rp,Y.forIn=nr,Y.forInRight=vl,Y.forOwn=Gn,Y.forOwnRight=q0,Y.get=Bl,Y.gt=Ld,Y.gte=xm,Y.has=x1,Y.hasIn=xc,Y.head=Rs,Y.identity=s0,Y.includes=mm,Y.indexOf=Ja,Y.inRange=ml,Y.invoke=xp,Y.isArguments=dl,Y.isArray=tr,Y.isArrayBuffer=Qs,Y.isArrayLike=pl,Y.isArrayLikeObject=l0,Y.isBoolean=ev,Y.isBuffer=Js,Y.isDate=mp,Y.isElement=Rm,Y.isEmpty=tv,Y.isEqual=yp,Y.isEqualWith=Am,Y.isError=gp,Y.isFinite=Tc,Y.isFunction=xa,Y.isInteger=_p,Y.isLength=Fd,Y.isMap=Ep,Y.isMatch=Dp,Y.isMatchWith=nv,Y.isNaN=Om,Y.isNative=Mm,Y.isNil=Pd,Y.isNull=km,Y.isNumber=rv,Y.isObject=bu,Y.isObjectLike=Yu,Y.isPlainObject=Cc,Y.isRegExp=D1,Y.isSafeInteger=Nm,Y.isSet=Id,Y.isString=w1,Y.isSymbol=bl,Y.isTypedArray=Ra,Y.isUndefined=iv,Y.isWeakMap=Lm,Y.isWeakSet=uv,Y.join=c1,Y.kebabCase=Um,Y.last=Pl,Y.lastIndexOf=Oh,Y.lowerCase=av,Y.lowerFirst=jm,Y.lt=ov,Y.lte=Fm,Y.max=xv,Y.maxBy=uy,Y.mean=qf,Y.meanBy=Hp,Y.min=Rv,Y.minBy=oy,Y.stubArray=Bp,Y.stubFalse=Up,Y.stubObject=ty,Y.stubString=ny,Y.stubTrue=Tv,Y.multiply=ly,Y.nth=q2,Y.noConflict=Pp,Y.noop=Ip,Y.now=_1,Y.pad=fv,Y.padEnd=zm,Y.padStart=Hm,Y.parseInt=qm,Y.random=Wd,Y.reduce=up,Y.reduceRight=_m,Y.repeat=cv,Y.replace=Wm,Y.result=Pm,Y.round=qp,Y.runInContext=Ce,Y.sample=Gh,Y.size=op,Y.snakeCase=Ap,Y.some=lp,Y.sortedIndex=G2,Y.sortedIndexBy=kh,Y.sortedIndexOf=Nh,Y.sortedLastIndex=Y2,Y.sortedLastIndexBy=sm,Y.sortedLastIndexOf=am,Y.startCase=zf,Y.startsWith=dv,Y.subtract=sy,Y.sum=Zs,Y.sumBy=ay,Y.template=pv,Y.times=jp,Y.toFinite=Aa,Y.toInteger=Mr,Y.toLength=wp,Y.toLower=hv,Y.toNumber=hl,Y.toSafeInteger=S1,Y.toString=Ui,Y.toUpper=Yd,Y.trim=Kd,Y.trimEnd=Op,Y.trimStart=vv,Y.truncate=Xd,Y.unescape=mv,Y.uniqueId=Jd,Y.upperCase=yv,Y.upperFirst=Mp,Y.each=Wh,Y.eachRight=rp,Y.first=Rs,Fp(Y,function(){var d={};return R(Y,function(v,x){li.call(Y.prototype,x)||(d[x]=v)}),d}(),{chain:!1}),Y.VERSION=o,nt([\"bind\",\"bindKey\",\"curry\",\"curryRight\",\"partial\",\"partialRight\"],function(d){Y[d].placeholder=Y}),nt([\"drop\",\"take\"],function(d,v){at.prototype[d]=function(x){x=x===i?1:ni(Mr(x),0);var P=this.__filtered__&&!v?new at(this):this.clone();return P.__filtered__?P.__takeCount__=Kn(x,P.__takeCount__):P.__views__.push({size:Kn(x,fe),type:d+(P.__dir__<0?\"Right\":\"\")}),P},at.prototype[d+\"Right\"]=function(x){return this.reverse()[d](x).reverse()}}),nt([\"filter\",\"map\",\"takeWhile\"],function(d,v){var x=v+1,P=x==Xe||x==We;at.prototype[d]=function(q){var ee=this.clone();return ee.__iteratees__.push({iteratee:Vn(q,3),type:x}),ee.__filtered__=ee.__filtered__||P,ee}}),nt([\"head\",\"last\"],function(d,v){var x=\"take\"+(v?\"Right\":\"\");at.prototype[d]=function(){return this[x](1).value()[0]}}),nt([\"initial\",\"tail\"],function(d,v){var x=\"drop\"+(v?\"\":\"Right\");at.prototype[d]=function(){return this.__filtered__?new at(this):this[x](1)}}),at.prototype.compact=function(){return this.filter(s0)},at.prototype.find=function(d){return this.filter(d).head()},at.prototype.findLast=function(d){return this.reverse().find(d)},at.prototype.invokeMap=Ir(function(d,v){return typeof d==\"function\"?new at(this):this.map(function(x){return Ol(x,d,v)})}),at.prototype.reject=function(d){return this.filter(Ad(Vn(d)))},at.prototype.slice=function(d,v){d=Mr(d);var x=this;return x.__filtered__&&(d>0||v<0)?new at(x):(d<0?x=x.takeRight(-d):d&&(x=x.drop(d)),v!==i&&(v=Mr(v),x=v<0?x.dropRight(-v):x.take(v-d)),x)},at.prototype.takeRightWhile=function(d){return this.reverse().takeWhile(d).reverse()},at.prototype.toArray=function(){return this.take(fe)},R(at.prototype,function(d,v){var x=/^(?:filter|find|map|reject)|While$/.test(v),P=/^(?:head|last)$/.test(v),q=Y[P?\"take\"+(v==\"last\"?\"Right\":\"\"):v],ee=P||/^find/.test(v);!q||(Y.prototype[v]=function(){var de=this.__wrapped__,_e=P?[1]:arguments,Ie=de instanceof at,Et=_e[0],St=Ie||tr(de),At=function(ui){var di=q.apply(Y,Dn([ui],_e));return P&&on?di[0]:di};St&&x&&typeof Et==\"function\"&&Et.length!=1&&(Ie=St=!1);var on=this.__chain__,kn=!!this.__actions__.length,rr=ee&&!on,br=Ie&&!kn;if(!ee&&St){de=br?de:new at(this);var ar=d.apply(de,_e);return ar.__actions__.push({func:y1,args:[At],thisArg:i}),new Vr(ar,on)}return rr&&br?d.apply(this,_e):(ar=this.thru(At),rr?P?ar.value()[0]:ar.value():ar)})}),nt([\"pop\",\"push\",\"shift\",\"sort\",\"splice\",\"unshift\"],function(d){var v=Jr[d],x=/^(?:push|sort|unshift)$/.test(d)?\"tap\":\"thru\",P=/^(?:pop|shift)$/.test(d);Y.prototype[d]=function(){var q=arguments;if(P&&!this.__chain__){var ee=this.value();return v.apply(tr(ee)?ee:[],q)}return this[x](function(de){return v.apply(tr(de)?de:[],q)})}}),R(at.prototype,function(d,v){var x=Y[v];if(x){var P=x.name+\"\";li.call(On,P)||(On[P]=[]),On[P].push({name:v,func:x})}}),On[ya(i,he).name]=[{name:\"wrapper\",func:i}],at.prototype.clone=Di,at.prototype.reverse=ru,at.prototype.value=D0,Y.prototype.at=Z2,Y.prototype.chain=jh,Y.prototype.commit=$2,Y.prototype.next=zh,Y.prototype.plant=pm,Y.prototype.reverse=Pf,Y.prototype.toJSON=Y.prototype.valueOf=Y.prototype.value=If,Y.prototype.first=Y.prototype.head,Pu&&(Y.prototype[Pu]=dm),Y},eo=$0();typeof define==\"function\"&&typeof define.amd==\"object\"&&define.amd?(ji._=eo,define(function(){return eo})):z?((z.exports=eo)._=eo,B._=eo):ji._=eo}).call(zv)});var QE=tt((lH,XE)=>{\"use strict\";var Pi=XE.exports;XE.exports.default=Pi;var Du=\"\u001b[\",Ly=\"\u001b]\",Hv=\"\\x07\",w_=\";\",$8=process.env.TERM_PROGRAM===\"Apple_Terminal\";Pi.cursorTo=(i,o)=>{if(typeof i!=\"number\")throw new TypeError(\"The `x` argument is required\");return typeof o!=\"number\"?Du+(i+1)+\"G\":Du+(o+1)+\";\"+(i+1)+\"H\"};Pi.cursorMove=(i,o)=>{if(typeof i!=\"number\")throw new TypeError(\"The `x` argument is required\");let a=\"\";return i<0?a+=Du+-i+\"D\":i>0&&(a+=Du+i+\"C\"),o<0?a+=Du+-o+\"A\":o>0&&(a+=Du+o+\"B\"),a};Pi.cursorUp=(i=1)=>Du+i+\"A\";Pi.cursorDown=(i=1)=>Du+i+\"B\";Pi.cursorForward=(i=1)=>Du+i+\"C\";Pi.cursorBackward=(i=1)=>Du+i+\"D\";Pi.cursorLeft=Du+\"G\";Pi.cursorSavePosition=$8?\"\u001b7\":Du+\"s\";Pi.cursorRestorePosition=$8?\"\u001b8\":Du+\"u\";Pi.cursorGetPosition=Du+\"6n\";Pi.cursorNextLine=Du+\"E\";Pi.cursorPrevLine=Du+\"F\";Pi.cursorHide=Du+\"?25l\";Pi.cursorShow=Du+\"?25h\";Pi.eraseLines=i=>{let o=\"\";for(let a=0;a<i;a++)o+=Pi.eraseLine+(a<i-1?Pi.cursorUp():\"\");return i&&(o+=Pi.cursorLeft),o};Pi.eraseEndLine=Du+\"K\";Pi.eraseStartLine=Du+\"1K\";Pi.eraseLine=Du+\"2K\";Pi.eraseDown=Du+\"J\";Pi.eraseUp=Du+\"1J\";Pi.eraseScreen=Du+\"2J\";Pi.scrollUp=Du+\"S\";Pi.scrollDown=Du+\"T\";Pi.clearScreen=\"\u001bc\";Pi.clearTerminal=process.platform===\"win32\"?`${Pi.eraseScreen}${Du}0f`:`${Pi.eraseScreen}${Du}3J${Du}H`;Pi.beep=Hv;Pi.link=(i,o)=>[Ly,\"8\",w_,w_,o,Hv,i,Ly,\"8\",w_,w_,Hv].join(\"\");Pi.image=(i,o={})=>{let a=`${Ly}1337;File=inline=1`;return o.width&&(a+=`;width=${o.width}`),o.height&&(a+=`;height=${o.height}`),o.preserveAspectRatio===!1&&(a+=\";preserveAspectRatio=0\"),a+\":\"+i.toString(\"base64\")+Hv};Pi.iTerm={setCwd:(i=process.cwd())=>`${Ly}50;CurrentDir=${i}${Hv}`,annotation:(i,o={})=>{let a=`${Ly}1337;`,p=typeof o.x!=\"undefined\",_=typeof o.y!=\"undefined\";if((p||_)&&!(p&&_&&typeof o.length!=\"undefined\"))throw new Error(\"`x`, `y` and `length` must be defined when `x` or `y` is defined\");return i=i.replace(/\\|/g,\"\"),a+=o.isHidden?\"AddHiddenAnnotation=\":\"AddAnnotation=\",o.length>0?a+=(p?[i,o.length,o.x,o.y]:[o.length,i]).join(\"|\"):a+=i,a+Hv}}});var tS=tt((sH,JE)=>{\"use strict\";var eS=(i,o)=>{for(let a of Reflect.ownKeys(o))Object.defineProperty(i,a,Object.getOwnPropertyDescriptor(o,a));return i};JE.exports=eS;JE.exports.default=eS});var rS=tt((aH,S_)=>{\"use strict\";var vP=tS(),T_=new WeakMap,nS=(i,o={})=>{if(typeof i!=\"function\")throw new TypeError(\"Expected a function\");let a,p=0,_=i.displayName||i.name||\"<anonymous>\",t=function(...k){if(T_.set(t,++p),p===1)a=i.apply(this,k),i=null;else if(o.throw===!0)throw new Error(`Function \\`${_}\\` can only be called once`);return a};return vP(t,i),T_.set(t,p),t};S_.exports=nS;S_.exports.default=nS;S_.exports.callCount=i=>{if(!T_.has(i))throw new Error(`The given function \\`${i.name}\\` is not wrapped by the \\`onetime\\` package`);return T_.get(i)}});var iS=tt((fH,C_)=>{C_.exports=[\"SIGABRT\",\"SIGALRM\",\"SIGHUP\",\"SIGINT\",\"SIGTERM\"];process.platform!==\"win32\"&&C_.exports.push(\"SIGVTALRM\",\"SIGXCPU\",\"SIGXFSZ\",\"SIGUSR2\",\"SIGTRAP\",\"SIGSYS\",\"SIGQUIT\",\"SIGIOT\");process.platform===\"linux\"&&C_.exports.push(\"SIGIO\",\"SIGPOLL\",\"SIGPWR\",\"SIGSTKFLT\",\"SIGUNUSED\")});var tD=tt((cH,Fy)=>{var mP=require(\"assert\"),Py=iS(),yP=/^win/i.test(process.platform),x_=require(\"events\");typeof x_!=\"function\"&&(x_=x_.EventEmitter);var Gl;process.__signal_exit_emitter__?Gl=process.__signal_exit_emitter__:(Gl=process.__signal_exit_emitter__=new x_,Gl.count=0,Gl.emitted={});Gl.infinite||(Gl.setMaxListeners(Infinity),Gl.infinite=!0);Fy.exports=function(i,o){mP.equal(typeof i,\"function\",\"a callback must be provided for exit handler\"),Iy===!1&&uS();var a=\"exit\";o&&o.alwaysLast&&(a=\"afterexit\");var p=function(){Gl.removeListener(a,i),Gl.listeners(\"exit\").length===0&&Gl.listeners(\"afterexit\").length===0&&ZE()};return Gl.on(a,i),p};Fy.exports.unload=ZE;function ZE(){!Iy||(Iy=!1,Py.forEach(function(i){try{process.removeListener(i,$E[i])}catch(o){}}),process.emit=eD,process.reallyExit=oS,Gl.count-=1)}function qv(i,o,a){Gl.emitted[i]||(Gl.emitted[i]=!0,Gl.emit(i,o,a))}var $E={};Py.forEach(function(i){$E[i]=function(){var a=process.listeners(i);a.length===Gl.count&&(ZE(),qv(\"exit\",null,i),qv(\"afterexit\",null,i),yP&&i===\"SIGHUP\"&&(i=\"SIGINT\"),process.kill(process.pid,i))}});Fy.exports.signals=function(){return Py};Fy.exports.load=uS;var Iy=!1;function uS(){Iy||(Iy=!0,Gl.count+=1,Py=Py.filter(function(i){try{return process.on(i,$E[i]),!0}catch(o){return!1}}),process.emit=_P,process.reallyExit=gP)}var oS=process.reallyExit;function gP(i){process.exitCode=i||0,qv(\"exit\",process.exitCode,null),qv(\"afterexit\",process.exitCode,null),oS.call(process,process.exitCode)}var eD=process.emit;function _P(i,o){if(i===\"exit\"){o!==void 0&&(process.exitCode=o);var a=eD.apply(this,arguments);return qv(\"exit\",process.exitCode,null),qv(\"afterexit\",process.exitCode,null),a}else return eD.apply(this,arguments)}});var sS=tt((dH,lS)=>{\"use strict\";var EP=rS(),DP=tD();lS.exports=EP(()=>{DP(()=>{process.stderr.write(\"\u001b[?25h\")},{alwaysLast:!0})})});var nD=tt(Wv=>{\"use strict\";var wP=sS(),R_=!1;Wv.show=(i=process.stderr)=>{!i.isTTY||(R_=!1,i.write(\"\u001b[?25h\"))};Wv.hide=(i=process.stderr)=>{!i.isTTY||(wP(),R_=!0,i.write(\"\u001b[?25l\"))};Wv.toggle=(i,o)=>{i!==void 0&&(R_=i),R_?Wv.show(o):Wv.hide(o)}});var dS=tt(by=>{\"use strict\";var aS=by&&by.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(by,\"__esModule\",{value:!0});var fS=aS(QE()),cS=aS(nD()),SP=(i,{showCursor:o=!1}={})=>{let a=0,p=\"\",_=!1,t=k=>{!o&&!_&&(cS.default.hide(),_=!0);let L=k+`\n`;L!==p&&(p=L,i.write(fS.default.eraseLines(a)+L),a=L.split(`\n`).length)};return t.clear=()=>{i.write(fS.default.eraseLines(a)),p=\"\",a=0},t.done=()=>{p=\"\",a=0,o||(cS.default.show(),_=!1)},t};by.default={create:SP}});var hS=tt((vH,pS)=>{pS.exports=[{name:\"AppVeyor\",constant:\"APPVEYOR\",env:\"APPVEYOR\",pr:\"APPVEYOR_PULL_REQUEST_NUMBER\"},{name:\"Azure Pipelines\",constant:\"AZURE_PIPELINES\",env:\"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI\",pr:\"SYSTEM_PULLREQUEST_PULLREQUESTID\"},{name:\"Bamboo\",constant:\"BAMBOO\",env:\"bamboo_planKey\"},{name:\"Bitbucket Pipelines\",constant:\"BITBUCKET\",env:\"BITBUCKET_COMMIT\",pr:\"BITBUCKET_PR_ID\"},{name:\"Bitrise\",constant:\"BITRISE\",env:\"BITRISE_IO\",pr:\"BITRISE_PULL_REQUEST\"},{name:\"Buddy\",constant:\"BUDDY\",env:\"BUDDY_WORKSPACE_ID\",pr:\"BUDDY_EXECUTION_PULL_REQUEST_ID\"},{name:\"Buildkite\",constant:\"BUILDKITE\",env:\"BUILDKITE\",pr:{env:\"BUILDKITE_PULL_REQUEST\",ne:\"false\"}},{name:\"CircleCI\",constant:\"CIRCLE\",env:\"CIRCLECI\",pr:\"CIRCLE_PULL_REQUEST\"},{name:\"Cirrus CI\",constant:\"CIRRUS\",env:\"CIRRUS_CI\",pr:\"CIRRUS_PR\"},{name:\"AWS CodeBuild\",constant:\"CODEBUILD\",env:\"CODEBUILD_BUILD_ARN\"},{name:\"Codeship\",constant:\"CODESHIP\",env:{CI_NAME:\"codeship\"}},{name:\"Drone\",constant:\"DRONE\",env:\"DRONE\",pr:{DRONE_BUILD_EVENT:\"pull_request\"}},{name:\"dsari\",constant:\"DSARI\",env:\"DSARI\"},{name:\"GitLab CI\",constant:\"GITLAB\",env:\"GITLAB_CI\"},{name:\"GoCD\",constant:\"GOCD\",env:\"GO_PIPELINE_LABEL\"},{name:\"Hudson\",constant:\"HUDSON\",env:\"HUDSON_URL\"},{name:\"Jenkins\",constant:\"JENKINS\",env:[\"JENKINS_URL\",\"BUILD_ID\"],pr:{any:[\"ghprbPullId\",\"CHANGE_ID\"]}},{name:\"Magnum CI\",constant:\"MAGNUM\",env:\"MAGNUM\"},{name:\"Netlify CI\",constant:\"NETLIFY\",env:\"NETLIFY_BUILD_BASE\",pr:{env:\"PULL_REQUEST\",ne:\"false\"}},{name:\"Sail CI\",constant:\"SAIL\",env:\"SAILCI\",pr:\"SAIL_PULL_REQUEST_NUMBER\"},{name:\"Semaphore\",constant:\"SEMAPHORE\",env:\"SEMAPHORE\",pr:\"PULL_REQUEST_NUMBER\"},{name:\"Shippable\",constant:\"SHIPPABLE\",env:\"SHIPPABLE\",pr:{IS_PULL_REQUEST:\"true\"}},{name:\"Solano CI\",constant:\"SOLANO\",env:\"TDDIUM\",pr:\"TDDIUM_PR_ID\"},{name:\"Strider CD\",constant:\"STRIDER\",env:\"STRIDER\"},{name:\"TaskCluster\",constant:\"TASKCLUSTER\",env:[\"TASK_ID\",\"RUN_ID\"]},{name:\"TeamCity\",constant:\"TEAMCITY\",env:\"TEAMCITY_VERSION\"},{name:\"Travis CI\",constant:\"TRAVIS\",env:\"TRAVIS\",pr:{env:\"TRAVIS_PULL_REQUEST\",ne:\"false\"}}]});var yS=tt(Fa=>{\"use strict\";var vS=hS(),Uc=process.env;Object.defineProperty(Fa,\"_vendors\",{value:vS.map(function(i){return i.constant})});Fa.name=null;Fa.isPR=null;vS.forEach(function(i){var o=Array.isArray(i.env)?i.env:[i.env],a=o.every(function(p){return mS(p)});if(Fa[i.constant]=a,a)switch(Fa.name=i.name,typeof i.pr){case\"string\":Fa.isPR=!!Uc[i.pr];break;case\"object\":\"env\"in i.pr?Fa.isPR=i.pr.env in Uc&&Uc[i.pr.env]!==i.pr.ne:\"any\"in i.pr?Fa.isPR=i.pr.any.some(function(p){return!!Uc[p]}):Fa.isPR=mS(i.pr);break;default:Fa.isPR=null}});Fa.isCI=!!(Uc.CI||Uc.CONTINUOUS_INTEGRATION||Uc.BUILD_NUMBER||Uc.RUN_ID||Fa.name);function mS(i){return typeof i==\"string\"?!!Uc[i]:Object.keys(i).every(function(o){return Uc[o]===i[o]})}});var _S=tt((yH,gS)=>{\"use strict\";gS.exports=yS().isCI});var DS=tt((gH,ES)=>{\"use strict\";var TP=i=>{let o=new Set;do for(let a of Reflect.ownKeys(i))o.add([i,a]);while((i=Reflect.getPrototypeOf(i))&&i!==Object.prototype);return o};ES.exports=(i,{include:o,exclude:a}={})=>{let p=_=>{let t=k=>typeof k==\"string\"?_===k:k.test(_);return o?o.some(t):a?!a.some(t):!0};for(let[_,t]of TP(i.constructor.prototype)){if(t===\"constructor\"||!p(t))continue;let k=Reflect.getOwnPropertyDescriptor(_,t);k&&typeof k.value==\"function\"&&(i[t]=i[t].bind(i))}return i}});var AS=tt(ou=>{\"use strict\";Object.defineProperty(ou,\"__esModule\",{value:!0});var Vv,By,A_,O_,rD;typeof window==\"undefined\"||typeof MessageChannel!=\"function\"?(Gv=null,iD=null,uD=function(){if(Gv!==null)try{var i=ou.unstable_now();Gv(!0,i),Gv=null}catch(o){throw setTimeout(uD,0),o}},wS=Date.now(),ou.unstable_now=function(){return Date.now()-wS},Vv=function(i){Gv!==null?setTimeout(Vv,0,i):(Gv=i,setTimeout(uD,0))},By=function(i,o){iD=setTimeout(i,o)},A_=function(){clearTimeout(iD)},O_=function(){return!1},rD=ou.unstable_forceFrameRate=function(){}):(M_=window.performance,oD=window.Date,SS=window.setTimeout,TS=window.clearTimeout,typeof console!=\"undefined\"&&(CS=window.cancelAnimationFrame,typeof window.requestAnimationFrame!=\"function\"&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\"),typeof CS!=\"function\"&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\")),typeof M_==\"object\"&&typeof M_.now==\"function\"?ou.unstable_now=function(){return M_.now()}:(xS=oD.now(),ou.unstable_now=function(){return oD.now()-xS}),Uy=!1,jy=null,k_=-1,lD=5,sD=0,O_=function(){return ou.unstable_now()>=sD},rD=function(){},ou.unstable_forceFrameRate=function(i){0>i||125<i?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported\"):lD=0<i?Math.floor(1e3/i):5},aD=new MessageChannel,N_=aD.port2,aD.port1.onmessage=function(){if(jy!==null){var i=ou.unstable_now();sD=i+lD;try{jy(!0,i)?N_.postMessage(null):(Uy=!1,jy=null)}catch(o){throw N_.postMessage(null),o}}else Uy=!1},Vv=function(i){jy=i,Uy||(Uy=!0,N_.postMessage(null))},By=function(i,o){k_=SS(function(){i(ou.unstable_now())},o)},A_=function(){TS(k_),k_=-1});var Gv,iD,uD,wS,M_,oD,SS,TS,CS,xS,Uy,jy,k_,lD,sD,aD,N_;function fD(i,o){var a=i.length;i.push(o);e:for(;;){var p=Math.floor((a-1)/2),_=i[p];if(_!==void 0&&0<L_(_,o))i[p]=o,i[a]=_,a=p;else break e}}function cf(i){return i=i[0],i===void 0?null:i}function F_(i){var o=i[0];if(o!==void 0){var a=i.pop();if(a!==o){i[0]=a;e:for(var p=0,_=i.length;p<_;){var t=2*(p+1)-1,k=i[t],L=t+1,O=i[L];if(k!==void 0&&0>L_(k,a))O!==void 0&&0>L_(O,k)?(i[p]=O,i[L]=a,p=L):(i[p]=k,i[t]=a,p=t);else if(O!==void 0&&0>L_(O,a))i[p]=O,i[L]=a,p=L;else break e}}return o}return null}function L_(i,o){var a=i.sortIndex-o.sortIndex;return a!==0?a:i.id-o.id}var $f=[],c2=[],CP=1,Ls=null,ds=3,P_=!1,Zp=!1,zy=!1;function I_(i){for(var o=cf(c2);o!==null;){if(o.callback===null)F_(c2);else if(o.startTime<=i)F_(c2),o.sortIndex=o.expirationTime,fD($f,o);else break;o=cf(c2)}}function cD(i){if(zy=!1,I_(i),!Zp)if(cf($f)!==null)Zp=!0,Vv(dD);else{var o=cf(c2);o!==null&&By(cD,o.startTime-i)}}function dD(i,o){Zp=!1,zy&&(zy=!1,A_()),P_=!0;var a=ds;try{for(I_(o),Ls=cf($f);Ls!==null&&(!(Ls.expirationTime>o)||i&&!O_());){var p=Ls.callback;if(p!==null){Ls.callback=null,ds=Ls.priorityLevel;var _=p(Ls.expirationTime<=o);o=ou.unstable_now(),typeof _==\"function\"?Ls.callback=_:Ls===cf($f)&&F_($f),I_(o)}else F_($f);Ls=cf($f)}if(Ls!==null)var t=!0;else{var k=cf(c2);k!==null&&By(cD,k.startTime-o),t=!1}return t}finally{Ls=null,ds=a,P_=!1}}function RS(i){switch(i){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var xP=rD;ou.unstable_ImmediatePriority=1;ou.unstable_UserBlockingPriority=2;ou.unstable_NormalPriority=3;ou.unstable_IdlePriority=5;ou.unstable_LowPriority=4;ou.unstable_runWithPriority=function(i,o){switch(i){case 1:case 2:case 3:case 4:case 5:break;default:i=3}var a=ds;ds=i;try{return o()}finally{ds=a}};ou.unstable_next=function(i){switch(ds){case 1:case 2:case 3:var o=3;break;default:o=ds}var a=ds;ds=o;try{return i()}finally{ds=a}};ou.unstable_scheduleCallback=function(i,o,a){var p=ou.unstable_now();if(typeof a==\"object\"&&a!==null){var _=a.delay;_=typeof _==\"number\"&&0<_?p+_:p,a=typeof a.timeout==\"number\"?a.timeout:RS(i)}else a=RS(i),_=p;return a=_+a,i={id:CP++,callback:o,priorityLevel:i,startTime:_,expirationTime:a,sortIndex:-1},_>p?(i.sortIndex=_,fD(c2,i),cf($f)===null&&i===cf(c2)&&(zy?A_():zy=!0,By(cD,_-p))):(i.sortIndex=a,fD($f,i),Zp||P_||(Zp=!0,Vv(dD))),i};ou.unstable_cancelCallback=function(i){i.callback=null};ou.unstable_wrapCallback=function(i){var o=ds;return function(){var a=ds;ds=o;try{return i.apply(this,arguments)}finally{ds=a}}};ou.unstable_getCurrentPriorityLevel=function(){return ds};ou.unstable_shouldYield=function(){var i=ou.unstable_now();I_(i);var o=cf($f);return o!==Ls&&Ls!==null&&o!==null&&o.callback!==null&&o.startTime<=i&&o.expirationTime<Ls.expirationTime||O_()};ou.unstable_requestPaint=xP;ou.unstable_continueExecution=function(){Zp||P_||(Zp=!0,Vv(dD))};ou.unstable_pauseExecution=function(){};ou.unstable_getFirstCallbackNode=function(){return cf($f)};ou.unstable_Profiling=null});var OS=tt(Ii=>{\"use strict\";process.env.NODE_ENV!==\"production\"&&function(){\"use strict\";Object.defineProperty(Ii,\"__esModule\",{value:!0});var i=!1,o=!1,a=!0,p,_,t,k,L;if(typeof window==\"undefined\"||typeof MessageChannel!=\"function\"){var O=null,C=null,U=function(){if(O!==null)try{var wt=Ii.unstable_now(),bt=!0;O(bt,wt),O=null}catch(Hn){throw setTimeout(U,0),Hn}},H=Date.now();Ii.unstable_now=function(){return Date.now()-H},p=function(wt){O!==null?setTimeout(p,0,wt):(O=wt,setTimeout(U,0))},_=function(wt,bt){C=setTimeout(wt,bt)},t=function(){clearTimeout(C)},k=function(){return!1},L=Ii.unstable_forceFrameRate=function(){}}else{var W=window.performance,ne=window.Date,m=window.setTimeout,he=window.clearTimeout;if(typeof console!=\"undefined\"){var Ee=window.requestAnimationFrame,ve=window.cancelAnimationFrame;typeof Ee!=\"function\"&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\"),typeof ve!=\"function\"&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\")}if(typeof W==\"object\"&&typeof W.now==\"function\")Ii.unstable_now=function(){return W.now()};else{var se=ne.now();Ii.unstable_now=function(){return ne.now()-se}}var De=!1,pe=null,me=-1,ie=5,Oe=0,je=300,qe=!1;if(o&&navigator!==void 0&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0){var yt=navigator.scheduling;k=function(){var wt=Ii.unstable_now();return wt>=Oe?qe||yt.isInputPending()?!0:wt>=je:!1},L=function(){qe=!0}}else k=function(){return Ii.unstable_now()>=Oe},L=function(){};Ii.unstable_forceFrameRate=function(wt){if(wt<0||wt>125){console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported\");return}wt>0?ie=Math.floor(1e3/wt):ie=5};var gt=function(){if(pe!==null){var wt=Ii.unstable_now();Oe=wt+ie;var bt=!0;try{var Hn=pe(bt,wt);Hn?ut.postMessage(null):(De=!1,pe=null)}catch(qr){throw ut.postMessage(null),qr}}else De=!1;qe=!1},Xe=new MessageChannel,ut=Xe.port2;Xe.port1.onmessage=gt,p=function(wt){pe=wt,De||(De=!0,ut.postMessage(null))},_=function(wt,bt){me=m(function(){wt(Ii.unstable_now())},bt)},t=function(){he(me),me=-1}}function We(wt,bt){var Hn=wt.length;wt.push(bt),rt(wt,bt,Hn)}function Ft(wt){var bt=wt[0];return bt===void 0?null:bt}function Jt(wt){var bt=wt[0];if(bt!==void 0){var Hn=wt.pop();return Hn!==bt&&(wt[0]=Hn,Q(wt,Hn,0)),bt}else return null}function rt(wt,bt,Hn){for(var qr=Hn;;){var Ki=Math.floor((qr-1)/2),Qr=wt[Ki];if(Qr!==void 0&&fe(Qr,bt)>0)wt[Ki]=bt,wt[qr]=Qr,qr=Ki;else return}}function Q(wt,bt,Hn){for(var qr=Hn,Ki=wt.length;qr<Ki;){var Qr=(qr+1)*2-1,Ou=wt[Qr],h0=Qr+1,Ni=wt[h0];if(Ou!==void 0&&fe(Ou,bt)<0)Ni!==void 0&&fe(Ni,Ou)<0?(wt[qr]=Ni,wt[h0]=bt,qr=h0):(wt[qr]=Ou,wt[Qr]=bt,qr=Qr);else if(Ni!==void 0&&fe(Ni,bt)<0)wt[qr]=Ni,wt[h0]=bt,qr=h0;else return}}function fe(wt,bt){var Hn=wt.sortIndex-bt.sortIndex;return Hn!==0?Hn:wt.id-bt.id}var xe=0,oe=1,ze=2,ct=3,Rt=4,nn=5,an=0,Mn=0,lr=4,ln=a?typeof SharedArrayBuffer==\"function\"?new SharedArrayBuffer(lr*Int32Array.BYTES_PER_ELEMENT):typeof ArrayBuffer==\"function\"?new ArrayBuffer(lr*Int32Array.BYTES_PER_ELEMENT):null:null,Vt=a&&ln!==null?new Int32Array(ln):[],Er=0,w=1,jt=2,Xn=3;a&&(Vt[Er]=xe,Vt[Xn]=0,Vt[w]=0);var vr=131072,jr=524288,fr=0,zr=null,Xt=null,wu=0,d0=1,Ro=2,Qo=3,Fs=4,Jo=5,Zo=6,qt=7,xi=8;function lu(wt){if(Xt!==null){var bt=wu;if(wu+=wt.length,wu+1>fr){if(fr*=2,fr>jr){console.error(\"Scheduler Profiling: Event log exceeded maximum size. Don't forget to call `stopLoggingProfilingEvents()`.\"),Dr();return}var Hn=new Int32Array(fr*4);Hn.set(Xt),zr=Hn.buffer,Xt=Hn}Xt.set(wt,bt)}}function mi(){fr=vr,zr=new ArrayBuffer(fr*4),Xt=new Int32Array(zr),wu=0}function Dr(){var wt=zr;return fr=0,zr=null,Xt=null,wu=0,wt}function $o(wt,bt){a&&(Vt[Xn]++,Xt!==null&&lu([d0,bt*1e3,wt.id,wt.priorityLevel]))}function G0(wt,bt){a&&(Vt[Er]=xe,Vt[w]=0,Vt[Xn]--,Xt!==null&&lu([Ro,bt*1e3,wt.id]))}function Uu(wt,bt){a&&(Vt[Xn]--,Xt!==null&&lu([Fs,bt*1e3,wt.id]))}function Y0(wt,bt){a&&(Vt[Er]=xe,Vt[w]=0,Vt[Xn]--,Xt!==null&&lu([Qo,bt*1e3,wt.id]))}function Xr(wt,bt){a&&(an++,Vt[Er]=wt.priorityLevel,Vt[w]=wt.id,Vt[jt]=an,Xt!==null&&lu([Jo,bt*1e3,wt.id,an]))}function Ao(wt,bt){a&&(Vt[Er]=xe,Vt[w]=0,Vt[jt]=0,Xt!==null&&lu([Zo,bt*1e3,wt.id,an]))}function Oo(wt){a&&(Mn++,Xt!==null&&lu([qt,wt*1e3,Mn]))}function F0(wt){a&&Xt!==null&&lu([xi,wt*1e3,Mn])}var su=1073741823,ki=-1,Ps=250,Kl=5e3,P0=1e4,p0=su,Hr=[],Ri=[],K0=1,yi=!1,en=null,bn=ct,Ai=!1,gi=!1,Wt=!1;function Au(wt){for(var bt=Ft(Ri);bt!==null;){if(bt.callback===null)Jt(Ri);else if(bt.startTime<=wt)Jt(Ri),bt.sortIndex=bt.expirationTime,We(Hr,bt),a&&($o(bt,wt),bt.isQueued=!0);else return;bt=Ft(Ri)}}function eu(wt){if(Wt=!1,Au(wt),!gi)if(Ft(Hr)!==null)gi=!0,p(X0);else{var bt=Ft(Ri);bt!==null&&_(eu,bt.startTime-wt)}}function X0(wt,bt){a&&F0(bt),gi=!1,Wt&&(Wt=!1,t()),Ai=!0;var Hn=bn;try{if(a)try{return Yi(wt,bt)}catch(Qr){if(en!==null){var qr=Ii.unstable_now();Y0(en,qr),en.isQueued=!1}throw Qr}else return Yi(wt,bt)}finally{if(en=null,bn=Hn,Ai=!1,a){var Ki=Ii.unstable_now();Oo(Ki)}}}function Yi(wt,bt){var Hn=bt;for(Au(Hn),en=Ft(Hr);en!==null&&!(i&&yi)&&!(en.expirationTime>Hn&&(!wt||k()));){var qr=en.callback;if(qr!==null){en.callback=null,bn=en.priorityLevel;var Ki=en.expirationTime<=Hn;Xr(en,Hn);var Qr=qr(Ki);Hn=Ii.unstable_now(),typeof Qr==\"function\"?(en.callback=Qr,Ao(en,Hn)):(a&&(G0(en,Hn),en.isQueued=!1),en===Ft(Hr)&&Jt(Hr)),Au(Hn)}else Jt(Hr);en=Ft(Hr)}if(en!==null)return!0;var Ou=Ft(Ri);return Ou!==null&&_(eu,Ou.startTime-Hn),!1}function Xl(wt,bt){switch(wt){case oe:case ze:case ct:case Rt:case nn:break;default:wt=ct}var Hn=bn;bn=wt;try{return bt()}finally{bn=Hn}}function Mo(wt){var bt;switch(bn){case oe:case ze:case ct:bt=ct;break;default:bt=bn;break}var Hn=bn;bn=bt;try{return wt()}finally{bn=Hn}}function ai(wt){var bt=bn;return function(){var Hn=bn;bn=bt;try{return wt.apply(this,arguments)}finally{bn=Hn}}}function so(wt){switch(wt){case oe:return ki;case ze:return Ps;case nn:return p0;case Rt:return P0;case ct:default:return Kl}}function Ql(wt,bt,Hn){var qr=Ii.unstable_now(),Ki,Qr;if(typeof Hn==\"object\"&&Hn!==null){var Ou=Hn.delay;typeof Ou==\"number\"&&Ou>0?Ki=qr+Ou:Ki=qr,Qr=typeof Hn.timeout==\"number\"?Hn.timeout:so(wt)}else Qr=so(wt),Ki=qr;var h0=Ki+Qr,Ni={id:K0++,callback:bt,priorityLevel:wt,startTime:Ki,expirationTime:h0,sortIndex:-1};return a&&(Ni.isQueued=!1),Ki>qr?(Ni.sortIndex=Ki,We(Ri,Ni),Ft(Hr)===null&&Ni===Ft(Ri)&&(Wt?t():Wt=!0,_(eu,Ki-qr))):(Ni.sortIndex=h0,We(Hr,Ni),a&&($o(Ni,qr),Ni.isQueued=!0),!gi&&!Ai&&(gi=!0,p(X0))),Ni}function ko(){yi=!0}function Is(){yi=!1,!gi&&!Ai&&(gi=!0,p(X0))}function $n(){return Ft(Hr)}function el(wt){if(a&&wt.isQueued){var bt=Ii.unstable_now();Uu(wt,bt),wt.isQueued=!1}wt.callback=null}function ao(){return bn}function I0(){var wt=Ii.unstable_now();Au(wt);var bt=Ft(Hr);return bt!==en&&en!==null&&bt!==null&&bt.callback!==null&&bt.startTime<=wt&&bt.expirationTime<en.expirationTime||k()}var wl=L,No=a?{startLoggingProfilingEvents:mi,stopLoggingProfilingEvents:Dr,sharedProfilingBuffer:ln}:null;Ii.unstable_ImmediatePriority=oe,Ii.unstable_UserBlockingPriority=ze,Ii.unstable_NormalPriority=ct,Ii.unstable_IdlePriority=nn,Ii.unstable_LowPriority=Rt,Ii.unstable_runWithPriority=Xl,Ii.unstable_next=Mo,Ii.unstable_scheduleCallback=Ql,Ii.unstable_cancelCallback=el,Ii.unstable_wrapCallback=ai,Ii.unstable_getCurrentPriorityLevel=ao,Ii.unstable_shouldYield=I0,Ii.unstable_requestPaint=wl,Ii.unstable_continueExecution=Is,Ii.unstable_pauseExecution=ko,Ii.unstable_getFirstCallbackNode=$n,Ii.unstable_Profiling=No}()});var b_=tt((DH,pD)=>{\"use strict\";process.env.NODE_ENV===\"production\"?pD.exports=AS():pD.exports=OS()});var MS=tt((wH,Hy)=>{Hy.exports=function i(o){\"use strict\";var a=Oy(),p=Mi(),_=b_();function t(g){for(var y=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+g,R=1;R<arguments.length;R++)y+=\"&args[]=\"+encodeURIComponent(arguments[R]);return\"Minified React error #\"+g+\"; visit \"+y+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var k=p.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;k.hasOwnProperty(\"ReactCurrentDispatcher\")||(k.ReactCurrentDispatcher={current:null}),k.hasOwnProperty(\"ReactCurrentBatchConfig\")||(k.ReactCurrentBatchConfig={suspense:null});var L=typeof Symbol==\"function\"&&Symbol.for,O=L?Symbol.for(\"react.element\"):60103,C=L?Symbol.for(\"react.portal\"):60106,U=L?Symbol.for(\"react.fragment\"):60107,H=L?Symbol.for(\"react.strict_mode\"):60108,W=L?Symbol.for(\"react.profiler\"):60114,ne=L?Symbol.for(\"react.provider\"):60109,m=L?Symbol.for(\"react.context\"):60110,he=L?Symbol.for(\"react.concurrent_mode\"):60111,Ee=L?Symbol.for(\"react.forward_ref\"):60112,ve=L?Symbol.for(\"react.suspense\"):60113,se=L?Symbol.for(\"react.suspense_list\"):60120,De=L?Symbol.for(\"react.memo\"):60115,pe=L?Symbol.for(\"react.lazy\"):60116;L&&Symbol.for(\"react.fundamental\"),L&&Symbol.for(\"react.responder\"),L&&Symbol.for(\"react.scope\");var me=typeof Symbol==\"function\"&&Symbol.iterator;function ie(g){return g===null||typeof g!=\"object\"?null:(g=me&&g[me]||g[\"@@iterator\"],typeof g==\"function\"?g:null)}function Oe(g){if(g._status===-1){g._status=0;var y=g._ctor;y=y(),g._result=y,y.then(function(R){g._status===0&&(R=R.default,g._status=1,g._result=R)},function(R){g._status===0&&(g._status=2,g._result=R)})}}function je(g){if(g==null)return null;if(typeof g==\"function\")return g.displayName||g.name||null;if(typeof g==\"string\")return g;switch(g){case U:return\"Fragment\";case C:return\"Portal\";case W:return\"Profiler\";case H:return\"StrictMode\";case ve:return\"Suspense\";case se:return\"SuspenseList\"}if(typeof g==\"object\")switch(g.$$typeof){case m:return\"Context.Consumer\";case ne:return\"Context.Provider\";case Ee:var y=g.render;return y=y.displayName||y.name||\"\",g.displayName||(y!==\"\"?\"ForwardRef(\"+y+\")\":\"ForwardRef\");case De:return je(g.type);case pe:if(g=g._status===1?g._result:null)return je(g)}return null}function qe(g){var y=g,R=g;if(g.alternate)for(;y.return;)y=y.return;else{g=y;do y=g,(y.effectTag&1026)!=0&&(R=y.return),g=y.return;while(g)}return y.tag===3?R:null}function yt(g){if(qe(g)!==g)throw Error(t(188))}function gt(g){var y=g.alternate;if(!y){if(y=qe(g),y===null)throw Error(t(188));return y!==g?null:g}for(var R=g,F=y;;){var b=R.return;if(b===null)break;var J=b.alternate;if(J===null){if(F=b.return,F!==null){R=F;continue}break}if(b.child===J.child){for(J=b.child;J;){if(J===R)return yt(b),g;if(J===F)return yt(b),y;J=J.sibling}throw Error(t(188))}if(R.return!==F.return)R=b,F=J;else{for(var ce=!1,mt=b.child;mt;){if(mt===R){ce=!0,R=b,F=J;break}if(mt===F){ce=!0,F=b,R=J;break}mt=mt.sibling}if(!ce){for(mt=J.child;mt;){if(mt===R){ce=!0,R=J,F=b;break}if(mt===F){ce=!0,F=J,R=b;break}mt=mt.sibling}if(!ce)throw Error(t(189))}}if(R.alternate!==F)throw Error(t(190))}if(R.tag!==3)throw Error(t(188));return R.stateNode.current===R?g:y}function Xe(g){if(g=gt(g),!g)return null;for(var y=g;;){if(y.tag===5||y.tag===6)return y;if(y.child)y.child.return=y,y=y.child;else{if(y===g)break;for(;!y.sibling;){if(!y.return||y.return===g)return null;y=y.return}y.sibling.return=y.return,y=y.sibling}}return null}function ut(g){if(g=gt(g),!g)return null;for(var y=g;;){if(y.tag===5||y.tag===6)return y;if(y.child&&y.tag!==4)y.child.return=y,y=y.child;else{if(y===g)break;for(;!y.sibling;){if(!y.return||y.return===g)return null;y=y.return}y.sibling.return=y.return,y=y.sibling}}return null}var We=o.getPublicInstance,Ft=o.getRootHostContext,Jt=o.getChildHostContext,rt=o.prepareForCommit,Q=o.resetAfterCommit,fe=o.createInstance,xe=o.appendInitialChild,oe=o.finalizeInitialChildren,ze=o.prepareUpdate,ct=o.shouldSetTextContent,Rt=o.shouldDeprioritizeSubtree,nn=o.createTextInstance,an=o.setTimeout,Mn=o.clearTimeout,lr=o.noTimeout,ln=o.isPrimaryRenderer,Vt=o.supportsMutation,Er=o.supportsPersistence,w=o.supportsHydration,jt=o.appendChild,Xn=o.appendChildToContainer,vr=o.commitTextUpdate,jr=o.commitMount,fr=o.commitUpdate,zr=o.insertBefore,Xt=o.insertInContainerBefore,wu=o.removeChild,d0=o.removeChildFromContainer,Ro=o.resetTextContent,Qo=o.hideInstance,Fs=o.hideTextInstance,Jo=o.unhideInstance,Zo=o.unhideTextInstance,qt=o.cloneInstance,xi=o.createContainerChildSet,lu=o.appendChildToContainerChildSet,mi=o.finalizeContainerChildren,Dr=o.replaceContainerChildren,$o=o.cloneHiddenInstance,G0=o.cloneHiddenTextInstance,Uu=o.canHydrateInstance,Y0=o.canHydrateTextInstance,Xr=o.isSuspenseInstancePending,Ao=o.isSuspenseInstanceFallback,Oo=o.getNextHydratableSibling,F0=o.getFirstHydratableChild,su=o.hydrateInstance,ki=o.hydrateTextInstance,Ps=o.getNextHydratableInstanceAfterSuspenseInstance,Kl=o.commitHydratedContainer,P0=o.commitHydratedSuspenseInstance,p0=/^(.*)[\\\\\\/]/;function Hr(g){var y=\"\";do{e:switch(g.tag){case 3:case 4:case 6:case 7:case 10:case 9:var R=\"\";break e;default:var F=g._debugOwner,b=g._debugSource,J=je(g.type);R=null,F&&(R=je(F.type)),F=J,J=\"\",b?J=\" (at \"+b.fileName.replace(p0,\"\")+\":\"+b.lineNumber+\")\":R&&(J=\" (created by \"+R+\")\"),R=`\n    in `+(F||\"Unknown\")+J}y+=R,g=g.return}while(g);return y}new Set;var Ri=[],K0=-1;function yi(g){0>K0||(g.current=Ri[K0],Ri[K0]=null,K0--)}function en(g,y){K0++,Ri[K0]=g.current,g.current=y}var bn={},Ai={current:bn},gi={current:!1},Wt=bn;function Au(g,y){var R=g.type.contextTypes;if(!R)return bn;var F=g.stateNode;if(F&&F.__reactInternalMemoizedUnmaskedChildContext===y)return F.__reactInternalMemoizedMaskedChildContext;var b={},J;for(J in R)b[J]=y[J];return F&&(g=g.stateNode,g.__reactInternalMemoizedUnmaskedChildContext=y,g.__reactInternalMemoizedMaskedChildContext=b),b}function eu(g){return g=g.childContextTypes,g!=null}function X0(g){yi(gi,g),yi(Ai,g)}function Yi(g){yi(gi,g),yi(Ai,g)}function Xl(g,y,R){if(Ai.current!==bn)throw Error(t(168));en(Ai,y,g),en(gi,R,g)}function Mo(g,y,R){var F=g.stateNode;if(g=y.childContextTypes,typeof F.getChildContext!=\"function\")return R;F=F.getChildContext();for(var b in F)if(!(b in g))throw Error(t(108,je(y)||\"Unknown\",b));return a({},R,{},F)}function ai(g){var y=g.stateNode;return y=y&&y.__reactInternalMemoizedMergedChildContext||bn,Wt=Ai.current,en(Ai,y,g),en(gi,gi.current,g),!0}function so(g,y,R){var F=g.stateNode;if(!F)throw Error(t(169));R?(y=Mo(g,y,Wt),F.__reactInternalMemoizedMergedChildContext=y,yi(gi,g),yi(Ai,g),en(Ai,y,g)):yi(gi,g),en(gi,R,g)}var Ql=_.unstable_runWithPriority,ko=_.unstable_scheduleCallback,Is=_.unstable_cancelCallback,$n=_.unstable_shouldYield,el=_.unstable_requestPaint,ao=_.unstable_now,I0=_.unstable_getCurrentPriorityLevel,wl=_.unstable_ImmediatePriority,No=_.unstable_UserBlockingPriority,wt=_.unstable_NormalPriority,bt=_.unstable_LowPriority,Hn=_.unstable_IdlePriority,qr={},Ki=el!==void 0?el:function(){},Qr=null,Ou=null,h0=!1,Ni=ao(),v0=1e4>Ni?ao:function(){return ao()-Ni};function hs(){switch(I0()){case wl:return 99;case No:return 98;case wt:return 97;case bt:return 96;case Hn:return 95;default:throw Error(t(332))}}function Tt(g){switch(g){case 99:return wl;case 98:return No;case 97:return wt;case 96:return bt;case 95:return Hn;default:throw Error(t(332))}}function fo(g,y){return g=Tt(g),Ql(g,y)}function tl(g,y,R){return g=Tt(g),ko(g,y,R)}function Jl(g){return Qr===null?(Qr=[g],Ou=ko(wl,vs)):Qr.push(g),qr}function ju(){if(Ou!==null){var g=Ou;Ou=null,Is(g)}vs()}function vs(){if(!h0&&Qr!==null){h0=!0;var g=0;try{var y=Qr;fo(99,function(){for(;g<y.length;g++){var R=y[g];do R=R(!0);while(R!==null)}}),Qr=null}catch(R){throw Qr!==null&&(Qr=Qr.slice(g+1)),ko(wl,ju),R}finally{h0=!1}}}var b0=3;function X(g,y,R){return R/=10,1073741821-(((1073741821-g+y/10)/R|0)+1)*R}function we(g,y){return g===y&&(g!==0||1/g==1/y)||g!==g&&y!==y}var Le=typeof Object.is==\"function\"?Object.is:we,Ne=Object.prototype.hasOwnProperty;function dt(g,y){if(Le(g,y))return!0;if(typeof g!=\"object\"||g===null||typeof y!=\"object\"||y===null)return!1;var R=Object.keys(g),F=Object.keys(y);if(R.length!==F.length)return!1;for(F=0;F<R.length;F++)if(!Ne.call(y,R[F])||!Le(g[R[F]],y[R[F]]))return!1;return!0}function Yn(g,y){if(g&&g.defaultProps){y=a({},y),g=g.defaultProps;for(var R in g)y[R]===void 0&&(y[R]=g[R])}return y}var Cn={current:null},cr=null,Si=null,Mu=null;function zu(){Mu=Si=cr=null}function Hu(g,y){var R=g.type._context;ln?(en(Cn,R._currentValue,g),R._currentValue=y):(en(Cn,R._currentValue2,g),R._currentValue2=y)}function Su(g){var y=Cn.current;yi(Cn,g),g=g.type._context,ln?g._currentValue=y:g._currentValue2=y}function Ti(g,y){for(;g!==null;){var R=g.alternate;if(g.childExpirationTime<y)g.childExpirationTime=y,R!==null&&R.childExpirationTime<y&&(R.childExpirationTime=y);else if(R!==null&&R.childExpirationTime<y)R.childExpirationTime=y;else break;g=g.return}}function Lo(g,y){cr=g,Mu=Si=null,g=g.dependencies,g!==null&&g.firstContext!==null&&(g.expirationTime>=y&&(po=!0),g.firstContext=null)}function ku(g,y){if(Mu!==g&&y!==!1&&y!==0)if((typeof y!=\"number\"||y===1073741823)&&(Mu=g,y=1073741823),y={context:g,observedBits:y,next:null},Si===null){if(cr===null)throw Error(t(308));Si=y,cr.dependencies={expirationTime:0,firstContext:y,responders:null}}else Si=Si.next=y;return ln?g._currentValue:g._currentValue2}var co=!1;function qu(g){return{baseState:g,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Pa(g){return{baseState:g.baseState,firstUpdate:g.firstUpdate,lastUpdate:g.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function m0(g,y){return{expirationTime:g,suspenseConfig:y,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function ia(g,y){g.lastUpdate===null?g.firstUpdate=g.lastUpdate=y:(g.lastUpdate.next=y,g.lastUpdate=y)}function Q0(g,y){var R=g.alternate;if(R===null){var F=g.updateQueue,b=null;F===null&&(F=g.updateQueue=qu(g.memoizedState))}else F=g.updateQueue,b=R.updateQueue,F===null?b===null?(F=g.updateQueue=qu(g.memoizedState),b=R.updateQueue=qu(R.memoizedState)):F=g.updateQueue=Pa(b):b===null&&(b=R.updateQueue=Pa(F));b===null||F===b?ia(F,y):F.lastUpdate===null||b.lastUpdate===null?(ia(F,y),ia(b,y)):(ia(F,y),b.lastUpdate=y)}function ua(g,y){var R=g.updateQueue;R=R===null?g.updateQueue=qu(g.memoizedState):Ia(g,R),R.lastCapturedUpdate===null?R.firstCapturedUpdate=R.lastCapturedUpdate=y:(R.lastCapturedUpdate.next=y,R.lastCapturedUpdate=y)}function Ia(g,y){var R=g.alternate;return R!==null&&y===R.updateQueue&&(y=g.updateQueue=Pa(y)),y}function ms(g,y,R,F,b,J){switch(R.tag){case 1:return g=R.payload,typeof g==\"function\"?g.call(J,F,b):g;case 3:g.effectTag=g.effectTag&-4097|64;case 0:if(g=R.payload,b=typeof g==\"function\"?g.call(J,F,b):g,b==null)break;return a({},F,b);case 2:co=!0}return F}function S0(g,y,R,F,b){co=!1,y=Ia(g,y);for(var J=y.baseState,ce=null,mt=0,xt=y.firstUpdate,kt=J;xt!==null;){var xr=xt.expirationTime;xr<b?(ce===null&&(ce=xt,J=kt),mt<xr&&(mt=xr)):(cc(xr,xt.suspenseConfig),kt=ms(g,y,xt,kt,R,F),xt.callback!==null&&(g.effectTag|=32,xt.nextEffect=null,y.lastEffect===null?y.firstEffect=y.lastEffect=xt:(y.lastEffect.nextEffect=xt,y.lastEffect=xt))),xt=xt.next}for(xr=null,xt=y.firstCapturedUpdate;xt!==null;){var i0=xt.expirationTime;i0<b?(xr===null&&(xr=xt,ce===null&&(J=kt)),mt<i0&&(mt=i0)):(kt=ms(g,y,xt,kt,R,F),xt.callback!==null&&(g.effectTag|=32,xt.nextEffect=null,y.lastCapturedEffect===null?y.firstCapturedEffect=y.lastCapturedEffect=xt:(y.lastCapturedEffect.nextEffect=xt,y.lastCapturedEffect=xt))),xt=xt.next}ce===null&&(y.lastUpdate=null),xr===null?y.lastCapturedUpdate=null:g.effectTag|=32,ce===null&&xr===null&&(J=kt),y.baseState=J,y.firstUpdate=ce,y.firstCapturedUpdate=xr,Ua(mt),g.expirationTime=mt,g.memoizedState=kt}function Qn(g,y,R){y.firstCapturedUpdate!==null&&(y.lastUpdate!==null&&(y.lastUpdate.next=y.firstCapturedUpdate,y.lastUpdate=y.lastCapturedUpdate),y.firstCapturedUpdate=y.lastCapturedUpdate=null),ac(y.firstEffect,R),y.firstEffect=y.lastEffect=null,ac(y.firstCapturedEffect,R),y.firstCapturedEffect=y.lastCapturedEffect=null}function ac(g,y){for(;g!==null;){var R=g.callback;if(R!==null){g.callback=null;var F=y;if(typeof R!=\"function\")throw Error(t(191,R));R.call(F)}g=g.nextEffect}}var fi=k.ReactCurrentBatchConfig,$r=new p.Component().refs;function Zl(g,y,R,F){y=g.memoizedState,R=R(F,y),R=R==null?y:a({},y,R),g.memoizedState=R,F=g.updateQueue,F!==null&&g.expirationTime===0&&(F.baseState=R)}var oa={isMounted:function(g){return(g=g._reactInternalFiber)?qe(g)===g:!1},enqueueSetState:function(g,y,R){g=g._reactInternalFiber;var F=D0(),b=fi.suspense;F=Un(F,g,b),b=m0(F,b),b.payload=y,R!=null&&(b.callback=R),Q0(g,b),t0(g,F)},enqueueReplaceState:function(g,y,R){g=g._reactInternalFiber;var F=D0(),b=fi.suspense;F=Un(F,g,b),b=m0(F,b),b.tag=1,b.payload=y,R!=null&&(b.callback=R),Q0(g,b),t0(g,F)},enqueueForceUpdate:function(g,y){g=g._reactInternalFiber;var R=D0(),F=fi.suspense;R=Un(R,g,F),F=m0(R,F),F.tag=2,y!=null&&(F.callback=y),Q0(g,F),t0(g,R)}};function pf(g,y,R,F,b,J,ce){return g=g.stateNode,typeof g.shouldComponentUpdate==\"function\"?g.shouldComponentUpdate(F,J,ce):y.prototype&&y.prototype.isPureReactComponent?!dt(R,F)||!dt(b,J):!0}function bs(g,y,R){var F=!1,b=bn,J=y.contextType;return typeof J==\"object\"&&J!==null?J=ku(J):(b=eu(y)?Wt:Ai.current,F=y.contextTypes,J=(F=F!=null)?Au(g,b):bn),y=new y(R,J),g.memoizedState=y.state!==null&&y.state!==void 0?y.state:null,y.updater=oa,g.stateNode=y,y._reactInternalFiber=g,F&&(g=g.stateNode,g.__reactInternalMemoizedUnmaskedChildContext=b,g.__reactInternalMemoizedMaskedChildContext=J),y}function ba(g,y,R,F){g=y.state,typeof y.componentWillReceiveProps==\"function\"&&y.componentWillReceiveProps(R,F),typeof y.UNSAFE_componentWillReceiveProps==\"function\"&&y.UNSAFE_componentWillReceiveProps(R,F),y.state!==g&&oa.enqueueReplaceState(y,y.state,null)}function Bs(g,y,R,F){var b=g.stateNode;b.props=R,b.state=g.memoizedState,b.refs=$r;var J=y.contextType;typeof J==\"object\"&&J!==null?b.context=ku(J):(J=eu(y)?Wt:Ai.current,b.context=Au(g,J)),J=g.updateQueue,J!==null&&(S0(g,J,R,b,F),b.state=g.memoizedState),J=y.getDerivedStateFromProps,typeof J==\"function\"&&(Zl(g,y,J,R),b.state=g.memoizedState),typeof y.getDerivedStateFromProps==\"function\"||typeof b.getSnapshotBeforeUpdate==\"function\"||typeof b.UNSAFE_componentWillMount!=\"function\"&&typeof b.componentWillMount!=\"function\"||(y=b.state,typeof b.componentWillMount==\"function\"&&b.componentWillMount(),typeof b.UNSAFE_componentWillMount==\"function\"&&b.UNSAFE_componentWillMount(),y!==b.state&&oa.enqueueReplaceState(b,b.state,null),J=g.updateQueue,J!==null&&(S0(g,J,R,b,F),b.state=g.memoizedState)),typeof b.componentDidMount==\"function\"&&(g.effectTag|=4)}var y0=Array.isArray;function Us(g,y,R){if(g=R.ref,g!==null&&typeof g!=\"function\"&&typeof g!=\"object\"){if(R._owner){if(R=R._owner,R){if(R.tag!==1)throw Error(t(309));var F=R.stateNode}if(!F)throw Error(t(147,g));var b=\"\"+g;return y!==null&&y.ref!==null&&typeof y.ref==\"function\"&&y.ref._stringRef===b?y.ref:(y=function(J){var ce=F.refs;ce===$r&&(ce=F.refs={}),J===null?delete ce[b]:ce[b]=J},y._stringRef=b,y)}if(typeof g!=\"string\")throw Error(t(284));if(!R._owner)throw Error(t(290,g))}return g}function ji(g,y){if(g.type!==\"textarea\")throw Error(t(31,Object.prototype.toString.call(y)===\"[object Object]\"?\"object with keys {\"+Object.keys(y).join(\", \")+\"}\":y,\"\"))}function B(g){function y(Ve,Ue){if(g){var lt=Ve.lastEffect;lt!==null?(lt.nextEffect=Ue,Ve.lastEffect=Ue):Ve.firstEffect=Ve.lastEffect=Ue,Ue.nextEffect=null,Ue.effectTag=8}}function R(Ve,Ue){if(!g)return null;for(;Ue!==null;)y(Ve,Ue),Ue=Ue.sibling;return null}function F(Ve,Ue){for(Ve=new Map;Ue!==null;)Ue.key!==null?Ve.set(Ue.key,Ue):Ve.set(Ue.index,Ue),Ue=Ue.sibling;return Ve}function b(Ve,Ue,lt){return Ve=Gu(Ve,Ue,lt),Ve.index=0,Ve.sibling=null,Ve}function J(Ve,Ue,lt){return Ve.index=lt,g?(lt=Ve.alternate,lt!==null?(lt=lt.index,lt<Ue?(Ve.effectTag=2,Ue):lt):(Ve.effectTag=2,Ue)):Ue}function ce(Ve){return g&&Ve.alternate===null&&(Ve.effectTag=2),Ve}function mt(Ve,Ue,lt,$t){return Ue===null||Ue.tag!==6?(Ue=j0(lt,Ve.mode,$t),Ue.return=Ve,Ue):(Ue=b(Ue,lt,$t),Ue.return=Ve,Ue)}function xt(Ve,Ue,lt,$t){return Ue!==null&&Ue.elementType===lt.type?($t=b(Ue,lt.props,$t),$t.ref=Us(Ve,Ue,lt),$t.return=Ve,$t):($t=qa(lt.type,lt.key,lt.props,null,Ve.mode,$t),$t.ref=Us(Ve,Ue,lt),$t.return=Ve,$t)}function kt(Ve,Ue,lt,$t){return Ue===null||Ue.tag!==4||Ue.stateNode.containerInfo!==lt.containerInfo||Ue.stateNode.implementation!==lt.implementation?(Ue=Df(lt,Ve.mode,$t),Ue.return=Ve,Ue):(Ue=b(Ue,lt.children||[],$t),Ue.return=Ve,Ue)}function xr(Ve,Ue,lt,$t,Wn){return Ue===null||Ue.tag!==7?(Ue=r0(lt,Ve.mode,$t,Wn),Ue.return=Ve,Ue):(Ue=b(Ue,lt,$t),Ue.return=Ve,Ue)}function i0(Ve,Ue,lt){if(typeof Ue==\"string\"||typeof Ue==\"number\")return Ue=j0(\"\"+Ue,Ve.mode,lt),Ue.return=Ve,Ue;if(typeof Ue==\"object\"&&Ue!==null){switch(Ue.$$typeof){case O:return lt=qa(Ue.type,Ue.key,Ue.props,null,Ve.mode,lt),lt.ref=Us(Ve,null,Ue),lt.return=Ve,lt;case C:return Ue=Df(Ue,Ve.mode,lt),Ue.return=Ve,Ue}if(y0(Ue)||ie(Ue))return Ue=r0(Ue,Ve.mode,lt,null),Ue.return=Ve,Ue;ji(Ve,Ue)}return null}function cu(Ve,Ue,lt,$t){var Wn=Ue!==null?Ue.key:null;if(typeof lt==\"string\"||typeof lt==\"number\")return Wn!==null?null:mt(Ve,Ue,\"\"+lt,$t);if(typeof lt==\"object\"&&lt!==null){switch(lt.$$typeof){case O:return lt.key===Wn?lt.type===U?xr(Ve,Ue,lt.props.children,$t,Wn):xt(Ve,Ue,lt,$t):null;case C:return lt.key===Wn?kt(Ve,Ue,lt,$t):null}if(y0(lt)||ie(lt))return Wn!==null?null:xr(Ve,Ue,lt,$t,null);ji(Ve,lt)}return null}function z0(Ve,Ue,lt,$t,Wn){if(typeof $t==\"string\"||typeof $t==\"number\")return Ve=Ve.get(lt)||null,mt(Ue,Ve,\"\"+$t,Wn);if(typeof $t==\"object\"&&$t!==null){switch($t.$$typeof){case O:return Ve=Ve.get($t.key===null?lt:$t.key)||null,$t.type===U?xr(Ue,Ve,$t.props.children,Wn,$t.key):xt(Ue,Ve,$t,Wn);case C:return Ve=Ve.get($t.key===null?lt:$t.key)||null,kt(Ue,Ve,$t,Wn)}if(y0($t)||ie($t))return Ve=Ve.get(lt)||null,xr(Ue,Ve,$t,Wn,null);ji(Ue,$t)}return null}function Ol(Ve,Ue,lt,$t){for(var Wn=null,si=null,ur=Ue,ci=Ue=0,Qi=null;ur!==null&&ci<lt.length;ci++){ur.index>ci?(Qi=ur,ur=null):Qi=ur.sibling;var Gr=cu(Ve,ur,lt[ci],$t);if(Gr===null){ur===null&&(ur=Qi);break}g&&ur&&Gr.alternate===null&&y(Ve,ur),Ue=J(Gr,Ue,ci),si===null?Wn=Gr:si.sibling=Gr,si=Gr,ur=Qi}if(ci===lt.length)return R(Ve,ur),Wn;if(ur===null){for(;ci<lt.length;ci++)ur=i0(Ve,lt[ci],$t),ur!==null&&(Ue=J(ur,Ue,ci),si===null?Wn=ur:si.sibling=ur,si=ur);return Wn}for(ur=F(Ve,ur);ci<lt.length;ci++)Qi=z0(ur,Ve,ci,lt[ci],$t),Qi!==null&&(g&&Qi.alternate!==null&&ur.delete(Qi.key===null?ci:Qi.key),Ue=J(Qi,Ue,ci),si===null?Wn=Qi:si.sibling=Qi,si=Qi);return g&&ur.forEach(function(Cu){return y(Ve,Cu)}),Wn}function u0(Ve,Ue,lt,$t){var Wn=ie(lt);if(typeof Wn!=\"function\")throw Error(t(150));if(lt=Wn.call(lt),lt==null)throw Error(t(151));for(var si=Wn=null,ur=Ue,ci=Ue=0,Qi=null,Gr=lt.next();ur!==null&&!Gr.done;ci++,Gr=lt.next()){ur.index>ci?(Qi=ur,ur=null):Qi=ur.sibling;var Cu=cu(Ve,ur,Gr.value,$t);if(Cu===null){ur===null&&(ur=Qi);break}g&&ur&&Cu.alternate===null&&y(Ve,ur),Ue=J(Cu,Ue,ci),si===null?Wn=Cu:si.sibling=Cu,si=Cu,ur=Qi}if(Gr.done)return R(Ve,ur),Wn;if(ur===null){for(;!Gr.done;ci++,Gr=lt.next())Gr=i0(Ve,Gr.value,$t),Gr!==null&&(Ue=J(Gr,Ue,ci),si===null?Wn=Gr:si.sibling=Gr,si=Gr);return Wn}for(ur=F(Ve,ur);!Gr.done;ci++,Gr=lt.next())Gr=z0(ur,Ve,ci,Gr.value,$t),Gr!==null&&(g&&Gr.alternate!==null&&ur.delete(Gr.key===null?ci:Gr.key),Ue=J(Gr,Ue,ci),si===null?Wn=Gr:si.sibling=Gr,si=Gr);return g&&ur.forEach(function(Wa){return y(Ve,Wa)}),Wn}return function(Ve,Ue,lt,$t){var Wn=typeof lt==\"object\"&&lt!==null&&lt.type===U&&lt.key===null;Wn&&(lt=lt.props.children);var si=typeof lt==\"object\"&&lt!==null;if(si)switch(lt.$$typeof){case O:e:{for(si=lt.key,Wn=Ue;Wn!==null;){if(Wn.key===si)if(Wn.tag===7?lt.type===U:Wn.elementType===lt.type){R(Ve,Wn.sibling),Ue=b(Wn,lt.type===U?lt.props.children:lt.props,$t),Ue.ref=Us(Ve,Wn,lt),Ue.return=Ve,Ve=Ue;break e}else{R(Ve,Wn);break}else y(Ve,Wn);Wn=Wn.sibling}lt.type===U?(Ue=r0(lt.props.children,Ve.mode,$t,lt.key),Ue.return=Ve,Ve=Ue):($t=qa(lt.type,lt.key,lt.props,null,Ve.mode,$t),$t.ref=Us(Ve,Ue,lt),$t.return=Ve,Ve=$t)}return ce(Ve);case C:e:{for(Wn=lt.key;Ue!==null;){if(Ue.key===Wn)if(Ue.tag===4&&Ue.stateNode.containerInfo===lt.containerInfo&&Ue.stateNode.implementation===lt.implementation){R(Ve,Ue.sibling),Ue=b(Ue,lt.children||[],$t),Ue.return=Ve,Ve=Ue;break e}else{R(Ve,Ue);break}else y(Ve,Ue);Ue=Ue.sibling}Ue=Df(lt,Ve.mode,$t),Ue.return=Ve,Ve=Ue}return ce(Ve)}if(typeof lt==\"string\"||typeof lt==\"number\")return lt=\"\"+lt,Ue!==null&&Ue.tag===6?(R(Ve,Ue.sibling),Ue=b(Ue,lt,$t),Ue.return=Ve,Ve=Ue):(R(Ve,Ue),Ue=j0(lt,Ve.mode,$t),Ue.return=Ve,Ve=Ue),ce(Ve);if(y0(lt))return Ol(Ve,Ue,lt,$t);if(ie(lt))return u0(Ve,Ue,lt,$t);if(si&&ji(Ve,lt),typeof lt==\"undefined\"&&!Wn)switch(Ve.tag){case 1:case 0:throw Ve=Ve.type,Error(t(152,Ve.displayName||Ve.name||\"Component\"))}return R(Ve,Ue)}}var z=B(!0),G=B(!1),$={},Te={current:$},ge={current:$},Re={current:$};function Z(g){if(g===$)throw Error(t(174));return g}function ke(g,y){en(Re,y,g),en(ge,g,g),en(Te,$,g),y=Ft(y),yi(Te,g),en(Te,y,g)}function Qe(g){yi(Te,g),yi(ge,g),yi(Re,g)}function ht(g){var y=Z(Re.current),R=Z(Te.current);y=Jt(R,g.type,y),R!==y&&(en(ge,g,g),en(Te,y,g))}function ue(g){ge.current===g&&(yi(Te,g),yi(ge,g))}var He={current:0};function nt(g){for(var y=g;y!==null;){if(y.tag===13){var R=y.memoizedState;if(R!==null&&(R=R.dehydrated,R===null||Xr(R)||Ao(R)))return y}else if(y.tag===19&&y.memoizedProps.revealOrder!==void 0){if((y.effectTag&64)!=0)return y}else if(y.child!==null){y.child.return=y,y=y.child;continue}if(y===g)break;for(;y.sibling===null;){if(y.return===null||y.return===g)return null;y=y.return}y.sibling.return=y.return,y=y.sibling}return null}function Ct(g,y){return{responder:g,props:y}}var Mt=k.ReactCurrentDispatcher,It=k.ReactCurrentBatchConfig,sn=0,rn=null,Lt=null,Dn=null,dr=null,er=null,Cr=null,An=0,Nr=null,g0=0,Lr=!1,it=null,Dt=0;function $e(){throw Error(t(321))}function Pt(g,y){if(y===null)return!1;for(var R=0;R<y.length&&R<g.length;R++)if(!Le(g[R],y[R]))return!1;return!0}function un(g,y,R,F,b,J){if(sn=J,rn=y,Dn=g!==null?g.memoizedState:null,Mt.current=Dn===null?bo:gs,y=R(F,b),Lr){do Lr=!1,Dt+=1,Dn=g!==null?g.memoizedState:null,Cr=dr,Nr=er=Lt=null,Mt.current=gs,y=R(F,b);while(Lr);it=null,Dt=0}if(Mt.current=Io,g=rn,g.memoizedState=dr,g.expirationTime=An,g.updateQueue=Nr,g.effectTag|=g0,g=Lt!==null&&Lt.next!==null,sn=0,Cr=er=dr=Dn=Lt=rn=null,An=0,Nr=null,g0=0,g)throw Error(t(300));return y}function fn(){Mt.current=Io,sn=0,Cr=er=dr=Dn=Lt=rn=null,An=0,Nr=null,g0=0,Lr=!1,it=null,Dt=0}function Jn(){var g={memoizedState:null,baseState:null,queue:null,baseUpdate:null,next:null};return er===null?dr=er=g:er=er.next=g,er}function wr(){if(Cr!==null)er=Cr,Cr=er.next,Lt=Dn,Dn=Lt!==null?Lt.next:null;else{if(Dn===null)throw Error(t(310));Lt=Dn;var g={memoizedState:Lt.memoizedState,baseState:Lt.baseState,queue:Lt.queue,baseUpdate:Lt.baseUpdate,next:null};er=er===null?dr=g:er.next=g,Dn=Lt.next}return er}function au(g,y){return typeof y==\"function\"?y(g):y}function Nu(g){var y=wr(),R=y.queue;if(R===null)throw Error(t(311));if(R.lastRenderedReducer=g,0<Dt){var F=R.dispatch;if(it!==null){var b=it.get(R);if(b!==void 0){it.delete(R);var J=y.memoizedState;do J=g(J,b.action),b=b.next;while(b!==null);return Le(J,y.memoizedState)||(po=!0),y.memoizedState=J,y.baseUpdate===R.last&&(y.baseState=J),R.lastRenderedState=J,[J,F]}}return[y.memoizedState,F]}F=R.last;var ce=y.baseUpdate;if(J=y.baseState,ce!==null?(F!==null&&(F.next=null),F=ce.next):F=F!==null?F.next:null,F!==null){var mt=b=null,xt=F,kt=!1;do{var xr=xt.expirationTime;xr<sn?(kt||(kt=!0,mt=ce,b=J),xr>An&&(An=xr,Ua(An))):(cc(xr,xt.suspenseConfig),J=xt.eagerReducer===g?xt.eagerState:g(J,xt.action)),ce=xt,xt=xt.next}while(xt!==null&&xt!==F);kt||(mt=ce,b=J),Le(J,y.memoizedState)||(po=!0),y.memoizedState=J,y.baseUpdate=mt,y.baseState=b,R.lastRenderedState=J}return[y.memoizedState,R.dispatch]}function T0(g){var y=Jn();return typeof g==\"function\"&&(g=g()),y.memoizedState=y.baseState=g,g=y.queue={last:null,dispatch:null,lastRenderedReducer:au,lastRenderedState:g},g=g.dispatch=js.bind(null,rn,g),[y.memoizedState,g]}function J0(g){return Nu(au,g)}function Lu(g,y,R,F){return g={tag:g,create:y,destroy:R,deps:F,next:null},Nr===null?(Nr={lastEffect:null},Nr.lastEffect=g.next=g):(y=Nr.lastEffect,y===null?Nr.lastEffect=g.next=g:(R=y.next,y.next=g,g.next=R,Nr.lastEffect=g)),g}function _i(g,y,R,F){var b=Jn();g0|=g,b.memoizedState=Lu(y,R,void 0,F===void 0?null:F)}function Fo(g,y,R,F){var b=wr();F=F===void 0?null:F;var J=void 0;if(Lt!==null){var ce=Lt.memoizedState;if(J=ce.destroy,F!==null&&Pt(F,ce.deps)){Lu(0,R,J,F);return}}g0|=g,b.memoizedState=Lu(y,R,J,F)}function nl(g,y){return _i(516,192,g,y)}function hf(g,y){return Fo(516,192,g,y)}function Sl(g,y){if(typeof y==\"function\")return g=g(),y(g),function(){y(null)};if(y!=null)return g=g(),y.current=g,function(){y.current=null}}function vf(){}function Po(g,y){return Jn().memoizedState=[g,y===void 0?null:y],g}function ys(g,y){var R=wr();y=y===void 0?null:y;var F=R.memoizedState;return F!==null&&y!==null&&Pt(y,F[1])?F[0]:(R.memoizedState=[g,y],g)}function js(g,y,R){if(!(25>Dt))throw Error(t(301));var F=g.alternate;if(g===rn||F!==null&&F===rn)if(Lr=!0,g={expirationTime:sn,suspenseConfig:null,action:R,eagerReducer:null,eagerState:null,next:null},it===null&&(it=new Map),R=it.get(y),R===void 0)it.set(y,g);else{for(y=R;y.next!==null;)y=y.next;y.next=g}else{var b=D0(),J=fi.suspense;b=Un(b,g,J),J={expirationTime:b,suspenseConfig:J,action:R,eagerReducer:null,eagerState:null,next:null};var ce=y.last;if(ce===null)J.next=J;else{var mt=ce.next;mt!==null&&(J.next=mt),ce.next=J}if(y.last=J,g.expirationTime===0&&(F===null||F.expirationTime===0)&&(F=y.lastRenderedReducer,F!==null))try{var xt=y.lastRenderedState,kt=F(xt,R);if(J.eagerReducer=F,J.eagerState=kt,Le(kt,xt))return}catch(xr){}finally{}t0(g,b)}}var Io={readContext:ku,useCallback:$e,useContext:$e,useEffect:$e,useImperativeHandle:$e,useLayoutEffect:$e,useMemo:$e,useReducer:$e,useRef:$e,useState:$e,useDebugValue:$e,useResponder:$e,useDeferredValue:$e,useTransition:$e},bo={readContext:ku,useCallback:Po,useContext:ku,useEffect:nl,useImperativeHandle:function(g,y,R){return R=R!=null?R.concat([g]):null,_i(4,36,Sl.bind(null,y,g),R)},useLayoutEffect:function(g,y){return _i(4,36,g,y)},useMemo:function(g,y){var R=Jn();return y=y===void 0?null:y,g=g(),R.memoizedState=[g,y],g},useReducer:function(g,y,R){var F=Jn();return y=R!==void 0?R(y):y,F.memoizedState=F.baseState=y,g=F.queue={last:null,dispatch:null,lastRenderedReducer:g,lastRenderedState:y},g=g.dispatch=js.bind(null,rn,g),[F.memoizedState,g]},useRef:function(g){var y=Jn();return g={current:g},y.memoizedState=g},useState:T0,useDebugValue:vf,useResponder:Ct,useDeferredValue:function(g,y){var R=T0(g),F=R[0],b=R[1];return nl(function(){_.unstable_next(function(){var J=It.suspense;It.suspense=y===void 0?null:y;try{b(g)}finally{It.suspense=J}})},[g,y]),F},useTransition:function(g){var y=T0(!1),R=y[0],F=y[1];return[Po(function(b){F(!0),_.unstable_next(function(){var J=It.suspense;It.suspense=g===void 0?null:g;try{F(!1),b()}finally{It.suspense=J}})},[g,R]),R]}},gs={readContext:ku,useCallback:ys,useContext:ku,useEffect:hf,useImperativeHandle:function(g,y,R){return R=R!=null?R.concat([g]):null,Fo(4,36,Sl.bind(null,y,g),R)},useLayoutEffect:function(g,y){return Fo(4,36,g,y)},useMemo:function(g,y){var R=wr();y=y===void 0?null:y;var F=R.memoizedState;return F!==null&&y!==null&&Pt(y,F[1])?F[0]:(g=g(),R.memoizedState=[g,y],g)},useReducer:Nu,useRef:function(){return wr().memoizedState},useState:J0,useDebugValue:vf,useResponder:Ct,useDeferredValue:function(g,y){var R=J0(g),F=R[0],b=R[1];return hf(function(){_.unstable_next(function(){var J=It.suspense;It.suspense=y===void 0?null:y;try{b(g)}finally{It.suspense=J}})},[g,y]),F},useTransition:function(g){var y=J0(!1),R=y[0],F=y[1];return[ys(function(b){F(!0),_.unstable_next(function(){var J=It.suspense;It.suspense=g===void 0?null:g;try{F(!1),b()}finally{It.suspense=J}})},[g,R]),R]}},Qu=null,Tu=null,Ei=!1;function C0(g,y){var R=zo(5,null,null,0);R.elementType=\"DELETED\",R.type=\"DELETED\",R.stateNode=y,R.return=g,R.effectTag=8,g.lastEffect!==null?(g.lastEffect.nextEffect=R,g.lastEffect=R):g.firstEffect=g.lastEffect=R}function Z0(g,y){switch(g.tag){case 5:return y=Uu(y,g.type,g.pendingProps),y!==null?(g.stateNode=y,!0):!1;case 6:return y=Y0(y,g.pendingProps),y!==null?(g.stateNode=y,!0):!1;case 13:return!1;default:return!1}}function Bo(g){if(Ei){var y=Tu;if(y){var R=y;if(!Z0(g,y)){if(y=Oo(R),!y||!Z0(g,y)){g.effectTag=g.effectTag&-1025|2,Ei=!1,Qu=g;return}C0(Qu,R)}Qu=g,Tu=F0(y)}else g.effectTag=g.effectTag&-1025|2,Ei=!1,Qu=g}}function la(g){for(g=g.return;g!==null&&g.tag!==5&&g.tag!==3&&g.tag!==13;)g=g.return;Qu=g}function $l(g){if(!w||g!==Qu)return!1;if(!Ei)return la(g),Ei=!0,!1;var y=g.type;if(g.tag!==5||y!==\"head\"&&y!==\"body\"&&!ct(y,g.memoizedProps))for(y=Tu;y;)C0(g,y),y=Oo(y);if(la(g),g.tag===13){if(!w)throw Error(t(316));if(g=g.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(t(317));Tu=Ps(g)}else Tu=Qu?Oo(g.stateNode):null;return!0}function tu(){w&&(Tu=Qu=null,Ei=!1)}var ei=k.ReactCurrentOwner,po=!1;function Bi(g,y,R,F){y.child=g===null?G(y,null,R,F):z(y,g.child,R,F)}function Ci(g,y,R,F,b){R=R.render;var J=y.ref;return Lo(y,b),F=un(g,y,R,F,J,b),g!==null&&!po?(y.updateQueue=g.updateQueue,y.effectTag&=-517,g.expirationTime<=b&&(g.expirationTime=0),yu(g,y,b)):(y.effectTag|=1,Bi(g,y,F,b),y.child)}function mf(g,y,R,F,b,J){if(g===null){var ce=R.type;return typeof ce==\"function\"&&!Ef(ce)&&ce.defaultProps===void 0&&R.compare===null&&R.defaultProps===void 0?(y.tag=15,y.type=ce,yf(g,y,ce,F,b,J)):(g=qa(R.type,null,F,null,y.mode,J),g.ref=y.ref,g.return=y,y.child=g)}return ce=g.child,b<J&&(b=ce.memoizedProps,R=R.compare,R=R!==null?R:dt,R(b,F)&&g.ref===y.ref)?yu(g,y,J):(y.effectTag|=1,g=Gu(ce,F,J),g.ref=y.ref,g.return=y,y.child=g)}function yf(g,y,R,F,b,J){return g!==null&&dt(g.memoizedProps,F)&&g.ref===y.ref&&(po=!1,b<J)?yu(g,y,J):eo(g,y,R,F,J)}function $0(g,y){var R=y.ref;(g===null&&R!==null||g!==null&&g.ref!==R)&&(y.effectTag|=128)}function eo(g,y,R,F,b){var J=eu(R)?Wt:Ai.current;return J=Au(y,J),Lo(y,b),R=un(g,y,R,F,J,b),g!==null&&!po?(y.updateQueue=g.updateQueue,y.effectTag&=-517,g.expirationTime<=b&&(g.expirationTime=0),yu(g,y,b)):(y.effectTag|=1,Bi(g,y,R,b),y.child)}function Ce(g,y,R,F,b){if(eu(R)){var J=!0;ai(y)}else J=!1;if(Lo(y,b),y.stateNode===null)g!==null&&(g.alternate=null,y.alternate=null,y.effectTag|=2),bs(y,R,F,b),Bs(y,R,F,b),F=!0;else if(g===null){var ce=y.stateNode,mt=y.memoizedProps;ce.props=mt;var xt=ce.context,kt=R.contextType;typeof kt==\"object\"&&kt!==null?kt=ku(kt):(kt=eu(R)?Wt:Ai.current,kt=Au(y,kt));var xr=R.getDerivedStateFromProps,i0=typeof xr==\"function\"||typeof ce.getSnapshotBeforeUpdate==\"function\";i0||typeof ce.UNSAFE_componentWillReceiveProps!=\"function\"&&typeof ce.componentWillReceiveProps!=\"function\"||(mt!==F||xt!==kt)&&ba(y,ce,F,kt),co=!1;var cu=y.memoizedState;xt=ce.state=cu;var z0=y.updateQueue;z0!==null&&(S0(y,z0,F,ce,b),xt=y.memoizedState),mt!==F||cu!==xt||gi.current||co?(typeof xr==\"function\"&&(Zl(y,R,xr,F),xt=y.memoizedState),(mt=co||pf(y,R,mt,F,cu,xt,kt))?(i0||typeof ce.UNSAFE_componentWillMount!=\"function\"&&typeof ce.componentWillMount!=\"function\"||(typeof ce.componentWillMount==\"function\"&&ce.componentWillMount(),typeof ce.UNSAFE_componentWillMount==\"function\"&&ce.UNSAFE_componentWillMount()),typeof ce.componentDidMount==\"function\"&&(y.effectTag|=4)):(typeof ce.componentDidMount==\"function\"&&(y.effectTag|=4),y.memoizedProps=F,y.memoizedState=xt),ce.props=F,ce.state=xt,ce.context=kt,F=mt):(typeof ce.componentDidMount==\"function\"&&(y.effectTag|=4),F=!1)}else ce=y.stateNode,mt=y.memoizedProps,ce.props=y.type===y.elementType?mt:Yn(y.type,mt),xt=ce.context,kt=R.contextType,typeof kt==\"object\"&&kt!==null?kt=ku(kt):(kt=eu(R)?Wt:Ai.current,kt=Au(y,kt)),xr=R.getDerivedStateFromProps,(i0=typeof xr==\"function\"||typeof ce.getSnapshotBeforeUpdate==\"function\")||typeof ce.UNSAFE_componentWillReceiveProps!=\"function\"&&typeof ce.componentWillReceiveProps!=\"function\"||(mt!==F||xt!==kt)&&ba(y,ce,F,kt),co=!1,xt=y.memoizedState,cu=ce.state=xt,z0=y.updateQueue,z0!==null&&(S0(y,z0,F,ce,b),cu=y.memoizedState),mt!==F||xt!==cu||gi.current||co?(typeof xr==\"function\"&&(Zl(y,R,xr,F),cu=y.memoizedState),(xr=co||pf(y,R,mt,F,xt,cu,kt))?(i0||typeof ce.UNSAFE_componentWillUpdate!=\"function\"&&typeof ce.componentWillUpdate!=\"function\"||(typeof ce.componentWillUpdate==\"function\"&&ce.componentWillUpdate(F,cu,kt),typeof ce.UNSAFE_componentWillUpdate==\"function\"&&ce.UNSAFE_componentWillUpdate(F,cu,kt)),typeof ce.componentDidUpdate==\"function\"&&(y.effectTag|=4),typeof ce.getSnapshotBeforeUpdate==\"function\"&&(y.effectTag|=256)):(typeof ce.componentDidUpdate!=\"function\"||mt===g.memoizedProps&&xt===g.memoizedState||(y.effectTag|=4),typeof ce.getSnapshotBeforeUpdate!=\"function\"||mt===g.memoizedProps&&xt===g.memoizedState||(y.effectTag|=256),y.memoizedProps=F,y.memoizedState=cu),ce.props=F,ce.state=cu,ce.context=kt,F=xr):(typeof ce.componentDidUpdate!=\"function\"||mt===g.memoizedProps&&xt===g.memoizedState||(y.effectTag|=4),typeof ce.getSnapshotBeforeUpdate!=\"function\"||mt===g.memoizedProps&&xt===g.memoizedState||(y.effectTag|=256),F=!1);return et(g,y,R,F,J,b)}function et(g,y,R,F,b,J){$0(g,y);var ce=(y.effectTag&64)!=0;if(!F&&!ce)return b&&so(y,R,!1),yu(g,y,J);F=y.stateNode,ei.current=y;var mt=ce&&typeof R.getDerivedStateFromError!=\"function\"?null:F.render();return y.effectTag|=1,g!==null&&ce?(y.child=z(y,g.child,null,J),y.child=z(y,null,mt,J)):Bi(g,y,mt,J),y.memoizedState=F.state,b&&so(y,R,!0),y.child}function Ye(g){var y=g.stateNode;y.pendingContext?Xl(g,y.pendingContext,y.pendingContext!==y.context):y.context&&Xl(g,y.context,!1),ke(g,y.containerInfo)}var Yt={dehydrated:null,retryTime:0};function Kt(g,y,R){var F=y.mode,b=y.pendingProps,J=He.current,ce=!1,mt;if((mt=(y.effectTag&64)!=0)||(mt=(J&2)!=0&&(g===null||g.memoizedState!==null)),mt?(ce=!0,y.effectTag&=-65):g!==null&&g.memoizedState===null||b.fallback===void 0||b.unstable_avoidThisFallback===!0||(J|=1),en(He,J&1,y),g===null){if(b.fallback!==void 0&&Bo(y),ce){if(ce=b.fallback,b=r0(null,F,0,null),b.return=y,(y.mode&2)==0)for(g=y.memoizedState!==null?y.child.child:y.child,b.child=g;g!==null;)g.return=b,g=g.sibling;return R=r0(ce,F,R,null),R.return=y,b.sibling=R,y.memoizedState=Yt,y.child=b,R}return F=b.children,y.memoizedState=null,y.child=G(y,null,F,R)}if(g.memoizedState!==null){if(g=g.child,F=g.sibling,ce){if(b=b.fallback,R=Gu(g,g.pendingProps,0),R.return=y,(y.mode&2)==0&&(ce=y.memoizedState!==null?y.child.child:y.child,ce!==g.child))for(R.child=ce;ce!==null;)ce.return=R,ce=ce.sibling;return F=Gu(F,b,F.expirationTime),F.return=y,R.sibling=F,R.childExpirationTime=0,y.memoizedState=Yt,y.child=R,F}return R=z(y,g.child,b.children,R),y.memoizedState=null,y.child=R}if(g=g.child,ce){if(ce=b.fallback,b=r0(null,F,0,null),b.return=y,b.child=g,g!==null&&(g.return=b),(y.mode&2)==0)for(g=y.memoizedState!==null?y.child.child:y.child,b.child=g;g!==null;)g.return=b,g=g.sibling;return R=r0(ce,F,R,null),R.return=y,b.sibling=R,R.effectTag|=2,b.childExpirationTime=0,y.memoizedState=Yt,y.child=b,R}return y.memoizedState=null,y.child=z(y,g,b.children,R)}function pr(g,y){g.expirationTime<y&&(g.expirationTime=y);var R=g.alternate;R!==null&&R.expirationTime<y&&(R.expirationTime=y),Ti(g.return,y)}function Wr(g,y,R,F,b,J){var ce=g.memoizedState;ce===null?g.memoizedState={isBackwards:y,rendering:null,last:F,tail:R,tailExpiration:0,tailMode:b,lastEffect:J}:(ce.isBackwards=y,ce.rendering=null,ce.last=F,ce.tail=R,ce.tailExpiration=0,ce.tailMode=b,ce.lastEffect=J)}function xn(g,y,R){var F=y.pendingProps,b=F.revealOrder,J=F.tail;if(Bi(g,y,F.children,R),F=He.current,(F&2)!=0)F=F&1|2,y.effectTag|=64;else{if(g!==null&&(g.effectTag&64)!=0)e:for(g=y.child;g!==null;){if(g.tag===13)g.memoizedState!==null&&pr(g,R);else if(g.tag===19)pr(g,R);else if(g.child!==null){g.child.return=g,g=g.child;continue}if(g===y)break e;for(;g.sibling===null;){if(g.return===null||g.return===y)break e;g=g.return}g.sibling.return=g.return,g=g.sibling}F&=1}if(en(He,F,y),(y.mode&2)==0)y.memoizedState=null;else switch(b){case\"forwards\":for(R=y.child,b=null;R!==null;)g=R.alternate,g!==null&&nt(g)===null&&(b=R),R=R.sibling;R=b,R===null?(b=y.child,y.child=null):(b=R.sibling,R.sibling=null),Wr(y,!1,b,R,J,y.lastEffect);break;case\"backwards\":for(R=null,b=y.child,y.child=null;b!==null;){if(g=b.alternate,g!==null&&nt(g)===null){y.child=b;break}g=b.sibling,b.sibling=R,R=b,b=g}Wr(y,!0,R,null,J,y.lastEffect);break;case\"together\":Wr(y,!1,null,null,void 0,y.lastEffect);break;default:y.memoizedState=null}return y.child}function yu(g,y,R){g!==null&&(y.dependencies=g.dependencies);var F=y.expirationTime;if(F!==0&&Ua(F),y.childExpirationTime<R)return null;if(g!==null&&y.child!==g.child)throw Error(t(153));if(y.child!==null){for(g=y.child,R=Gu(g,g.pendingProps,g.expirationTime),y.child=R,R.return=y;g.sibling!==null;)g=g.sibling,R=R.sibling=Gu(g,g.pendingProps,g.expirationTime),R.return=y;R.sibling=null}return y.child}function Ju(g){g.effectTag|=4}var ti,Jr,Wu,Rn;if(Vt)ti=function(g,y){for(var R=y.child;R!==null;){if(R.tag===5||R.tag===6)xe(g,R.stateNode);else if(R.tag!==4&&R.child!==null){R.child.return=R,R=R.child;continue}if(R===y)break;for(;R.sibling===null;){if(R.return===null||R.return===y)return;R=R.return}R.sibling.return=R.return,R=R.sibling}},Jr=function(){},Wu=function(g,y,R,F,b){if(g=g.memoizedProps,g!==F){var J=y.stateNode,ce=Z(Te.current);R=ze(J,R,g,F,b,ce),(y.updateQueue=R)&&Ju(y)}},Rn=function(g,y,R,F){R!==F&&Ju(y)};else if(Er){ti=function(g,y,R,F){for(var b=y.child;b!==null;){if(b.tag===5){var J=b.stateNode;R&&F&&(J=$o(J,b.type,b.memoizedProps,b)),xe(g,J)}else if(b.tag===6)J=b.stateNode,R&&F&&(J=G0(J,b.memoizedProps,b)),xe(g,J);else if(b.tag!==4){if(b.tag===13&&(b.effectTag&4)!=0&&(J=b.memoizedState!==null)){var ce=b.child;if(ce!==null&&(ce.child!==null&&(ce.child.return=ce,ti(g,ce,!0,J)),J=ce.sibling,J!==null)){J.return=b,b=J;continue}}if(b.child!==null){b.child.return=b,b=b.child;continue}}if(b===y)break;for(;b.sibling===null;){if(b.return===null||b.return===y)return;b=b.return}b.sibling.return=b.return,b=b.sibling}};var x0=function(g,y,R,F){for(var b=y.child;b!==null;){if(b.tag===5){var J=b.stateNode;R&&F&&(J=$o(J,b.type,b.memoizedProps,b)),lu(g,J)}else if(b.tag===6)J=b.stateNode,R&&F&&(J=G0(J,b.memoizedProps,b)),lu(g,J);else if(b.tag!==4){if(b.tag===13&&(b.effectTag&4)!=0&&(J=b.memoizedState!==null)){var ce=b.child;if(ce!==null&&(ce.child!==null&&(ce.child.return=ce,x0(g,ce,!0,J)),J=ce.sibling,J!==null)){J.return=b,b=J;continue}}if(b.child!==null){b.child.return=b,b=b.child;continue}}if(b===y)break;for(;b.sibling===null;){if(b.return===null||b.return===y)return;b=b.return}b.sibling.return=b.return,b=b.sibling}};Jr=function(g){var y=g.stateNode;if(g.firstEffect!==null){var R=y.containerInfo,F=xi(R);x0(F,g,!1,!1),y.pendingChildren=F,Ju(g),mi(R,F)}},Wu=function(g,y,R,F,b){var J=g.stateNode,ce=g.memoizedProps;if((g=y.firstEffect===null)&&ce===F)y.stateNode=J;else{var mt=y.stateNode,xt=Z(Te.current),kt=null;ce!==F&&(kt=ze(mt,R,ce,F,b,xt)),g&&kt===null?y.stateNode=J:(J=qt(J,kt,R,ce,F,y,g,mt),oe(J,R,F,b,xt)&&Ju(y),y.stateNode=J,g?Ju(y):ti(J,y,!1,!1))}},Rn=function(g,y,R,F){R!==F&&(g=Z(Re.current),R=Z(Te.current),y.stateNode=nn(F,g,R,y),Ju(y))}}else Jr=function(){},Wu=function(){},Rn=function(){};function Fu(g,y){switch(g.tailMode){case\"hidden\":y=g.tail;for(var R=null;y!==null;)y.alternate!==null&&(R=y),y=y.sibling;R===null?g.tail=null:R.sibling=null;break;case\"collapsed\":R=g.tail;for(var F=null;R!==null;)R.alternate!==null&&(F=R),R=R.sibling;F===null?y||g.tail===null?g.tail=null:g.tail.sibling=null:F.sibling=null}}function li(g){switch(g.tag){case 1:eu(g.type)&&X0(g);var y=g.effectTag;return y&4096?(g.effectTag=y&-4097|64,g):null;case 3:if(Qe(g),Yi(g),y=g.effectTag,(y&64)!=0)throw Error(t(285));return g.effectTag=y&-4097|64,g;case 5:return ue(g),null;case 13:return yi(He,g),y=g.effectTag,y&4096?(g.effectTag=y&-4097|64,g):null;case 19:return yi(He,g),null;case 4:return Qe(g),null;case 10:return Su(g),null;default:return null}}function Tl(g,y){return{value:g,source:y,stack:Hr(y)}}var zs=typeof WeakSet==\"function\"?WeakSet:Set;function Vu(g,y){var R=y.source,F=y.stack;F===null&&R!==null&&(F=Hr(R)),R!==null&&je(R.type),y=y.value,g!==null&&g.tag===1&&je(g.type);try{console.error(y)}catch(b){setTimeout(function(){throw b})}}function sa(g,y){try{y.props=g.memoizedProps,y.state=g.memoizedState,y.componentWillUnmount()}catch(R){jo(g,R)}}function Xi(g){var y=g.ref;if(y!==null)if(typeof y==\"function\")try{y(null)}catch(R){jo(g,R)}else y.current=null}function Hs(g,y){switch(y.tag){case 0:case 11:case 15:R0(2,0,y);break;case 1:if(y.effectTag&256&&g!==null){var R=g.memoizedProps,F=g.memoizedState;g=y.stateNode,y=g.getSnapshotBeforeUpdate(y.elementType===y.type?R:Yn(y.type,R),F),g.__reactInternalSnapshotBeforeUpdate=y}break;case 3:case 5:case 6:case 4:case 17:break;default:throw Error(t(163))}}function R0(g,y,R){if(R=R.updateQueue,R=R!==null?R.lastEffect:null,R!==null){var F=R=R.next;do{if((F.tag&g)!=0){var b=F.destroy;F.destroy=void 0,b!==void 0&&b()}(F.tag&y)!=0&&(b=F.create,F.destroy=b()),F=F.next}while(F!==R)}}function zi(g,y,R){switch(typeof ws==\"function\"&&ws(y),y.tag){case 0:case 11:case 14:case 15:if(g=y.updateQueue,g!==null&&(g=g.lastEffect,g!==null)){var F=g.next;fo(97<R?97:R,function(){var b=F;do{var J=b.destroy;if(J!==void 0){var ce=y;try{J()}catch(mt){jo(ce,mt)}}b=b.next}while(b!==F)})}break;case 1:Xi(y),R=y.stateNode,typeof R.componentWillUnmount==\"function\"&&sa(y,R);break;case 5:Xi(y);break;case 4:Vt?O0(g,y,R):Er&&rl(y)}}function A0(g,y,R){for(var F=y;;)if(zi(g,F,R),F.child===null||Vt&&F.tag===4){if(F===y)break;for(;F.sibling===null;){if(F.return===null||F.return===y)return;F=F.return}F.sibling.return=F.return,F=F.sibling}else F.child.return=F,F=F.child}function Hi(g){var y=g.alternate;g.return=null,g.child=null,g.memoizedState=null,g.updateQueue=null,g.dependencies=null,g.alternate=null,g.firstEffect=null,g.lastEffect=null,g.pendingProps=null,g.memoizedProps=null,y!==null&&Hi(y)}function rl(g){if(Er){g=g.stateNode.containerInfo;var y=xi(g);Dr(g,y)}}function Cl(g){return g.tag===5||g.tag===3||g.tag===4}function B0(g){if(Vt){e:{for(var y=g.return;y!==null;){if(Cl(y)){var R=y;break e}y=y.return}throw Error(t(160))}switch(y=R.stateNode,R.tag){case 5:var F=!1;break;case 3:y=y.containerInfo,F=!0;break;case 4:y=y.containerInfo,F=!0;break;default:throw Error(t(161))}R.effectTag&16&&(Ro(y),R.effectTag&=-17);e:t:for(R=g;;){for(;R.sibling===null;){if(R.return===null||Cl(R.return)){R=null;break e}R=R.return}for(R.sibling.return=R.return,R=R.sibling;R.tag!==5&&R.tag!==6&&R.tag!==18;){if(R.effectTag&2||R.child===null||R.tag===4)continue t;R.child.return=R,R=R.child}if(!(R.effectTag&2)){R=R.stateNode;break e}}for(var b=g;;){var J=b.tag===5||b.tag===6;if(J)J=J?b.stateNode:b.stateNode.instance,R?F?Xt(y,J,R):zr(y,J,R):F?Xn(y,J):jt(y,J);else if(b.tag!==4&&b.child!==null){b.child.return=b,b=b.child;continue}if(b===g)break;for(;b.sibling===null;){if(b.return===null||b.return===g)return;b=b.return}b.sibling.return=b.return,b=b.sibling}}}function O0(g,y,R){for(var F=y,b=!1,J,ce;;){if(!b){b=F.return;e:for(;;){if(b===null)throw Error(t(160));switch(J=b.stateNode,b.tag){case 5:ce=!1;break e;case 3:J=J.containerInfo,ce=!0;break e;case 4:J=J.containerInfo,ce=!0;break e}b=b.return}b=!0}if(F.tag===5||F.tag===6)A0(g,F,R),ce?d0(J,F.stateNode):wu(J,F.stateNode);else if(F.tag===4){if(F.child!==null){J=F.stateNode.containerInfo,ce=!0,F.child.return=F,F=F.child;continue}}else if(zi(g,F,R),F.child!==null){F.child.return=F,F=F.child;continue}if(F===y)break;for(;F.sibling===null;){if(F.return===null||F.return===y)return;F=F.return,F.tag===4&&(b=!1)}F.sibling.return=F.return,F=F.sibling}}function ho(g,y){if(Vt)switch(y.tag){case 0:case 11:case 14:case 15:R0(4,8,y);break;case 1:break;case 5:var R=y.stateNode;if(R!=null){var F=y.memoizedProps;g=g!==null?g.memoizedProps:F;var b=y.type,J=y.updateQueue;y.updateQueue=null,J!==null&&fr(R,J,b,g,F,y)}break;case 6:if(y.stateNode===null)throw Error(t(162));R=y.memoizedProps,vr(y.stateNode,g!==null?g.memoizedProps:R,R);break;case 3:w&&(y=y.stateNode,y.hydrate&&(y.hydrate=!1,Kl(y.containerInfo)));break;case 12:break;case 13:Pu(y),Zu(y);break;case 19:Zu(y);break;case 17:break;case 20:break;case 21:break;default:throw Error(t(163))}else{switch(y.tag){case 0:case 11:case 14:case 15:R0(4,8,y);return;case 12:return;case 13:Pu(y),Zu(y);return;case 19:Zu(y);return;case 3:w&&(R=y.stateNode,R.hydrate&&(R.hydrate=!1,Kl(R.containerInfo)))}e:if(Er)switch(y.tag){case 1:case 5:case 6:case 20:break e;case 3:case 4:y=y.stateNode,Dr(y.containerInfo,y.pendingChildren);break e;default:throw Error(t(163))}}}function Pu(g){var y=g;if(g.memoizedState===null)var R=!1;else R=!0,y=g.child,Tn=v0();if(Vt&&y!==null)e:if(g=y,Vt)for(y=g;;){if(y.tag===5){var F=y.stateNode;R?Qo(F):Jo(y.stateNode,y.memoizedProps)}else if(y.tag===6)F=y.stateNode,R?Fs(F):Zo(F,y.memoizedProps);else if(y.tag===13&&y.memoizedState!==null&&y.memoizedState.dehydrated===null){F=y.child.sibling,F.return=y,y=F;continue}else if(y.child!==null){y.child.return=y,y=y.child;continue}if(y===g)break e;for(;y.sibling===null;){if(y.return===null||y.return===g)break e;y=y.return}y.sibling.return=y.return,y=y.sibling}}function Zu(g){var y=g.updateQueue;if(y!==null){g.updateQueue=null;var R=g.stateNode;R===null&&(R=g.stateNode=new zs),y.forEach(function(F){var b=za.bind(null,g,F);R.has(F)||(R.add(F),F.then(b,b))})}}var es=typeof WeakMap==\"function\"?WeakMap:Map;function _s(g,y,R){R=m0(R,null),R.tag=3,R.payload={element:null};var F=y.value;return R.callback=function(){Fi||(Fi=!0,Ar=F),Vu(g,y)},R}function aa(g,y,R){R=m0(R,null),R.tag=3;var F=g.type.getDerivedStateFromError;if(typeof F==\"function\"){var b=y.value;R.payload=function(){return Vu(g,y),F(b)}}var J=g.stateNode;return J!==null&&typeof J.componentDidCatch==\"function\"&&(R.callback=function(){typeof F!=\"function\"&&(mr===null?mr=new Set([this]):mr.add(this),Vu(g,y));var ce=y.stack;this.componentDidCatch(y.value,{componentStack:ce!==null?ce:\"\"})}),R}var gf=Math.ceil,$u=k.ReactCurrentDispatcher,Es=k.ReactCurrentOwner,Rr=0,to=8,nu=16,fu=32,Li=0,ni=1,Kn=2,e0=3,_0=4,E0=5,Fn=Rr,ae=null,re=null,Fe=0,Ae=Li,st=null,vt=1073741823,Qt=1073741823,On=null,Sn=0,_n=!1,Tn=0,ir=500,Bt=null,Fi=!1,Ar=null,mr=null,Y=!1,ri=null,ii=90,Vr=null,at=0,Di=null,ru=0;function D0(){return(Fn&(nu|fu))!==Rr?1073741821-(v0()/10|0):ru!==0?ru:ru=1073741821-(v0()/10|0)}function Un(g,y,R){if(y=y.mode,(y&2)==0)return 1073741823;var F=hs();if((y&4)==0)return F===99?1073741823:1073741822;if((Fn&nu)!==Rr)return Fe;if(R!==null)g=X(g,R.timeoutMs|0||5e3,250);else switch(F){case 99:g=1073741823;break;case 98:g=X(g,150,100);break;case 97:case 96:g=X(g,5e3,250);break;case 95:g=2;break;default:throw Error(t(326))}return ae!==null&&g===Fe&&--g,g}function t0(g,y){if(50<at)throw at=0,Di=null,Error(t(185));if(g=no(g,y),g!==null){var R=hs();y===1073741823?(Fn&to)!==Rr&&(Fn&(nu|fu))===Rr?ro(g):(n0(g),Fn===Rr&&ju()):n0(g),(Fn&4)===Rr||R!==98&&R!==99||(Vr===null?Vr=new Map([[g,y]]):(R=Vr.get(g),(R===void 0||R>y)&&Vr.set(g,y)))}}function no(g,y){g.expirationTime<y&&(g.expirationTime=y);var R=g.alternate;R!==null&&R.expirationTime<y&&(R.expirationTime=y);var F=g.return,b=null;if(F===null&&g.tag===3)b=g.stateNode;else for(;F!==null;){if(R=F.alternate,F.childExpirationTime<y&&(F.childExpirationTime=y),R!==null&&R.childExpirationTime<y&&(R.childExpirationTime=y),F.return===null&&F.tag===3){b=F.stateNode;break}F=F.return}return b!==null&&(ae===b&&(Ua(y),Ae===_0&&Al(b,Fe)),Ts(b,y)),b}function vo(g){var y=g.lastExpiredTime;return y!==0||(y=g.firstPendingTime,!dc(g,y))?y:(y=g.lastPingedTime,g=g.nextKnownPendingLevel,y>g?y:g)}function n0(g){if(g.lastExpiredTime!==0)g.callbackExpirationTime=1073741823,g.callbackPriority=99,g.callbackNode=Jl(ro.bind(null,g));else{var y=vo(g),R=g.callbackNode;if(y===0)R!==null&&(g.callbackNode=null,g.callbackExpirationTime=0,g.callbackPriority=90);else{var F=D0();if(y===1073741823?F=99:y===1||y===2?F=95:(F=10*(1073741821-y)-10*(1073741821-F),F=0>=F?99:250>=F?98:5250>=F?97:95),R!==null){var b=g.callbackPriority;if(g.callbackExpirationTime===y&&b>=F)return;R!==qr&&Is(R)}g.callbackExpirationTime=y,g.callbackPriority=F,y=y===1073741823?Jl(ro.bind(null,g)):tl(F,Uo.bind(null,g),{timeout:10*(1073741821-y)-v0()}),g.callbackNode=y}}}function Uo(g,y){if(ru=0,y)return y=D0(),da(g,y),n0(g),null;var R=vo(g);if(R!==0){if(y=g.callbackNode,(Fn&(nu|fu))!==Rr)throw Error(t(327));if(qs(),g===ae&&R===Fe||Ds(g,R),re!==null){var F=Fn;Fn|=nu;var b=U0(g);do try{nd();break}catch(mt){fa(g,mt)}while(1);if(zu(),Fn=F,$u.current=b,Ae===ni)throw y=st,Ds(g,R),Al(g,R),n0(g),y;if(re===null)switch(b=g.finishedWork=g.current.alternate,g.finishedExpirationTime=R,F=Ae,ae=null,F){case Li:case ni:throw Error(t(345));case Kn:da(g,2<R?2:R);break;case e0:if(Al(g,R),F=g.lastSuspendedTime,R===F&&(g.nextKnownPendingLevel=Hc(b)),vt===1073741823&&(b=Tn+ir-v0(),10<b)){if(_n){var J=g.lastPingedTime;if(J===0||J>=R){g.lastPingedTime=R,Ds(g,R);break}}if(J=vo(g),J!==0&&J!==R)break;if(F!==0&&F!==R){g.lastPingedTime=F;break}g.timeoutHandle=an(xl.bind(null,g),b);break}xl(g);break;case _0:if(Al(g,R),F=g.lastSuspendedTime,R===F&&(g.nextKnownPendingLevel=Hc(b)),_n&&(b=g.lastPingedTime,b===0||b>=R)){g.lastPingedTime=R,Ds(g,R);break}if(b=vo(g),b!==0&&b!==R)break;if(F!==0&&F!==R){g.lastPingedTime=F;break}if(Qt!==1073741823?F=10*(1073741821-Qt)-v0():vt===1073741823?F=0:(F=10*(1073741821-vt)-5e3,b=v0(),R=10*(1073741821-R)-b,F=b-F,0>F&&(F=0),F=(120>F?120:480>F?480:1080>F?1080:1920>F?1920:3e3>F?3e3:4320>F?4320:1960*gf(F/1960))-F,R<F&&(F=R)),10<F){g.timeoutHandle=an(xl.bind(null,g),F);break}xl(g);break;case E0:if(vt!==1073741823&&On!==null){J=vt;var ce=On;if(F=ce.busyMinDurationMs|0,0>=F?F=0:(b=ce.busyDelayMs|0,J=v0()-(10*(1073741821-J)-(ce.timeoutMs|0||5e3)),F=J<=b?0:b+F-J),10<F){Al(g,R),g.timeoutHandle=an(xl.bind(null,g),F);break}}xl(g);break;default:throw Error(t(329))}if(n0(g),g.callbackNode===y)return Uo.bind(null,g)}}return null}function ro(g){var y=g.lastExpiredTime;if(y=y!==0?y:1073741823,g.finishedExpirationTime===y)xl(g);else{if((Fn&(nu|fu))!==Rr)throw Error(t(327));if(qs(),g===ae&&y===Fe||Ds(g,y),re!==null){var R=Fn;Fn|=nu;var F=U0(g);do try{E2();break}catch(b){fa(g,b)}while(1);if(zu(),Fn=R,$u.current=F,Ae===ni)throw R=st,Ds(g,y),Al(g,y),n0(g),R;if(re!==null)throw Error(t(261));g.finishedWork=g.current.alternate,g.finishedExpirationTime=y,ae=null,xl(g),n0(g)}}return null}function Ba(g,y){da(g,y),n0(g),(Fn&(nu|fu))===Rr&&ju()}function _f(){if(Vr!==null){var g=Vr;Vr=null,g.forEach(function(y,R){da(R,y),n0(R)}),ju()}}function fc(g,y){if((Fn&(nu|fu))!==Rr)throw Error(t(187));var R=Fn;Fn|=1;try{return fo(99,g.bind(null,y))}finally{Fn=R,ju()}}function Ds(g,y){g.finishedWork=null,g.finishedExpirationTime=0;var R=g.timeoutHandle;if(R!==lr&&(g.timeoutHandle=lr,Mn(R)),re!==null)for(R=re.return;R!==null;){var F=R;switch(F.tag){case 1:var b=F.type.childContextTypes;b!=null&&X0(F);break;case 3:Qe(F),Yi(F);break;case 5:ue(F);break;case 4:Qe(F);break;case 13:yi(He,F);break;case 19:yi(He,F);break;case 10:Su(F)}R=R.return}ae=g,re=Gu(g.current,null,y),Fe=y,Ae=Li,st=null,Qt=vt=1073741823,On=null,Sn=0,_n=!1}function fa(g,y){do{try{if(zu(),fn(),re===null||re.return===null)return Ae=ni,st=y,null;e:{var R=g,F=re.return,b=re,J=y;if(y=Fe,b.effectTag|=2048,b.firstEffect=b.lastEffect=null,J!==null&&typeof J==\"object\"&&typeof J.then==\"function\"){var ce=J,mt=(He.current&1)!=0,xt=F;do{var kt;if(kt=xt.tag===13){var xr=xt.memoizedState;if(xr!==null)kt=xr.dehydrated!==null;else{var i0=xt.memoizedProps;kt=i0.fallback===void 0?!1:i0.unstable_avoidThisFallback!==!0?!0:!mt}}if(kt){var cu=xt.updateQueue;if(cu===null){var z0=new Set;z0.add(ce),xt.updateQueue=z0}else cu.add(ce);if((xt.mode&2)==0){if(xt.effectTag|=64,b.effectTag&=-2981,b.tag===1)if(b.alternate===null)b.tag=17;else{var Ol=m0(1073741823,null);Ol.tag=2,Q0(b,Ol)}b.expirationTime=1073741823;break e}J=void 0,b=y;var u0=R.pingCache;if(u0===null?(u0=R.pingCache=new es,J=new Set,u0.set(ce,J)):(J=u0.get(ce),J===void 0&&(J=new Set,u0.set(ce,J))),!J.has(b)){J.add(b);var Ve=ja.bind(null,R,ce,b);ce.then(Ve,Ve)}xt.effectTag|=4096,xt.expirationTime=y;break e}xt=xt.return}while(xt!==null);J=Error((je(b.type)||\"A React component\")+` suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.`+Hr(b))}Ae!==E0&&(Ae=Kn),J=Tl(J,b),xt=F;do{switch(xt.tag){case 3:ce=J,xt.effectTag|=4096,xt.expirationTime=y;var Ue=_s(xt,ce,y);ua(xt,Ue);break e;case 1:ce=J;var lt=xt.type,$t=xt.stateNode;if((xt.effectTag&64)==0&&(typeof lt.getDerivedStateFromError==\"function\"||$t!==null&&typeof $t.componentDidCatch==\"function\"&&(mr===null||!mr.has($t)))){xt.effectTag|=4096,xt.expirationTime=y;var Wn=aa(xt,ce,y);ua(xt,Wn);break e}}xt=xt.return}while(xt!==null)}re=mo(re)}catch(si){y=si;continue}break}while(1)}function U0(){var g=$u.current;return $u.current=Io,g===null?Io:g}function cc(g,y){g<vt&&2<g&&(vt=g),y!==null&&g<Qt&&2<g&&(Qt=g,On=y)}function Ua(g){g>Sn&&(Sn=g)}function E2(){for(;re!==null;)re=rd(re)}function nd(){for(;re!==null&&!$n();)re=rd(re)}function rd(g){var y=Ha(g.alternate,g,Fe);return g.memoizedProps=g.pendingProps,y===null&&(y=mo(g)),Es.current=null,y}function mo(g){re=g;do{var y=re.alternate;if(g=re.return,(re.effectTag&2048)==0){e:{var R=y;y=re;var F=Fe,b=y.pendingProps;switch(y.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:eu(y.type)&&X0(y);break;case 3:Qe(y),Yi(y),b=y.stateNode,b.pendingContext&&(b.context=b.pendingContext,b.pendingContext=null),(R===null||R.child===null)&&$l(y)&&Ju(y),Jr(y);break;case 5:ue(y);var J=Z(Re.current);if(F=y.type,R!==null&&y.stateNode!=null)Wu(R,y,F,b,J),R.ref!==y.ref&&(y.effectTag|=128);else if(b){if(R=Z(Te.current),$l(y)){if(b=y,!w)throw Error(t(175));R=su(b.stateNode,b.type,b.memoizedProps,J,R,b),b.updateQueue=R,R=R!==null,R&&Ju(y)}else{var ce=fe(F,b,J,R,y);ti(ce,y,!1,!1),y.stateNode=ce,oe(ce,F,b,J,R)&&Ju(y)}y.ref!==null&&(y.effectTag|=128)}else if(y.stateNode===null)throw Error(t(166));break;case 6:if(R&&y.stateNode!=null)Rn(R,y,R.memoizedProps,b);else{if(typeof b!=\"string\"&&y.stateNode===null)throw Error(t(166));if(R=Z(Re.current),J=Z(Te.current),$l(y)){if(R=y,!w)throw Error(t(176));(R=ki(R.stateNode,R.memoizedProps,R))&&Ju(y)}else y.stateNode=nn(b,R,J,y)}break;case 11:break;case 13:if(yi(He,y),b=y.memoizedState,(y.effectTag&64)!=0){y.expirationTime=F;break e}b=b!==null,J=!1,R===null?y.memoizedProps.fallback!==void 0&&$l(y):(F=R.memoizedState,J=F!==null,b||F===null||(F=R.child.sibling,F!==null&&(ce=y.firstEffect,ce!==null?(y.firstEffect=F,F.nextEffect=ce):(y.firstEffect=y.lastEffect=F,F.nextEffect=null),F.effectTag=8))),b&&!J&&(y.mode&2)!=0&&(R===null&&y.memoizedProps.unstable_avoidThisFallback!==!0||(He.current&1)!=0?Ae===Li&&(Ae=e0):((Ae===Li||Ae===e0)&&(Ae=_0),Sn!==0&&ae!==null&&(Al(ae,Fe),Ts(ae,Sn)))),Er&&b&&(y.effectTag|=4),Vt&&(b||J)&&(y.effectTag|=4);break;case 7:break;case 8:break;case 12:break;case 4:Qe(y),Jr(y);break;case 10:Su(y);break;case 9:break;case 14:break;case 17:eu(y.type)&&X0(y);break;case 19:if(yi(He,y),b=y.memoizedState,b===null)break;if(J=(y.effectTag&64)!=0,ce=b.rendering,ce===null){if(J)Fu(b,!1);else if(Ae!==Li||R!==null&&(R.effectTag&64)!=0)for(R=y.child;R!==null;){if(ce=nt(R),ce!==null){for(y.effectTag|=64,Fu(b,!1),R=ce.updateQueue,R!==null&&(y.updateQueue=R,y.effectTag|=4),b.lastEffect===null&&(y.firstEffect=null),y.lastEffect=b.lastEffect,R=F,b=y.child;b!==null;)J=b,F=R,J.effectTag&=2,J.nextEffect=null,J.firstEffect=null,J.lastEffect=null,ce=J.alternate,ce===null?(J.childExpirationTime=0,J.expirationTime=F,J.child=null,J.memoizedProps=null,J.memoizedState=null,J.updateQueue=null,J.dependencies=null):(J.childExpirationTime=ce.childExpirationTime,J.expirationTime=ce.expirationTime,J.child=ce.child,J.memoizedProps=ce.memoizedProps,J.memoizedState=ce.memoizedState,J.updateQueue=ce.updateQueue,F=ce.dependencies,J.dependencies=F===null?null:{expirationTime:F.expirationTime,firstContext:F.firstContext,responders:F.responders}),b=b.sibling;en(He,He.current&1|2,y),y=y.child;break e}R=R.sibling}}else{if(!J)if(R=nt(ce),R!==null){if(y.effectTag|=64,J=!0,R=R.updateQueue,R!==null&&(y.updateQueue=R,y.effectTag|=4),Fu(b,!0),b.tail===null&&b.tailMode===\"hidden\"&&!ce.alternate){y=y.lastEffect=b.lastEffect,y!==null&&(y.nextEffect=null);break}}else v0()>b.tailExpiration&&1<F&&(y.effectTag|=64,J=!0,Fu(b,!1),y.expirationTime=y.childExpirationTime=F-1);b.isBackwards?(ce.sibling=y.child,y.child=ce):(R=b.last,R!==null?R.sibling=ce:y.child=ce,b.last=ce)}if(b.tail!==null){b.tailExpiration===0&&(b.tailExpiration=v0()+500),R=b.tail,b.rendering=R,b.tail=R.sibling,b.lastEffect=y.lastEffect,R.sibling=null,b=He.current,b=J?b&1|2:b&1,en(He,b,y),y=R;break e}break;case 20:break;case 21:break;default:throw Error(t(156,y.tag))}y=null}if(R=re,Fe===1||R.childExpirationTime!==1){for(b=0,J=R.child;J!==null;)F=J.expirationTime,ce=J.childExpirationTime,F>b&&(b=F),ce>b&&(b=ce),J=J.sibling;R.childExpirationTime=b}if(y!==null)return y;g!==null&&(g.effectTag&2048)==0&&(g.firstEffect===null&&(g.firstEffect=re.firstEffect),re.lastEffect!==null&&(g.lastEffect!==null&&(g.lastEffect.nextEffect=re.firstEffect),g.lastEffect=re.lastEffect),1<re.effectTag&&(g.lastEffect!==null?g.lastEffect.nextEffect=re:g.firstEffect=re,g.lastEffect=re))}else{if(y=li(re,Fe),y!==null)return y.effectTag&=2047,y;g!==null&&(g.firstEffect=g.lastEffect=null,g.effectTag|=2048)}if(y=re.sibling,y!==null)return y;re=g}while(re!==null);return Ae===Li&&(Ae=E0),null}function Hc(g){var y=g.expirationTime;return g=g.childExpirationTime,y>g?y:g}function xl(g){var y=hs();return fo(99,il.bind(null,g,y)),null}function il(g,y){do qs();while(ri!==null);if((Fn&(nu|fu))!==Rr)throw Error(t(327));var R=g.finishedWork,F=g.finishedExpirationTime;if(R===null)return null;if(g.finishedWork=null,g.finishedExpirationTime=0,R===g.current)throw Error(t(177));g.callbackNode=null,g.callbackExpirationTime=0,g.callbackPriority=90,g.nextKnownPendingLevel=0;var b=Hc(R);if(g.firstPendingTime=b,F<=g.lastSuspendedTime?g.firstSuspendedTime=g.lastSuspendedTime=g.nextKnownPendingLevel=0:F<=g.firstSuspendedTime&&(g.firstSuspendedTime=F-1),F<=g.lastPingedTime&&(g.lastPingedTime=0),F<=g.lastExpiredTime&&(g.lastExpiredTime=0),g===ae&&(re=ae=null,Fe=0),1<R.effectTag?R.lastEffect!==null?(R.lastEffect.nextEffect=R,b=R.firstEffect):b=R:b=R.firstEffect,b!==null){var J=Fn;Fn|=fu,Es.current=null,rt(g.containerInfo),Bt=b;do try{D2()}catch(Cu){if(Bt===null)throw Error(t(330));jo(Bt,Cu),Bt=Bt.nextEffect}while(Bt!==null);Bt=b;do try{for(var ce=g,mt=y;Bt!==null;){var xt=Bt.effectTag;if(xt&16&&Vt&&Ro(Bt.stateNode),xt&128){var kt=Bt.alternate;if(kt!==null){var xr=kt.ref;xr!==null&&(typeof xr==\"function\"?xr(null):xr.current=null)}}switch(xt&1038){case 2:B0(Bt),Bt.effectTag&=-3;break;case 6:B0(Bt),Bt.effectTag&=-3,ho(Bt.alternate,Bt);break;case 1024:Bt.effectTag&=-1025;break;case 1028:Bt.effectTag&=-1025,ho(Bt.alternate,Bt);break;case 4:ho(Bt.alternate,Bt);break;case 8:var i0=ce,cu=Bt,z0=mt;Vt?O0(i0,cu,z0):A0(i0,cu,z0),Hi(cu)}Bt=Bt.nextEffect}}catch(Cu){if(Bt===null)throw Error(t(330));jo(Bt,Cu),Bt=Bt.nextEffect}while(Bt!==null);Q(g.containerInfo),g.current=R,Bt=b;do try{for(xt=F;Bt!==null;){var Ol=Bt.effectTag;if(Ol&36){var u0=Bt.alternate;switch(kt=Bt,xr=xt,kt.tag){case 0:case 11:case 15:R0(16,32,kt);break;case 1:var Ve=kt.stateNode;if(kt.effectTag&4)if(u0===null)Ve.componentDidMount();else{var Ue=kt.elementType===kt.type?u0.memoizedProps:Yn(kt.type,u0.memoizedProps);Ve.componentDidUpdate(Ue,u0.memoizedState,Ve.__reactInternalSnapshotBeforeUpdate)}var lt=kt.updateQueue;lt!==null&&Qn(kt,lt,Ve,xr);break;case 3:var $t=kt.updateQueue;if($t!==null){if(ce=null,kt.child!==null)switch(kt.child.tag){case 5:ce=We(kt.child.stateNode);break;case 1:ce=kt.child.stateNode}Qn(kt,$t,ce,xr)}break;case 5:var Wn=kt.stateNode;u0===null&&kt.effectTag&4&&jr(Wn,kt.type,kt.memoizedProps,kt);break;case 6:break;case 4:break;case 12:break;case 13:if(w&&kt.memoizedState===null){var si=kt.alternate;if(si!==null){var ur=si.memoizedState;if(ur!==null){var ci=ur.dehydrated;ci!==null&&P0(ci)}}}break;case 19:case 17:case 20:case 21:break;default:throw Error(t(163))}}if(Ol&128){kt=void 0;var Qi=Bt.ref;if(Qi!==null){var Gr=Bt.stateNode;switch(Bt.tag){case 5:kt=We(Gr);break;default:kt=Gr}typeof Qi==\"function\"?Qi(kt):Qi.current=kt}}Bt=Bt.nextEffect}}catch(Cu){if(Bt===null)throw Error(t(330));jo(Bt,Cu),Bt=Bt.nextEffect}while(Bt!==null);Bt=null,Ki(),Fn=J}else g.current=R;if(Y)Y=!1,ri=g,ii=y;else for(Bt=b;Bt!==null;)y=Bt.nextEffect,Bt.nextEffect=null,Bt=y;if(y=g.firstPendingTime,y===0&&(mr=null),y===1073741823?g===Di?at++:(at=0,Di=g):at=0,typeof ca==\"function\"&&ca(R.stateNode,F),n0(g),Fi)throw Fi=!1,g=Ar,Ar=null,g;return(Fn&to)!==Rr||ju(),null}function D2(){for(;Bt!==null;){var g=Bt.effectTag;(g&256)!=0&&Hs(Bt.alternate,Bt),(g&512)==0||Y||(Y=!0,tl(97,function(){return qs(),null})),Bt=Bt.nextEffect}}function qs(){if(ii!==90){var g=97<ii?97:ii;return ii=90,fo(g,Rl)}}function Rl(){if(ri===null)return!1;var g=ri;if(ri=null,(Fn&(nu|fu))!==Rr)throw Error(t(331));var y=Fn;for(Fn|=fu,g=g.current.firstEffect;g!==null;){try{var R=g;if((R.effectTag&512)!=0)switch(R.tag){case 0:case 11:case 15:R0(128,0,R),R0(0,64,R)}}catch(F){if(g===null)throw Error(t(330));jo(g,F)}R=g.nextEffect,g.nextEffect=null,g=R}return Fn=y,ju(),!0}function id(g,y,R){y=Tl(R,y),y=_s(g,y,1073741823),Q0(g,y),g=no(g,1073741823),g!==null&&n0(g)}function jo(g,y){if(g.tag===3)id(g,g,y);else for(var R=g.return;R!==null;){if(R.tag===3){id(R,g,y);break}else if(R.tag===1){var F=R.stateNode;if(typeof R.type.getDerivedStateFromError==\"function\"||typeof F.componentDidCatch==\"function\"&&(mr===null||!mr.has(F))){g=Tl(y,g),g=aa(R,g,1073741823),Q0(R,g),R=no(R,1073741823),R!==null&&n0(R);break}}R=R.return}}function ja(g,y,R){var F=g.pingCache;F!==null&&F.delete(y),ae===g&&Fe===R?Ae===_0||Ae===e0&&vt===1073741823&&v0()-Tn<ir?Ds(g,Fe):_n=!0:dc(g,R)&&(y=g.lastPingedTime,y!==0&&y<R||(g.lastPingedTime=R,g.finishedExpirationTime===R&&(g.finishedExpirationTime=0,g.finishedWork=null),n0(g)))}function za(g,y){var R=g.stateNode;R!==null&&R.delete(y),y=0,y===0&&(y=D0(),y=Un(y,g,null)),g=no(g,y),g!==null&&n0(g)}var Ha;Ha=function(g,y,R){var F=y.expirationTime;if(g!==null){var b=y.pendingProps;if(g.memoizedProps!==b||gi.current)po=!0;else{if(F<R){switch(po=!1,y.tag){case 3:Ye(y),tu();break;case 5:if(ht(y),y.mode&4&&R!==1&&Rt(y.type,b))return y.expirationTime=y.childExpirationTime=1,null;break;case 1:eu(y.type)&&ai(y);break;case 4:ke(y,y.stateNode.containerInfo);break;case 10:Hu(y,y.memoizedProps.value);break;case 13:if(y.memoizedState!==null)return F=y.child.childExpirationTime,F!==0&&F>=R?Kt(g,y,R):(en(He,He.current&1,y),y=yu(g,y,R),y!==null?y.sibling:null);en(He,He.current&1,y);break;case 19:if(F=y.childExpirationTime>=R,(g.effectTag&64)!=0){if(F)return xn(g,y,R);y.effectTag|=64}if(b=y.memoizedState,b!==null&&(b.rendering=null,b.tail=null),en(He,He.current,y),!F)return null}return yu(g,y,R)}po=!1}}else po=!1;switch(y.expirationTime=0,y.tag){case 2:if(F=y.type,g!==null&&(g.alternate=null,y.alternate=null,y.effectTag|=2),g=y.pendingProps,b=Au(y,Ai.current),Lo(y,R),b=un(null,y,F,g,b,R),y.effectTag|=1,typeof b==\"object\"&&b!==null&&typeof b.render==\"function\"&&b.$$typeof===void 0){if(y.tag=1,fn(),eu(F)){var J=!0;ai(y)}else J=!1;y.memoizedState=b.state!==null&&b.state!==void 0?b.state:null;var ce=F.getDerivedStateFromProps;typeof ce==\"function\"&&Zl(y,F,ce,g),b.updater=oa,y.stateNode=b,b._reactInternalFiber=y,Bs(y,F,g,R),y=et(null,y,F,!0,J,R)}else y.tag=0,Bi(null,y,b,R),y=y.child;return y;case 16:if(b=y.elementType,g!==null&&(g.alternate=null,y.alternate=null,y.effectTag|=2),g=y.pendingProps,Oe(b),b._status!==1)throw b._result;switch(b=b._result,y.type=b,J=y.tag=ul(b),g=Yn(b,g),J){case 0:y=eo(null,y,b,g,R);break;case 1:y=Ce(null,y,b,g,R);break;case 11:y=Ci(null,y,b,g,R);break;case 14:y=mf(null,y,b,Yn(b.type,g),F,R);break;default:throw Error(t(306,b,\"\"))}return y;case 0:return F=y.type,b=y.pendingProps,b=y.elementType===F?b:Yn(F,b),eo(g,y,F,b,R);case 1:return F=y.type,b=y.pendingProps,b=y.elementType===F?b:Yn(F,b),Ce(g,y,F,b,R);case 3:if(Ye(y),F=y.updateQueue,F===null)throw Error(t(282));if(b=y.memoizedState,b=b!==null?b.element:null,S0(y,F,y.pendingProps,null,R),F=y.memoizedState.element,F===b)tu(),y=yu(g,y,R);else{if((b=y.stateNode.hydrate)&&(w?(Tu=F0(y.stateNode.containerInfo),Qu=y,b=Ei=!0):b=!1),b)for(R=G(y,null,F,R),y.child=R;R;)R.effectTag=R.effectTag&-3|1024,R=R.sibling;else Bi(g,y,F,R),tu();y=y.child}return y;case 5:return ht(y),g===null&&Bo(y),F=y.type,b=y.pendingProps,J=g!==null?g.memoizedProps:null,ce=b.children,ct(F,b)?ce=null:J!==null&&ct(F,J)&&(y.effectTag|=16),$0(g,y),y.mode&4&&R!==1&&Rt(F,b)?(y.expirationTime=y.childExpirationTime=1,y=null):(Bi(g,y,ce,R),y=y.child),y;case 6:return g===null&&Bo(y),null;case 13:return Kt(g,y,R);case 4:return ke(y,y.stateNode.containerInfo),F=y.pendingProps,g===null?y.child=z(y,null,F,R):Bi(g,y,F,R),y.child;case 11:return F=y.type,b=y.pendingProps,b=y.elementType===F?b:Yn(F,b),Ci(g,y,F,b,R);case 7:return Bi(g,y,y.pendingProps,R),y.child;case 8:return Bi(g,y,y.pendingProps.children,R),y.child;case 12:return Bi(g,y,y.pendingProps.children,R),y.child;case 10:e:{if(F=y.type._context,b=y.pendingProps,ce=y.memoizedProps,J=b.value,Hu(y,J),ce!==null){var mt=ce.value;if(J=Le(mt,J)?0:(typeof F._calculateChangedBits==\"function\"?F._calculateChangedBits(mt,J):1073741823)|0,J===0){if(ce.children===b.children&&!gi.current){y=yu(g,y,R);break e}}else for(mt=y.child,mt!==null&&(mt.return=y);mt!==null;){var xt=mt.dependencies;if(xt!==null){ce=mt.child;for(var kt=xt.firstContext;kt!==null;){if(kt.context===F&&(kt.observedBits&J)!=0){mt.tag===1&&(kt=m0(R,null),kt.tag=2,Q0(mt,kt)),mt.expirationTime<R&&(mt.expirationTime=R),kt=mt.alternate,kt!==null&&kt.expirationTime<R&&(kt.expirationTime=R),Ti(mt.return,R),xt.expirationTime<R&&(xt.expirationTime=R);break}kt=kt.next}}else ce=mt.tag===10&&mt.type===y.type?null:mt.child;if(ce!==null)ce.return=mt;else for(ce=mt;ce!==null;){if(ce===y){ce=null;break}if(mt=ce.sibling,mt!==null){mt.return=ce.return,ce=mt;break}ce=ce.return}mt=ce}}Bi(g,y,b.children,R),y=y.child}return y;case 9:return b=y.type,J=y.pendingProps,F=J.children,Lo(y,R),b=ku(b,J.unstable_observedBits),F=F(b),y.effectTag|=1,Bi(g,y,F,R),y.child;case 14:return b=y.type,J=Yn(b,y.pendingProps),J=Yn(b.type,J),mf(g,y,b,J,F,R);case 15:return yf(g,y,y.type,y.pendingProps,F,R);case 17:return F=y.type,b=y.pendingProps,b=y.elementType===F?b:Yn(F,b),g!==null&&(g.alternate=null,y.alternate=null,y.effectTag|=2),y.tag=1,eu(F)?(g=!0,ai(y)):g=!1,Lo(y,R),bs(y,F,b,R),Bs(y,F,b,R),et(null,y,F,!0,g,R);case 19:return xn(g,y,R)}throw Error(t(156,y.tag))};var ca=null,ws=null;function Ss(g){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__==\"undefined\")return!1;var y=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(y.isDisabled||!y.supportsFiber)return!0;try{var R=y.inject(g);ca=function(F){try{y.onCommitFiberRoot(R,F,void 0,(F.current.effectTag&64)==64)}catch(b){}},ws=function(F){try{y.onCommitFiberUnmount(R,F)}catch(b){}}}catch(F){}return!0}function ts(g,y,R,F){this.tag=g,this.key=R,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=y,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=F,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childExpirationTime=this.expirationTime=0,this.alternate=null}function zo(g,y,R,F){return new ts(g,y,R,F)}function Ef(g){return g=g.prototype,!(!g||!g.isReactComponent)}function ul(g){if(typeof g==\"function\")return Ef(g)?1:0;if(g!=null){if(g=g.$$typeof,g===Ee)return 11;if(g===De)return 14}return 2}function Gu(g,y){var R=g.alternate;return R===null?(R=zo(g.tag,y,g.key,g.mode),R.elementType=g.elementType,R.type=g.type,R.stateNode=g.stateNode,R.alternate=g,g.alternate=R):(R.pendingProps=y,R.effectTag=0,R.nextEffect=null,R.firstEffect=null,R.lastEffect=null),R.childExpirationTime=g.childExpirationTime,R.expirationTime=g.expirationTime,R.child=g.child,R.memoizedProps=g.memoizedProps,R.memoizedState=g.memoizedState,R.updateQueue=g.updateQueue,y=g.dependencies,R.dependencies=y===null?null:{expirationTime:y.expirationTime,firstContext:y.firstContext,responders:y.responders},R.sibling=g.sibling,R.index=g.index,R.ref=g.ref,R}function qa(g,y,R,F,b,J){var ce=2;if(F=g,typeof g==\"function\")Ef(g)&&(ce=1);else if(typeof g==\"string\")ce=5;else e:switch(g){case U:return r0(R.children,b,J,y);case he:ce=8,b|=7;break;case H:ce=8,b|=1;break;case W:return g=zo(12,R,y,b|8),g.elementType=W,g.type=W,g.expirationTime=J,g;case ve:return g=zo(13,R,y,b),g.type=ve,g.elementType=ve,g.expirationTime=J,g;case se:return g=zo(19,R,y,b),g.elementType=se,g.expirationTime=J,g;default:if(typeof g==\"object\"&&g!==null)switch(g.$$typeof){case ne:ce=10;break e;case m:ce=9;break e;case Ee:ce=11;break e;case De:ce=14;break e;case pe:ce=16,F=null;break e}throw Error(t(130,g==null?g:typeof g,\"\"))}return y=zo(ce,R,y,b),y.elementType=g,y.type=F,y.expirationTime=J,y}function r0(g,y,R,F){return g=zo(7,g,F,y),g.expirationTime=R,g}function j0(g,y,R){return g=zo(6,g,null,y),g.expirationTime=R,g}function Df(g,y,R){return y=zo(4,g.children!==null?g.children:[],g.key,y),y.expirationTime=R,y.stateNode={containerInfo:g.containerInfo,pendingChildren:null,implementation:g.implementation},y}function qc(g,y,R){this.tag=y,this.current=null,this.containerInfo=g,this.pingCache=this.pendingChildren=null,this.finishedExpirationTime=0,this.finishedWork=null,this.timeoutHandle=lr,this.pendingContext=this.context=null,this.hydrate=R,this.callbackNode=null,this.callbackPriority=90,this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0}function dc(g,y){var R=g.firstSuspendedTime;return g=g.lastSuspendedTime,R!==0&&R>=y&&g<=y}function Al(g,y){var R=g.firstSuspendedTime,F=g.lastSuspendedTime;R<y&&(g.firstSuspendedTime=y),(F>y||R===0)&&(g.lastSuspendedTime=y),y<=g.lastPingedTime&&(g.lastPingedTime=0),y<=g.lastExpiredTime&&(g.lastExpiredTime=0)}function Ts(g,y){y>g.firstPendingTime&&(g.firstPendingTime=y);var R=g.firstSuspendedTime;R!==0&&(y>=R?g.firstSuspendedTime=g.lastSuspendedTime=g.nextKnownPendingLevel=0:y>=g.lastSuspendedTime&&(g.lastSuspendedTime=y+1),y>g.nextKnownPendingLevel&&(g.nextKnownPendingLevel=y))}function da(g,y){var R=g.lastExpiredTime;(R===0||R>y)&&(g.lastExpiredTime=y)}function ud(g){var y=g._reactInternalFiber;if(y===void 0)throw typeof g.render==\"function\"?Error(t(188)):Error(t(268,Object.keys(g)));return g=Xe(y),g===null?null:g.stateNode}function pa(g,y){g=g.memoizedState,g!==null&&g.dehydrated!==null&&g.retryTime<y&&(g.retryTime=y)}function pc(g,y){pa(g,y),(g=g.alternate)&&pa(g,y)}var Wc={createContainer:function(g,y,R){return g=new qc(g,y,R),y=zo(3,null,null,y===2?7:y===1?3:0),g.current=y,y.stateNode=g},updateContainer:function(g,y,R,F){var b=y.current,J=D0(),ce=fi.suspense;J=Un(J,b,ce);e:if(R){R=R._reactInternalFiber;t:{if(qe(R)!==R||R.tag!==1)throw Error(t(170));var mt=R;do{switch(mt.tag){case 3:mt=mt.stateNode.context;break t;case 1:if(eu(mt.type)){mt=mt.stateNode.__reactInternalMemoizedMergedChildContext;break t}}mt=mt.return}while(mt!==null);throw Error(t(171))}if(R.tag===1){var xt=R.type;if(eu(xt)){R=Mo(R,xt,mt);break e}}R=mt}else R=bn;return y.context===null?y.context=R:y.pendingContext=R,y=m0(J,ce),y.payload={element:g},F=F===void 0?null:F,F!==null&&(y.callback=F),Q0(b,y),t0(b,J),J},batchedEventUpdates:function(g,y){var R=Fn;Fn|=2;try{return g(y)}finally{Fn=R,Fn===Rr&&ju()}},batchedUpdates:function(g,y){var R=Fn;Fn|=1;try{return g(y)}finally{Fn=R,Fn===Rr&&ju()}},unbatchedUpdates:function(g,y){var R=Fn;Fn&=-2,Fn|=to;try{return g(y)}finally{Fn=R,Fn===Rr&&ju()}},deferredUpdates:function(g){return fo(97,g)},syncUpdates:function(g,y,R,F){return fo(99,g.bind(null,y,R,F))},discreteUpdates:function(g,y,R,F){var b=Fn;Fn|=4;try{return fo(98,g.bind(null,y,R,F))}finally{Fn=b,Fn===Rr&&ju()}},flushDiscreteUpdates:function(){(Fn&(1|nu|fu))===Rr&&(_f(),qs())},flushControlled:function(g){var y=Fn;Fn|=1;try{fo(99,g)}finally{Fn=y,Fn===Rr&&ju()}},flushSync:fc,flushPassiveEffects:qs,IsThisRendererActing:{current:!1},getPublicRootInstance:function(g){if(g=g.current,!g.child)return null;switch(g.child.tag){case 5:return We(g.child.stateNode);default:return g.child.stateNode}},attemptSynchronousHydration:function(g){switch(g.tag){case 3:var y=g.stateNode;y.hydrate&&Ba(y,y.firstPendingTime);break;case 13:fc(function(){return t0(g,1073741823)}),y=X(D0(),150,100),pc(g,y)}},attemptUserBlockingHydration:function(g){if(g.tag===13){var y=X(D0(),150,100);t0(g,y),pc(g,y)}},attemptContinuousHydration:function(g){if(g.tag===13){D0();var y=b0++;t0(g,y),pc(g,y)}},attemptHydrationAtCurrentPriority:function(g){if(g.tag===13){var y=D0();y=Un(y,g,null),t0(g,y),pc(g,y)}},findHostInstance:ud,findHostInstanceWithWarning:function(g){return ud(g)},findHostInstanceWithNoPortals:function(g){return g=ut(g),g===null?null:g.tag===20?g.stateNode.instance:g.stateNode},shouldSuspend:function(){return!1},injectIntoDevTools:function(g){var y=g.findFiberByHostInstance;return Ss(a({},g,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:k.ReactCurrentDispatcher,findHostInstanceByFiber:function(R){return R=Xe(R),R===null?null:R.stateNode},findFiberByHostInstance:function(R){return y?y(R):null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null}))}};Hy.exports=Wc.default||Wc;var qi=Hy.exports;return Hy.exports=i,qi}});var kS=tt(ec=>{\"use strict\";Object.defineProperty(ec,\"__esModule\",{value:!0});var RP=0;ec.__interactionsRef=null;ec.__subscriberRef=null;ec.unstable_clear=function(i){return i()};ec.unstable_getCurrent=function(){return null};ec.unstable_getThreadID=function(){return++RP};ec.unstable_trace=function(i,o,a){return a()};ec.unstable_wrap=function(i){return i};ec.unstable_subscribe=function(){};ec.unstable_unsubscribe=function(){}});var NS=tt(mu=>{\"use strict\";process.env.NODE_ENV!==\"production\"&&function(){\"use strict\";Object.defineProperty(mu,\"__esModule\",{value:!0});var i=!0,o=0,a=0,p=0;mu.__interactionsRef=null,mu.__subscriberRef=null,i&&(mu.__interactionsRef={current:new Set},mu.__subscriberRef={current:null});function _(se){if(!i)return se();var De=mu.__interactionsRef.current;mu.__interactionsRef.current=new Set;try{return se()}finally{mu.__interactionsRef.current=De}}function t(){return i?mu.__interactionsRef.current:null}function k(){return++p}function L(se,De,pe){var me=arguments.length>3&&arguments[3]!==void 0?arguments[3]:o;if(!i)return pe();var ie={__count:1,id:a++,name:se,timestamp:De},Oe=mu.__interactionsRef.current,je=new Set(Oe);je.add(ie),mu.__interactionsRef.current=je;var qe=mu.__subscriberRef.current,yt;try{qe!==null&&qe.onInteractionTraced(ie)}finally{try{qe!==null&&qe.onWorkStarted(je,me)}finally{try{yt=pe()}finally{mu.__interactionsRef.current=Oe;try{qe!==null&&qe.onWorkStopped(je,me)}finally{ie.__count--,qe!==null&&ie.__count===0&&qe.onInteractionScheduledWorkCompleted(ie)}}}}return yt}function O(se){var De=arguments.length>1&&arguments[1]!==void 0?arguments[1]:o;if(!i)return se;var pe=mu.__interactionsRef.current,me=mu.__subscriberRef.current;me!==null&&me.onWorkScheduled(pe,De),pe.forEach(function(je){je.__count++});var ie=!1;function Oe(){var je=mu.__interactionsRef.current;mu.__interactionsRef.current=pe,me=mu.__subscriberRef.current;try{var qe;try{me!==null&&me.onWorkStarted(pe,De)}finally{try{qe=se.apply(void 0,arguments)}finally{mu.__interactionsRef.current=je,me!==null&&me.onWorkStopped(pe,De)}}return qe}finally{ie||(ie=!0,pe.forEach(function(yt){yt.__count--,me!==null&&yt.__count===0&&me.onInteractionScheduledWorkCompleted(yt)}))}}return Oe.cancel=function(){me=mu.__subscriberRef.current;try{me!==null&&me.onWorkCanceled(pe,De)}finally{pe.forEach(function(qe){qe.__count--,me&&qe.__count===0&&me.onInteractionScheduledWorkCompleted(qe)})}},Oe}var C=null;i&&(C=new Set);function U(se){i&&(C.add(se),C.size===1&&(mu.__subscriberRef.current={onInteractionScheduledWorkCompleted:ne,onInteractionTraced:W,onWorkCanceled:ve,onWorkScheduled:m,onWorkStarted:he,onWorkStopped:Ee}))}function H(se){i&&(C.delete(se),C.size===0&&(mu.__subscriberRef.current=null))}function W(se){var De=!1,pe=null;if(C.forEach(function(me){try{me.onInteractionTraced(se)}catch(ie){De||(De=!0,pe=ie)}}),De)throw pe}function ne(se){var De=!1,pe=null;if(C.forEach(function(me){try{me.onInteractionScheduledWorkCompleted(se)}catch(ie){De||(De=!0,pe=ie)}}),De)throw pe}function m(se,De){var pe=!1,me=null;if(C.forEach(function(ie){try{ie.onWorkScheduled(se,De)}catch(Oe){pe||(pe=!0,me=Oe)}}),pe)throw me}function he(se,De){var pe=!1,me=null;if(C.forEach(function(ie){try{ie.onWorkStarted(se,De)}catch(Oe){pe||(pe=!0,me=Oe)}}),pe)throw me}function Ee(se,De){var pe=!1,me=null;if(C.forEach(function(ie){try{ie.onWorkStopped(se,De)}catch(Oe){pe||(pe=!0,me=Oe)}}),pe)throw me}function ve(se,De){var pe=!1,me=null;if(C.forEach(function(ie){try{ie.onWorkCanceled(se,De)}catch(Oe){pe||(pe=!0,me=Oe)}}),pe)throw me}mu.unstable_clear=_,mu.unstable_getCurrent=t,mu.unstable_getThreadID=k,mu.unstable_trace=L,mu.unstable_wrap=O,mu.unstable_subscribe=U,mu.unstable_unsubscribe=H}()});var LS=tt((CH,hD)=>{\"use strict\";process.env.NODE_ENV===\"production\"?hD.exports=kS():hD.exports=NS()});var PS=tt((xH,qy)=>{\"use strict\";process.env.NODE_ENV!==\"production\"&&(qy.exports=function i(o){\"use strict\";var a=Oy(),p=Mi(),_=YE(),t=b_(),k=LS(),L=0,O=1,C=2,U=3,H=4,W=5,ne=6,m=7,he=8,Ee=9,ve=10,se=11,De=12,pe=13,me=14,ie=15,Oe=16,je=17,qe=18,yt=19,gt=20,Xe=21,ut=function(){};ut=function(f,c){for(var E=arguments.length,T=new Array(E>2?E-2:0),A=2;A<E;A++)T[A-2]=arguments[A];if(c===void 0)throw new Error(\"`warningWithoutStack(condition, format, ...args)` requires a warning message argument\");if(T.length>8)throw new Error(\"warningWithoutStack() currently supports at most 8 arguments.\");if(!f){if(typeof console!=\"undefined\"){var j=T.map(function(le){return\"\"+le});j.unshift(\"Warning: \"+c),Function.prototype.apply.call(console.error,console,j)}try{var V=0,te=\"Warning: \"+c.replace(/%s/g,function(){return T[V++]});throw new Error(te)}catch(le){}}};var We=ut;function Ft(f){return f._reactInternalFiber}function Jt(f,c){f._reactInternalFiber=c}var rt=p.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;rt.hasOwnProperty(\"ReactCurrentDispatcher\")||(rt.ReactCurrentDispatcher={current:null}),rt.hasOwnProperty(\"ReactCurrentBatchConfig\")||(rt.ReactCurrentBatchConfig={suspense:null});var Q=typeof Symbol==\"function\"&&Symbol.for,fe=Q?Symbol.for(\"react.element\"):60103,xe=Q?Symbol.for(\"react.portal\"):60106,oe=Q?Symbol.for(\"react.fragment\"):60107,ze=Q?Symbol.for(\"react.strict_mode\"):60108,ct=Q?Symbol.for(\"react.profiler\"):60114,Rt=Q?Symbol.for(\"react.provider\"):60109,nn=Q?Symbol.for(\"react.context\"):60110,an=Q?Symbol.for(\"react.concurrent_mode\"):60111,Mn=Q?Symbol.for(\"react.forward_ref\"):60112,lr=Q?Symbol.for(\"react.suspense\"):60113,ln=Q?Symbol.for(\"react.suspense_list\"):60120,Vt=Q?Symbol.for(\"react.memo\"):60115,Er=Q?Symbol.for(\"react.lazy\"):60116,w=Q?Symbol.for(\"react.fundamental\"):60117,jt=Q?Symbol.for(\"react.responder\"):60118,Xn=Q?Symbol.for(\"react.scope\"):60119,vr=typeof Symbol==\"function\"&&Symbol.iterator,jr=\"@@iterator\";function fr(f){if(f===null||typeof f!=\"object\")return null;var c=vr&&f[vr]||f[jr];return typeof c==\"function\"?c:null}var zr=We;zr=function(f,c){if(!f){for(var E=rt.ReactDebugCurrentFrame,T=E.getStackAddendum(),A=arguments.length,j=new Array(A>2?A-2:0),V=2;V<A;V++)j[V-2]=arguments[V];We.apply(void 0,[!1,c+\"%s\"].concat(j,[T]))}};var Xt=zr,wu=-1,d0=0,Ro=1,Qo=2;function Fs(f){return f._status===Ro?f._result:null}function Jo(f){if(f._status===wu){f._status=d0;var c=f._ctor,E=c();f._result=E,E.then(function(T){if(f._status===d0){var A=T.default;A===void 0&&Xt(!1,`lazy: Expected the result of a dynamic import() call. Instead received: %s\n\nYour code should look like: \n  const MyComponent = lazy(() => import('./MyComponent'))`,T),f._status=Ro,f._result=A}},function(T){f._status===d0&&(f._status=Qo,f._result=T)})}}function Zo(f,c,E){var T=c.displayName||c.name||\"\";return f.displayName||(T!==\"\"?E+\"(\"+T+\")\":E)}function qt(f){if(f==null)return null;if(typeof f.tag==\"number\"&&We(!1,\"Received an unexpected object in getComponentName(). This is likely a bug in React. Please file an issue.\"),typeof f==\"function\")return f.displayName||f.name||null;if(typeof f==\"string\")return f;switch(f){case oe:return\"Fragment\";case xe:return\"Portal\";case ct:return\"Profiler\";case ze:return\"StrictMode\";case lr:return\"Suspense\";case ln:return\"SuspenseList\"}if(typeof f==\"object\")switch(f.$$typeof){case nn:return\"Context.Consumer\";case Rt:return\"Context.Provider\";case Mn:return Zo(f,f.render,\"ForwardRef\");case Vt:return qt(f.type);case Er:{var c=f,E=Fs(c);if(E)return qt(E);break}}return null}var xi=0,lu=1,mi=2,Dr=4,$o=6,G0=8,Uu=16,Y0=32,Xr=64,Ao=128,Oo=256,F0=512,su=1024,ki=1028,Ps=932,Kl=2047,P0=2048,p0=4096,Hr=!0,Ri=!0,K0=!0,yi=!0,en=!0,bn=!0,Ai=!1,gi=!1,Wt=!1,Au=!1,eu=!1,X0=!0,Yi=!1,Xl=!1,Mo=!1,ai=!1,so=!1,Ql=rt.ReactCurrentOwner;function ko(f){var c=f,E=f;if(f.alternate)for(;c.return;)c=c.return;else{var T=c;do c=T,(c.effectTag&(mi|su))!==xi&&(E=c.return),T=c.return;while(T)}return c.tag===U?E:null}function Is(f){return ko(f)===f}function $n(f){{var c=Ql.current;if(c!==null&&c.tag===O){var E=c,T=E.stateNode;T._warnedAboutRefsInRender||We(!1,\"%s is accessing isMounted inside its render() function. render() should be a pure function of props and state. It should never access something that requires stale data from the previous render, such as refs. Move this logic to componentDidMount and componentDidUpdate instead.\",qt(E.type)||\"A component\"),T._warnedAboutRefsInRender=!0}}var A=Ft(f);return A?ko(A)===A:!1}function el(f){if(ko(f)!==f)throw Error(\"Unable to find node on an unmounted component.\")}function ao(f){var c=f.alternate;if(!c){var E=ko(f);if(E===null)throw Error(\"Unable to find node on an unmounted component.\");return E!==f?null:f}for(var T=f,A=c;;){var j=T.return;if(j===null)break;var V=j.alternate;if(V===null){var te=j.return;if(te!==null){T=A=te;continue}break}if(j.child===V.child){for(var le=j.child;le;){if(le===T)return el(j),f;if(le===A)return el(j),c;le=le.sibling}throw Error(\"Unable to find node on an unmounted component.\")}if(T.return!==A.return)T=j,A=V;else{for(var Be=!1,Ke=j.child;Ke;){if(Ke===T){Be=!0,T=j,A=V;break}if(Ke===A){Be=!0,A=j,T=V;break}Ke=Ke.sibling}if(!Be){for(Ke=V.child;Ke;){if(Ke===T){Be=!0,T=V,A=j;break}if(Ke===A){Be=!0,A=V,T=j;break}Ke=Ke.sibling}if(!Be)throw Error(\"Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue.\")}}if(T.alternate!==A)throw Error(\"Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue.\")}if(T.tag!==U)throw Error(\"Unable to find node on an unmounted component.\");return T.stateNode.current===T?f:c}function I0(f){var c=ao(f);if(!c)return null;for(var E=c;;){if(E.tag===W||E.tag===ne)return E;if(E.child){E.child.return=E,E=E.child;continue}if(E===c)return null;for(;!E.sibling;){if(!E.return||E.return===c)return null;E=E.return}E.sibling.return=E.return,E=E.sibling}return null}function wl(f){var c=ao(f);if(!c)return null;for(var E=c;;){if(E.tag===W||E.tag===ne||Wt&&E.tag===gt)return E;if(E.child&&E.tag!==H){E.child.return=E,E=E.child;continue}if(E===c)return null;for(;!E.sibling;){if(!E.return||E.return===c)return null;E=E.return}E.sibling.return=E.return,E=E.sibling}return null}var No=o.getPublicInstance,wt=o.getRootHostContext,bt=o.getChildHostContext,Hn=o.prepareForCommit,qr=o.resetAfterCommit,Ki=o.createInstance,Qr=o.appendInitialChild,Ou=o.finalizeInitialChildren,h0=o.prepareUpdate,Ni=o.shouldSetTextContent,v0=o.shouldDeprioritizeSubtree,hs=o.createTextInstance,Tt=o.setTimeout,fo=o.clearTimeout,tl=o.noTimeout,Jl=o.now,ju=o.isPrimaryRenderer,vs=o.warnsIfNotActing,b0=o.supportsMutation,X=o.supportsPersistence,we=o.supportsHydration,Le=o.mountResponderInstance,Ne=o.unmountResponderInstance,dt=o.getFundamentalComponentInstance,Yn=o.mountFundamentalComponent,Cn=o.shouldUpdateFundamentalComponent,cr=o.getInstanceFromNode,Si=o.appendChild,Mu=o.appendChildToContainer,zu=o.commitTextUpdate,Hu=o.commitMount,Su=o.commitUpdate,Ti=o.insertBefore,Lo=o.insertInContainerBefore,ku=o.removeChild,co=o.removeChildFromContainer,qu=o.resetTextContent,Pa=o.hideInstance,m0=o.hideTextInstance,ia=o.unhideInstance,Q0=o.unhideTextInstance,ua=o.updateFundamentalComponent,Ia=o.unmountFundamentalComponent,ms=o.cloneInstance,S0=o.createContainerChildSet,Qn=o.appendChildToContainerChildSet,ac=o.finalizeContainerChildren,fi=o.replaceContainerChildren,$r=o.cloneHiddenInstance,Zl=o.cloneHiddenTextInstance,oa=o.cloneInstance,pf=o.canHydrateInstance,bs=o.canHydrateTextInstance,ba=o.canHydrateSuspenseInstance,Bs=o.isSuspenseInstancePending,y0=o.isSuspenseInstanceFallback,Us=o.registerSuspenseInstanceRetry,ji=o.getNextHydratableSibling,B=o.getFirstHydratableChild,z=o.hydrateInstance,G=o.hydrateTextInstance,$=o.hydrateSuspenseInstance,Te=o.getNextHydratableInstanceAfterSuspenseInstance,ge=o.commitHydratedContainer,Re=o.commitHydratedSuspenseInstance,Z=o.clearSuspenseBoundary,ke=o.clearSuspenseBoundaryFromContainer,Qe=o.didNotMatchHydratedContainerTextInstance,ht=o.didNotMatchHydratedTextInstance,ue=o.didNotHydrateContainerInstance,He=o.didNotHydrateInstance,nt=o.didNotFindHydratableContainerInstance,Ct=o.didNotFindHydratableContainerTextInstance,Mt=o.didNotFindHydratableContainerSuspenseInstance,It=o.didNotFindHydratableInstance,sn=o.didNotFindHydratableTextInstance,rn=o.didNotFindHydratableSuspenseInstance,Lt=/^(.*)[\\\\\\/]/,Dn=function(f,c,E){var T=\"\";if(c){var A=c.fileName,j=A.replace(Lt,\"\");if(/^index\\./.test(j)){var V=A.match(Lt);if(V){var te=V[1];if(te){var le=te.replace(Lt,\"\");j=le+\"/\"+j}}}T=\" (at \"+j+\":\"+c.lineNumber+\")\"}else E&&(T=\" (created by \"+E+\")\");return`\n    in `+(f||\"Unknown\")+T},dr=rt.ReactDebugCurrentFrame;function er(f){switch(f.tag){case U:case H:case ne:case m:case ve:case Ee:return\"\";default:var c=f._debugOwner,E=f._debugSource,T=qt(f.type),A=null;return c&&(A=qt(c.type)),Dn(T,E,A)}}function Cr(f){var c=\"\",E=f;do c+=er(E),E=E.return;while(E);return c}var An=null,Nr=null;function g0(){{if(An===null)return null;var f=An._debugOwner;if(f!==null&&typeof f!=\"undefined\")return qt(f.type)}return null}function Lr(){return An===null?\"\":Cr(An)}function it(){dr.getCurrentStack=null,An=null,Nr=null}function Dt(f){dr.getCurrentStack=Lr,An=f,Nr=null}function $e(f){Nr=f}var Pt=\"\\u269B\",un=\"\\u26D4\",fn=typeof performance!=\"undefined\"&&typeof performance.mark==\"function\"&&typeof performance.clearMarks==\"function\"&&typeof performance.measure==\"function\"&&typeof performance.clearMeasures==\"function\",Jn=null,wr=null,au=null,Nu=!1,T0=!1,J0=!1,Lu=0,_i=0,Fo=new Set,nl=function(f){return Pt+\" \"+f},hf=function(f,c){var E=c?un+\" \":Pt+\" \",T=c?\" Warning: \"+c:\"\";return\"\"+E+f+T},Sl=function(f){performance.mark(nl(f))},vf=function(f){performance.clearMarks(nl(f))},Po=function(f,c,E){var T=nl(c),A=hf(f,E);try{performance.measure(A,T)}catch(j){}performance.clearMarks(T),performance.clearMeasures(A)},ys=function(f,c){return f+\" (#\"+c+\")\"},js=function(f,c,E){return E===null?f+\" [\"+(c?\"update\":\"mount\")+\"]\":f+\".\"+E},Io=function(f,c){var E=qt(f.type)||\"Unknown\",T=f._debugID,A=f.alternate!==null,j=js(E,A,c);if(Nu&&Fo.has(j))return!1;Fo.add(j);var V=ys(j,T);return Sl(V),!0},bo=function(f,c){var E=qt(f.type)||\"Unknown\",T=f._debugID,A=f.alternate!==null,j=js(E,A,c),V=ys(j,T);vf(V)},gs=function(f,c,E){var T=qt(f.type)||\"Unknown\",A=f._debugID,j=f.alternate!==null,V=js(T,j,c),te=ys(V,A);Po(V,te,E)},Qu=function(f){switch(f.tag){case U:case W:case ne:case H:case m:case ve:case Ee:case he:return!0;default:return!1}},Tu=function(){wr!==null&&au!==null&&bo(au,wr),au=null,wr=null,J0=!1},Ei=function(){for(var f=Jn;f;)f._debugIsCurrentlyTiming&&gs(f,null,null),f=f.return},C0=function(f){f.return!==null&&C0(f.return),f._debugIsCurrentlyTiming&&Io(f,null)},Z0=function(){Jn!==null&&C0(Jn)};function Bo(){Hr&&_i++}function la(){Hr&&(Nu&&(T0=!0),wr!==null&&wr!==\"componentWillMount\"&&wr!==\"componentWillReceiveProps\"&&(J0=!0))}function $l(f){if(Hr){if(!fn||Qu(f)||(Jn=f,!Io(f,null)))return;f._debugIsCurrentlyTiming=!0}}function tu(f){if(Hr){if(!fn||Qu(f))return;f._debugIsCurrentlyTiming=!1,bo(f,null)}}function ei(f){if(Hr){if(!fn||Qu(f)||(Jn=f.return,!f._debugIsCurrentlyTiming))return;f._debugIsCurrentlyTiming=!1,gs(f,null,null)}}function po(f){if(Hr){if(!fn||Qu(f)||(Jn=f.return,!f._debugIsCurrentlyTiming))return;f._debugIsCurrentlyTiming=!1;var c=f.tag===pe?\"Rendering was suspended\":\"An error was thrown inside this error boundary\";gs(f,null,c)}}function Bi(f,c){if(Hr){if(!fn||(Tu(),!Io(f,c)))return;au=f,wr=c}}function Ci(){if(Hr){if(!fn)return;if(wr!==null&&au!==null){var f=J0?\"Scheduled a cascading update\":null;gs(au,wr,f)}wr=null,au=null}}function mf(f){if(Hr){if(Jn=f,!fn)return;Lu=0,Sl(\"(React Tree Reconciliation)\"),Z0()}}function yf(f,c){if(Hr){if(!fn)return;var E=null;if(f!==null)if(f.tag===U)E=\"A top-level update interrupted the previous render\";else{var T=qt(f.type)||\"Unknown\";E=\"An update to \"+T+\" interrupted the previous render\"}else Lu>1&&(E=\"There were cascading updates\");Lu=0;var A=c?\"(React Tree Reconciliation: Completed Root)\":\"(React Tree Reconciliation: Yielded)\";Ei(),Po(A,\"(React Tree Reconciliation)\",E)}}function $0(){if(Hr){if(!fn)return;Nu=!0,T0=!1,Fo.clear(),Sl(\"(Committing Changes)\")}}function eo(){if(Hr){if(!fn)return;var f=null;T0?f=\"Lifecycle hook scheduled a cascading update\":Lu>0&&(f=\"Caused by a cascading update in earlier commit\"),T0=!1,Lu++,Nu=!1,Fo.clear(),Po(\"(Committing Changes)\",\"(Committing Changes)\",f)}}function Ce(){if(Hr){if(!fn)return;_i=0,Sl(\"(Committing Snapshot Effects)\")}}function et(){if(Hr){if(!fn)return;var f=_i;_i=0,Po(\"(Committing Snapshot Effects: \"+f+\" Total)\",\"(Committing Snapshot Effects)\",null)}}function Ye(){if(Hr){if(!fn)return;_i=0,Sl(\"(Committing Host Effects)\")}}function Yt(){if(Hr){if(!fn)return;var f=_i;_i=0,Po(\"(Committing Host Effects: \"+f+\" Total)\",\"(Committing Host Effects)\",null)}}function Kt(){if(Hr){if(!fn)return;_i=0,Sl(\"(Calling Lifecycle Methods)\")}}function pr(){if(Hr){if(!fn)return;var f=_i;_i=0,Po(\"(Calling Lifecycle Methods: \"+f+\" Total)\",\"(Calling Lifecycle Methods)\",null)}}var Wr=[],xn;xn=[];var yu=-1;function Ju(f){return{current:f}}function ti(f,c){if(yu<0){We(!1,\"Unexpected pop.\");return}c!==xn[yu]&&We(!1,\"Unexpected Fiber popped.\"),f.current=Wr[yu],Wr[yu]=null,xn[yu]=null,yu--}function Jr(f,c,E){yu++,Wr[yu]=f.current,xn[yu]=E,f.current=c}var Wu;Wu={};var Rn={};Object.freeze(Rn);var x0=Ju(Rn),Fu=Ju(!1),li=Rn;function Tl(f,c,E){return ai?Rn:E&&Xi(c)?li:x0.current}function zs(f,c,E){if(!ai){var T=f.stateNode;T.__reactInternalMemoizedUnmaskedChildContext=c,T.__reactInternalMemoizedMaskedChildContext=E}}function Vu(f,c){if(ai)return Rn;var E=f.type,T=E.contextTypes;if(!T)return Rn;var A=f.stateNode;if(A&&A.__reactInternalMemoizedUnmaskedChildContext===c)return A.__reactInternalMemoizedMaskedChildContext;var j={};for(var V in T)j[V]=c[V];{var te=qt(E)||\"Unknown\";_(T,j,\"context\",te,Lr)}return A&&zs(f,c,j),j}function sa(){return ai?!1:Fu.current}function Xi(f){if(ai)return!1;var c=f.childContextTypes;return c!=null}function Hs(f){ai||(ti(Fu,f),ti(x0,f))}function R0(f){ai||(ti(Fu,f),ti(x0,f))}function zi(f,c,E){if(!ai){if(x0.current!==Rn)throw Error(\"Unexpected context found on stack. This error is likely caused by a bug in React. Please file an issue.\");Jr(x0,c,f),Jr(Fu,E,f)}}function A0(f,c,E){if(ai)return E;var T=f.stateNode,A=c.childContextTypes;if(typeof T.getChildContext!=\"function\"){{var j=qt(c)||\"Unknown\";Wu[j]||(Wu[j]=!0,We(!1,\"%s.childContextTypes is specified but there is no getChildContext() method on the instance. You can either define getChildContext() on %s or remove childContextTypes from it.\",j,j))}return E}var V;$e(\"getChildContext\"),Bi(f,\"getChildContext\"),V=T.getChildContext(),Ci(),$e(null);for(var te in V)if(!(te in A))throw Error((qt(c)||\"Unknown\")+'.getChildContext(): key \"'+te+'\" is not defined in childContextTypes.');{var le=qt(c)||\"Unknown\";_(A,V,\"child context\",le,Lr)}return a({},E,{},V)}function Hi(f){if(ai)return!1;var c=f.stateNode,E=c&&c.__reactInternalMemoizedMergedChildContext||Rn;return li=x0.current,Jr(x0,E,f),Jr(Fu,Fu.current,f),!0}function rl(f,c,E){if(!ai){var T=f.stateNode;if(!T)throw Error(\"Expected to have an instance by this point. This error is likely caused by a bug in React. Please file an issue.\");if(E){var A=A0(f,c,li);T.__reactInternalMemoizedMergedChildContext=A,ti(Fu,f),ti(x0,f),Jr(x0,A,f),Jr(Fu,E,f)}else ti(Fu,f),Jr(Fu,E,f)}}function Cl(f){if(ai)return Rn;if(!(Is(f)&&f.tag===O))throw Error(\"Expected subtree parent to be a mounted class component. This error is likely caused by a bug in React. Please file an issue.\");var c=f;do{switch(c.tag){case U:return c.stateNode.context;case O:{var E=c.type;if(Xi(E))return c.stateNode.__reactInternalMemoizedMergedChildContext;break}}c=c.return}while(c!==null);throw Error(\"Found unexpected detached subtree parent. This error is likely caused by a bug in React. Please file an issue.\")}var B0=1,O0=2,ho=t.unstable_runWithPriority,Pu=t.unstable_scheduleCallback,Zu=t.unstable_cancelCallback,es=t.unstable_shouldYield,_s=t.unstable_requestPaint,aa=t.unstable_now,gf=t.unstable_getCurrentPriorityLevel,$u=t.unstable_ImmediatePriority,Es=t.unstable_UserBlockingPriority,Rr=t.unstable_NormalPriority,to=t.unstable_LowPriority,nu=t.unstable_IdlePriority;if(bn&&!(k.__interactionsRef!=null&&k.__interactionsRef.current!=null))throw Error(\"It is not supported to run the profiling version of a renderer (for example, `react-dom/profiling`) without also replacing the `scheduler/tracing` module with `scheduler/tracing-profiling`. Your bundler might have a setting for aliasing both modules. Learn more at http://fb.me/react-profiling\");var fu={},Li=99,ni=98,Kn=97,e0=96,_0=95,E0=90,Fn=es,ae=_s!==void 0?_s:function(){},re=null,Fe=null,Ae=!1,st=aa(),vt=st<1e4?aa:function(){return aa()-st};function Qt(){switch(gf()){case $u:return Li;case Es:return ni;case Rr:return Kn;case to:return e0;case nu:return _0;default:throw Error(\"Unknown priority level.\")}}function On(f){switch(f){case Li:return $u;case ni:return Es;case Kn:return Rr;case e0:return to;case _0:return nu;default:throw Error(\"Unknown priority level.\")}}function Sn(f,c){var E=On(f);return ho(E,c)}function _n(f,c,E){var T=On(f);return Pu(T,c,E)}function Tn(f){return re===null?(re=[f],Fe=Pu($u,Fi)):re.push(f),fu}function ir(f){f!==fu&&Zu(f)}function Bt(){if(Fe!==null){var f=Fe;Fe=null,Zu(f)}Fi()}function Fi(){if(!Ae&&re!==null){Ae=!0;var f=0;try{var c=!0,E=re;Sn(Li,function(){for(;f<E.length;f++){var T=E[f];do T=T(c);while(T!==null)}}),re=null}catch(T){throw re!==null&&(re=re.slice(f+1)),Pu($u,Bt),T}finally{Ae=!1}}}var Ar=0,mr=1,Y=2,ri=4,ii=8,Vr=1073741823,at=0,Di=1,ru=2,D0=3,Un=Vr,t0=Un-1,no=10,vo=t0-1;function n0(f){return vo-(f/no|0)}function Uo(f){return(vo-f)*no}function ro(f,c){return((f/c|0)+1)*c}function Ba(f,c,E){return vo-ro(vo-f+c/no,E/no)}var _f=5e3,fc=250;function Ds(f){return Ba(f,_f,fc)}function fa(f,c){return Ba(f,c,fc)}var U0=500,cc=100;function Ua(f){return Ba(f,U0,cc)}function E2(f){return D0++}function nd(f,c){if(c===Un)return Li;if(c===Di||c===ru)return _0;var E=Uo(c)-Uo(f);return E<=0?Li:E<=U0+cc?ni:E<=_f+fc?Kn:_0}function rd(f,c){return f===c&&(f!==0||1/f==1/c)||f!==f&&c!==c}var mo=typeof Object.is==\"function\"?Object.is:rd,Hc=Object.prototype.hasOwnProperty;function xl(f,c){if(mo(f,c))return!0;if(typeof f!=\"object\"||f===null||typeof c!=\"object\"||c===null)return!1;var E=Object.keys(f),T=Object.keys(c);if(E.length!==T.length)return!1;for(var A=0;A<E.length;A++)if(!Hc.call(c,E[A])||!mo(f[E[A]],c[E[A]]))return!1;return!0}var il=function(){};{var D2=function(f){for(var c=arguments.length,E=new Array(c>1?c-1:0),T=1;T<c;T++)E[T-1]=arguments[T];var A=0,j=\"Warning: \"+f.replace(/%s/g,function(){return E[A++]});typeof console!=\"undefined\"&&console.warn(j);try{throw new Error(j)}catch(V){}};il=function(f,c){if(c===void 0)throw new Error(\"`lowPriorityWarningWithoutStack(condition, format, ...args)` requires a warning message argument\");if(!f){for(var E=arguments.length,T=new Array(E>2?E-2:0),A=2;A<E;A++)T[A-2]=arguments[A];D2.apply(void 0,[c].concat(T))}}}var qs=il,Rl={recordUnsafeLifecycleWarnings:function(f,c){},flushPendingUnsafeLifecycleWarnings:function(){},recordLegacyContextWarning:function(f,c){},flushLegacyContextWarning:function(){},discardPendingWarnings:function(){}};{var id=function(f){for(var c=null,E=f;E!==null;)E.mode&mr&&(c=E),E=E.return;return c},jo=function(f){var c=[];return f.forEach(function(E){c.push(E)}),c.sort().join(\", \")},ja=[],za=[],Ha=[],ca=[],ws=[],Ss=[],ts=new Set;Rl.recordUnsafeLifecycleWarnings=function(f,c){ts.has(f.type)||(typeof c.componentWillMount==\"function\"&&c.componentWillMount.__suppressDeprecationWarning!==!0&&ja.push(f),f.mode&mr&&typeof c.UNSAFE_componentWillMount==\"function\"&&za.push(f),typeof c.componentWillReceiveProps==\"function\"&&c.componentWillReceiveProps.__suppressDeprecationWarning!==!0&&Ha.push(f),f.mode&mr&&typeof c.UNSAFE_componentWillReceiveProps==\"function\"&&ca.push(f),typeof c.componentWillUpdate==\"function\"&&c.componentWillUpdate.__suppressDeprecationWarning!==!0&&ws.push(f),f.mode&mr&&typeof c.UNSAFE_componentWillUpdate==\"function\"&&Ss.push(f))},Rl.flushPendingUnsafeLifecycleWarnings=function(){var f=new Set;ja.length>0&&(ja.forEach(function(Nt){f.add(qt(Nt.type)||\"Component\"),ts.add(Nt.type)}),ja=[]);var c=new Set;za.length>0&&(za.forEach(function(Nt){c.add(qt(Nt.type)||\"Component\"),ts.add(Nt.type)}),za=[]);var E=new Set;Ha.length>0&&(Ha.forEach(function(Nt){E.add(qt(Nt.type)||\"Component\"),ts.add(Nt.type)}),Ha=[]);var T=new Set;ca.length>0&&(ca.forEach(function(Nt){T.add(qt(Nt.type)||\"Component\"),ts.add(Nt.type)}),ca=[]);var A=new Set;ws.length>0&&(ws.forEach(function(Nt){A.add(qt(Nt.type)||\"Component\"),ts.add(Nt.type)}),ws=[]);var j=new Set;if(Ss.length>0&&(Ss.forEach(function(Nt){j.add(qt(Nt.type)||\"Component\"),ts.add(Nt.type)}),Ss=[]),c.size>0){var V=jo(c);We(!1,`Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code. See https://fb.me/react-unsafe-component-lifecycles for details.\n\n* Move code with side effects to componentDidMount, and set initial state in the constructor.\n\nPlease update the following components: %s`,V)}if(T.size>0){var te=jo(T);We(!1,`Using UNSAFE_componentWillReceiveProps in strict mode is not recommended and may indicate bugs in your code. See https://fb.me/react-unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://fb.me/react-derived-state\n\nPlease update the following components: %s`,te)}if(j.size>0){var le=jo(j);We(!1,`Using UNSAFE_componentWillUpdate in strict mode is not recommended and may indicate bugs in your code. See https://fb.me/react-unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n\nPlease update the following components: %s`,le)}if(f.size>0){var Be=jo(f);qs(!1,`componentWillMount has been renamed, and is not recommended for use. See https://fb.me/react-unsafe-component-lifecycles for details.\n\n* Move code with side effects to componentDidMount, and set initial state in the constructor.\n* Rename componentWillMount to UNSAFE_componentWillMount to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run \\`npx react-codemod rename-unsafe-lifecycles\\` in your project source folder.\n\nPlease update the following components: %s`,Be)}if(E.size>0){var Ke=jo(E);qs(!1,`componentWillReceiveProps has been renamed, and is not recommended for use. See https://fb.me/react-unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://fb.me/react-derived-state\n* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run \\`npx react-codemod rename-unsafe-lifecycles\\` in your project source folder.\n\nPlease update the following components: %s`,Ke)}if(A.size>0){var pt=jo(A);qs(!1,`componentWillUpdate has been renamed, and is not recommended for use. See https://fb.me/react-unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n* Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run \\`npx react-codemod rename-unsafe-lifecycles\\` in your project source folder.\n\nPlease update the following components: %s`,pt)}};var zo=new Map,Ef=new Set;Rl.recordLegacyContextWarning=function(f,c){var E=id(f);if(E===null){We(!1,\"Expected to find a StrictMode component in a strict mode tree. This error is likely caused by a bug in React. Please file an issue.\");return}if(!Ef.has(f.type)){var T=zo.get(E);(f.type.contextTypes!=null||f.type.childContextTypes!=null||c!==null&&typeof c.getChildContext==\"function\")&&(T===void 0&&(T=[],zo.set(E,T)),T.push(f))}},Rl.flushLegacyContextWarning=function(){zo.forEach(function(f,c){var E=new Set;f.forEach(function(j){E.add(qt(j.type)||\"Component\"),Ef.add(j.type)});var T=jo(E),A=Cr(c);We(!1,`Legacy context API has been detected within a strict-mode tree.\n\nThe old API will be supported in all 16.x releases, but applications using it should migrate to the new version.\n\nPlease update the following components: %s\n\nLearn more about this warning here: https://fb.me/react-legacy-context%s`,T,A)})},Rl.discardPendingWarnings=function(){ja=[],za=[],Ha=[],ca=[],ws=[],Ss=[],zo=new Map}}var ul=null,Gu=null,qa=function(f){ul=f};function r0(f){{if(ul===null)return f;var c=ul(f);return c===void 0?f:c.current}}function j0(f){return r0(f)}function Df(f){{if(ul===null)return f;var c=ul(f);if(c===void 0){if(f!=null&&typeof f.render==\"function\"){var E=r0(f.render);if(f.render!==E){var T={$$typeof:Mn,render:E};return f.displayName!==void 0&&(T.displayName=f.displayName),T}}return f}return c.current}}function qc(f,c){{if(ul===null)return!1;var E=f.elementType,T=c.type,A=!1,j=typeof T==\"object\"&&T!==null?T.$$typeof:null;switch(f.tag){case O:{typeof T==\"function\"&&(A=!0);break}case L:{(typeof T==\"function\"||j===Er)&&(A=!0);break}case se:{(j===Mn||j===Er)&&(A=!0);break}case me:case ie:{(j===Vt||j===Er)&&(A=!0);break}default:return!1}if(A){var V=ul(E);if(V!==void 0&&V===ul(T))return!0}return!1}}function dc(f){{if(ul===null||typeof WeakSet!=\"function\")return;Gu===null&&(Gu=new WeakSet),Gu.add(f)}}var Al=function(f,c){{if(ul===null)return;var E=c.staleFamilies,T=c.updatedFamilies;tf(),Ap(function(){da(f.current,T,E)})}},Ts=function(f,c){{if(f.context!==Rn)return;tf(),fv(function(){Yg(c,f,null,null)})}};function da(f,c,E){{var T=f.alternate,A=f.child,j=f.sibling,V=f.tag,te=f.type,le=null;switch(V){case L:case ie:case O:le=te;break;case se:le=te.render;break;default:break}if(ul===null)throw new Error(\"Expected resolveFamily to be set during hot reload.\");var Be=!1,Ke=!1;if(le!==null){var pt=ul(le);pt!==void 0&&(E.has(pt)?Ke=!0:c.has(pt)&&(V===O?Ke=!0:Be=!0))}Gu!==null&&(Gu.has(f)||T!==null&&Gu.has(T))&&(Ke=!0),Ke&&(f._debugNeedsRemount=!0),(Ke||Be)&&ml(f,Un),A!==null&&!Ke&&da(A,c,E),j!==null&&da(j,c,E)}}var ud=function(f,c){{var E=new Set,T=new Set(c.map(function(A){return A.current}));return pa(f.current,T,E),E}};function pa(f,c,E){{var T=f.child,A=f.sibling,j=f.tag,V=f.type,te=null;switch(j){case L:case ie:case O:te=V;break;case se:te=V.render;break;default:break}var le=!1;te!==null&&c.has(te)&&(le=!0),le?pc(f,E):T!==null&&pa(T,c,E),A!==null&&pa(A,c,E)}}function pc(f,c){{var E=Wc(f,c);if(E)return;for(var T=f;;){switch(T.tag){case W:c.add(T.stateNode);return;case H:c.add(T.stateNode.containerInfo);return;case U:c.add(T.stateNode.containerInfo);return}if(T.return===null)throw new Error(\"Expected to reach root first.\");T=T.return}}}function Wc(f,c){for(var E=f,T=!1;;){if(E.tag===W)T=!0,c.add(E.stateNode);else if(E.child!==null){E.child.return=E,E=E.child;continue}if(E===f)return T;for(;E.sibling===null;){if(E.return===null||E.return===f)return T;E=E.return}E.sibling.return=E.return,E=E.sibling}return!1}function qi(f,c){if(f&&f.defaultProps){var E=a({},c),T=f.defaultProps;for(var A in T)E[A]===void 0&&(E[A]=T[A]);return E}return c}function g(f){if(Jo(f),f._status!==Ro)throw f._result;return f._result}var y=Ju(null),R;R={};var F=null,b=null,J=null,ce=!1;function mt(){F=null,b=null,J=null,ce=!1}function xt(){ce=!0}function kt(){ce=!1}function xr(f,c){var E=f.type._context;ju?(Jr(y,E._currentValue,f),E._currentValue=c,E._currentRenderer===void 0||E._currentRenderer===null||E._currentRenderer===R||We(!1,\"Detected multiple renderers concurrently rendering the same context provider. This is currently unsupported.\"),E._currentRenderer=R):(Jr(y,E._currentValue2,f),E._currentValue2=c,E._currentRenderer2===void 0||E._currentRenderer2===null||E._currentRenderer2===R||We(!1,\"Detected multiple renderers concurrently rendering the same context provider. This is currently unsupported.\"),E._currentRenderer2=R)}function i0(f){var c=y.current;ti(y,f);var E=f.type._context;ju?E._currentValue=c:E._currentValue2=c}function cu(f,c,E){if(mo(E,c))return 0;var T=typeof f._calculateChangedBits==\"function\"?f._calculateChangedBits(E,c):Vr;return(T&Vr)!==T&&Xt(!1,\"calculateChangedBits: Expected the return value to be a 31-bit integer. Instead received: %s\",T),T|0}function z0(f,c){for(var E=f;E!==null;){var T=E.alternate;if(E.childExpirationTime<c)E.childExpirationTime=c,T!==null&&T.childExpirationTime<c&&(T.childExpirationTime=c);else if(T!==null&&T.childExpirationTime<c)T.childExpirationTime=c;else break;E=E.return}}function Ol(f,c,E,T){var A=f.child;for(A!==null&&(A.return=f);A!==null;){var j=void 0,V=A.dependencies;if(V!==null){j=A.child;for(var te=V.firstContext;te!==null;){if(te.context===c&&(te.observedBits&E)!=0){if(A.tag===O){var le=Cu(T,null);le.tag=$t,Va(A,le)}A.expirationTime<T&&(A.expirationTime=T);var Be=A.alternate;Be!==null&&Be.expirationTime<T&&(Be.expirationTime=T),z0(A.return,T),V.expirationTime<T&&(V.expirationTime=T);break}te=te.next}}else if(A.tag===ve)j=A.type===f.type?null:A.child;else if(Ai&&A.tag===qe){var Ke=A.return;if(Ke===null)throw Error(\"We just came from a parent so we must have had a parent. This is a bug in React.\");Ke.expirationTime<T&&(Ke.expirationTime=T);var pt=Ke.alternate;pt!==null&&pt.expirationTime<T&&(pt.expirationTime=T),z0(Ke,T),j=A.sibling}else j=A.child;if(j!==null)j.return=A;else for(j=A;j!==null;){if(j===f){j=null;break}var Nt=j.sibling;if(Nt!==null){Nt.return=j.return,j=Nt;break}j=j.return}A=j}}function u0(f,c){F=f,b=null,J=null;var E=f.dependencies;if(E!==null){var T=E.firstContext;T!==null&&(E.expirationTime>=c&&lp(),E.firstContext=null)}}function Ve(f,c){if(ce&&Xt(!1,\"Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().\"),J!==f){if(!(c===!1||c===0)){var E;typeof c!=\"number\"||c===Vr?(J=f,E=Vr):E=c;var T={context:f,observedBits:E,next:null};if(b===null){if(F===null)throw Error(\"Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().\");b=T,F.dependencies={expirationTime:at,firstContext:T,responders:null}}else b=b.next=T}}return ju?f._currentValue:f._currentValue2}var Ue=0,lt=1,$t=2,Wn=3,si=!1,ur,ci;ur=!1,ci=null;function Qi(f){var c={baseState:f,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null};return c}function Gr(f){var c={baseState:f.baseState,firstUpdate:f.firstUpdate,lastUpdate:f.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null};return c}function Cu(f,c){var E={expirationTime:f,suspenseConfig:c,tag:Ue,payload:null,callback:null,next:null,nextEffect:null};return E.priority=Qt(),E}function Wa(f,c){f.lastUpdate===null?f.firstUpdate=f.lastUpdate=c:(f.lastUpdate.next=c,f.lastUpdate=c)}function Va(f,c){var E=f.alternate,T,A;E===null?(T=f.updateQueue,A=null,T===null&&(T=f.updateQueue=Qi(f.memoizedState))):(T=f.updateQueue,A=E.updateQueue,T===null?A===null?(T=f.updateQueue=Qi(f.memoizedState),A=E.updateQueue=Qi(E.memoizedState)):T=f.updateQueue=Gr(A):A===null&&(A=E.updateQueue=Gr(T))),A===null||T===A?Wa(T,c):T.lastUpdate===null||A.lastUpdate===null?(Wa(T,c),Wa(A,c)):(Wa(T,c),A.lastUpdate=c),f.tag===O&&(ci===T||A!==null&&ci===A)&&!ur&&(We(!1,\"An update (setState, replaceState, or forceUpdate) was scheduled from inside an update function. Update functions should be pure, with zero side-effects. Consider using componentDidUpdate or a callback.\"),ur=!0)}function od(f,c){var E=f.updateQueue;E===null?E=f.updateQueue=Qi(f.memoizedState):E=w2(f,E),E.lastCapturedUpdate===null?E.firstCapturedUpdate=E.lastCapturedUpdate=c:(E.lastCapturedUpdate.next=c,E.lastCapturedUpdate=c)}function w2(f,c){var E=f.alternate;return E!==null&&c===E.updateQueue&&(c=f.updateQueue=Gr(c)),c}function S2(f,c,E,T,A,j){switch(E.tag){case lt:{var V=E.payload;if(typeof V==\"function\"){xt(),Ri&&f.mode&mr&&V.call(j,T,A);var te=V.call(j,T,A);return kt(),te}return V}case Wn:f.effectTag=f.effectTag&~p0|Xr;case Ue:{var le=E.payload,Be;return typeof le==\"function\"?(xt(),Ri&&f.mode&mr&&le.call(j,T,A),Be=le.call(j,T,A),kt()):Be=le,Be==null?T:a({},T,Be)}case $t:return si=!0,T}return T}function wf(f,c,E,T,A){si=!1,c=w2(f,c),ci=c;for(var j=c.baseState,V=null,te=at,le=c.firstUpdate,Be=j;le!==null;){var Ke=le.expirationTime;if(Ke<A)V===null&&(V=le,j=Be),te<Ke&&(te=Ke);else{vv(Ke,le.suspenseConfig),Be=S2(f,c,le,Be,E,T);var pt=le.callback;pt!==null&&(f.effectTag|=Y0,le.nextEffect=null,c.lastEffect===null?c.firstEffect=c.lastEffect=le:(c.lastEffect.nextEffect=le,c.lastEffect=le))}le=le.next}var Nt=null;for(le=c.firstCapturedUpdate;le!==null;){var Gt=le.expirationTime;if(Gt<A)Nt===null&&(Nt=le,V===null&&(j=Be)),te<Gt&&(te=Gt);else{Be=S2(f,c,le,Be,E,T);var zt=le.callback;zt!==null&&(f.effectTag|=Y0,le.nextEffect=null,c.lastCapturedEffect===null?c.firstCapturedEffect=c.lastCapturedEffect=le:(c.lastCapturedEffect.nextEffect=le,c.lastCapturedEffect=le))}le=le.next}V===null&&(c.lastUpdate=null),Nt===null?c.lastCapturedUpdate=null:f.effectTag|=Y0,V===null&&Nt===null&&(j=Be),c.baseState=j,c.firstUpdate=V,c.firstCapturedUpdate=Nt,Xd(te),f.expirationTime=te,f.memoizedState=Be,ci=null}function ld(f,c){if(typeof f!=\"function\")throw Error(\"Invalid argument passed as callback. Expected a function. Instead received: \"+f);f.call(c)}function ch(){si=!1}function Vc(){return si}function yo(f,c,E,T){c.firstCapturedUpdate!==null&&(c.lastUpdate!==null&&(c.lastUpdate.next=c.firstCapturedUpdate,c.lastUpdate=c.lastCapturedUpdate),c.firstCapturedUpdate=c.lastCapturedUpdate=null),dh(c.firstEffect,E),c.firstEffect=c.lastEffect=null,dh(c.firstCapturedEffect,E),c.firstCapturedEffect=c.lastCapturedEffect=null}function dh(f,c){for(;f!==null;){var E=f.callback;E!==null&&(f.callback=null,ld(E,c)),f=f.nextEffect}}var ph=rt.ReactCurrentBatchConfig;function go(){return ph.suspense}var Ml={},sd=Array.isArray,ad=new p.Component().refs,T2,Gc,Ir,fd,cd,Ga,Yc,C2,ol,ll;{T2=new Set,Gc=new Set,Ir=new Set,fd=new Set,C2=new Set,cd=new Set,ol=new Set,ll=new Set;var hh=new Set;Yc=function(f,c){if(!(f===null||typeof f==\"function\")){var E=c+\"_\"+f;hh.has(E)||(hh.add(E),We(!1,\"%s(...): Expected the last optional `callback` argument to be a function. Instead received: %s.\",c,f))}},Ga=function(f,c){if(c===void 0){var E=qt(f)||\"Component\";cd.has(E)||(cd.add(E),We(!1,\"%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. You have returned undefined.\",E))}},Object.defineProperty(Ml,\"_processChildContext\",{enumerable:!1,value:function(){throw Error(\"_processChildContext is not available in React 16+. This likely means you have multiple copies of React and are attempting to nest a React 15 tree inside a React 16 tree using unstable_renderSubtreeIntoContainer, which isn't supported. Try to make sure you have only one copy of React (and ideally, switch to ReactDOM.createPortal).\")}}),Object.freeze(Ml)}function Sf(f,c,E,T){var A=f.memoizedState;Ri&&f.mode&mr&&E(T,A);var j=E(T,A);Ga(c,j);var V=j==null?A:a({},A,j);f.memoizedState=V;var te=f.updateQueue;te!==null&&f.expirationTime===at&&(te.baseState=V)}var Kc={isMounted:$n,enqueueSetState:function(f,c,E){var T=Ft(f),A=Ul(),j=go(),V=jf(A,T,j),te=Cu(V,j);te.payload=c,E!=null&&(Yc(E,\"setState\"),te.callback=E),Va(T,te),ml(T,V)},enqueueReplaceState:function(f,c,E){var T=Ft(f),A=Ul(),j=go(),V=jf(A,T,j),te=Cu(V,j);te.tag=lt,te.payload=c,E!=null&&(Yc(E,\"replaceState\"),te.callback=E),Va(T,te),ml(T,V)},enqueueForceUpdate:function(f,c){var E=Ft(f),T=Ul(),A=go(),j=jf(T,E,A),V=Cu(j,A);V.tag=$t,c!=null&&(Yc(c,\"forceUpdate\"),V.callback=c),Va(E,V),ml(E,j)}};function x2(f,c,E,T,A,j,V){var te=f.stateNode;if(typeof te.shouldComponentUpdate==\"function\"){Bi(f,\"shouldComponentUpdate\");var le=te.shouldComponentUpdate(T,j,V);return Ci(),le===void 0&&We(!1,\"%s.shouldComponentUpdate(): Returned undefined instead of a boolean value. Make sure to return true or false.\",qt(c)||\"Component\"),le}return c.prototype&&c.prototype.isPureReactComponent?!xl(E,T)||!xl(A,j):!0}function vh(f,c,E){var T=f.stateNode;{var A=qt(c)||\"Component\",j=T.render;j||(c.prototype&&typeof c.prototype.render==\"function\"?We(!1,\"%s(...): No `render` method found on the returned component instance: did you accidentally return an object from the constructor?\",A):We(!1,\"%s(...): No `render` method found on the returned component instance: you may have forgotten to define `render`.\",A));var V=!T.getInitialState||T.getInitialState.isReactClassApproved||T.state;V||We(!1,\"getInitialState was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Did you mean to define a state property instead?\",A);var te=!T.getDefaultProps||T.getDefaultProps.isReactClassApproved;te||We(!1,\"getDefaultProps was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Use a static property to define defaultProps instead.\",A);var le=!T.propTypes;le||We(!1,\"propTypes was defined as an instance property on %s. Use a static property to define propTypes instead.\",A);var Be=!T.contextType;if(Be||We(!1,\"contextType was defined as an instance property on %s. Use a static property to define contextType instead.\",A),ai)c.childContextTypes&&We(!1,\"%s uses the legacy childContextTypes API which is no longer supported. Use React.createContext() instead.\",A),c.contextTypes&&We(!1,\"%s uses the legacy contextTypes API which is no longer supported. Use React.createContext() with static contextType instead.\",A);else{var Ke=!T.contextTypes;Ke||We(!1,\"contextTypes was defined as an instance property on %s. Use a static property to define contextTypes instead.\",A),c.contextType&&c.contextTypes&&!ol.has(c)&&(ol.add(c),We(!1,\"%s declares both contextTypes and contextType static properties. The legacy contextTypes property will be ignored.\",A))}var pt=typeof T.componentShouldUpdate!=\"function\";pt||We(!1,\"%s has a method called componentShouldUpdate(). Did you mean shouldComponentUpdate()? The name is phrased as a question because the function is expected to return a value.\",A),c.prototype&&c.prototype.isPureReactComponent&&typeof T.shouldComponentUpdate!=\"undefined\"&&We(!1,\"%s has a method called shouldComponentUpdate(). shouldComponentUpdate should not be used when extending React.PureComponent. Please extend React.Component if shouldComponentUpdate is used.\",qt(c)||\"A pure component\");var Nt=typeof T.componentDidUnmount!=\"function\";Nt||We(!1,\"%s has a method called componentDidUnmount(). But there is no such lifecycle method. Did you mean componentWillUnmount()?\",A);var Gt=typeof T.componentDidReceiveProps!=\"function\";Gt||We(!1,\"%s has a method called componentDidReceiveProps(). But there is no such lifecycle method. If you meant to update the state in response to changing props, use componentWillReceiveProps(). If you meant to fetch data or run side-effects or mutations after React has updated the UI, use componentDidUpdate().\",A);var zt=typeof T.componentWillRecieveProps!=\"function\";zt||We(!1,\"%s has a method called componentWillRecieveProps(). Did you mean componentWillReceiveProps()?\",A);var yn=typeof T.UNSAFE_componentWillRecieveProps!=\"function\";yn||We(!1,\"%s has a method called UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?\",A);var kr=T.props!==E;T.props===void 0||!kr||We(!1,\"%s(...): When calling super() in `%s`, make sure to pass up the same props that your component's constructor was passed.\",A,A);var oi=!T.defaultProps;oi||We(!1,\"Setting defaultProps as an instance property on %s is not supported and will be ignored. Instead, define defaultProps as a static property on %s.\",A,A),typeof T.getSnapshotBeforeUpdate==\"function\"&&typeof T.componentDidUpdate!=\"function\"&&!Ir.has(c)&&(Ir.add(c),We(!1,\"%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). This component defines getSnapshotBeforeUpdate() only.\",qt(c)));var Oi=typeof T.getDerivedStateFromProps!=\"function\";Oi||We(!1,\"%s: getDerivedStateFromProps() is defined as an instance method and will be ignored. Instead, declare it as a static method.\",A);var L0=typeof T.getDerivedStateFromError!=\"function\";L0||We(!1,\"%s: getDerivedStateFromError() is defined as an instance method and will be ignored. Instead, declare it as a static method.\",A);var $i=typeof c.getSnapshotBeforeUpdate!=\"function\";$i||We(!1,\"%s: getSnapshotBeforeUpdate() is defined as a static method and will be ignored. Instead, declare it as an instance method.\",A);var ot=T.state;ot&&(typeof ot!=\"object\"||sd(ot))&&We(!1,\"%s.state: must be set to an object or null\",A),typeof T.getChildContext==\"function\"&&typeof c.childContextTypes!=\"object\"&&We(!1,\"%s.getChildContext(): childContextTypes must be defined in order to use getChildContext().\",A)}}function sl(f,c){c.updater=Kc,f.stateNode=c,Jt(c,f),c._reactInternalInstance=Ml}function ha(f,c,E,T){var A=!1,j=Rn,V=Rn,te=c.contextType;if(\"contextType\"in c){var le=te===null||te!==void 0&&te.$$typeof===nn&&te._context===void 0;if(!le&&!ll.has(c)){ll.add(c);var Be=\"\";te===void 0?Be=\" However, it is set to undefined. This can be caused by a typo or by mixing up named and default imports. This can also happen due to a circular dependency, so try moving the createContext() call to a separate file.\":typeof te!=\"object\"?Be=\" However, it is set to a \"+typeof te+\".\":te.$$typeof===Rt?Be=\" Did you accidentally pass the Context.Provider instead?\":te._context!==void 0?Be=\" Did you accidentally pass the Context.Consumer instead?\":Be=\" However, it is set to an object with keys {\"+Object.keys(te).join(\", \")+\"}.\",We(!1,\"%s defines an invalid contextType. contextType should point to the Context object returned by React.createContext().%s\",qt(c)||\"Component\",Be)}}if(typeof te==\"object\"&&te!==null)V=Ve(te);else if(!ai){j=Tl(f,c,!0);var Ke=c.contextTypes;A=Ke!=null,V=A?Vu(f,j):Rn}Ri&&f.mode&mr&&new c(E,V);var pt=new c(E,V),Nt=f.memoizedState=pt.state!==null&&pt.state!==void 0?pt.state:null;sl(f,pt);{if(typeof c.getDerivedStateFromProps==\"function\"&&Nt===null){var Gt=qt(c)||\"Component\";Gc.has(Gt)||(Gc.add(Gt),We(!1,\"`%s` uses `getDerivedStateFromProps` but its initial state is %s. This is not recommended. Instead, define the initial state by assigning an object to `this.state` in the constructor of `%s`. This ensures that `getDerivedStateFromProps` arguments have a consistent shape.\",Gt,pt.state===null?\"null\":\"undefined\",Gt))}if(typeof c.getDerivedStateFromProps==\"function\"||typeof pt.getSnapshotBeforeUpdate==\"function\"){var zt=null,yn=null,kr=null;if(typeof pt.componentWillMount==\"function\"&&pt.componentWillMount.__suppressDeprecationWarning!==!0?zt=\"componentWillMount\":typeof pt.UNSAFE_componentWillMount==\"function\"&&(zt=\"UNSAFE_componentWillMount\"),typeof pt.componentWillReceiveProps==\"function\"&&pt.componentWillReceiveProps.__suppressDeprecationWarning!==!0?yn=\"componentWillReceiveProps\":typeof pt.UNSAFE_componentWillReceiveProps==\"function\"&&(yn=\"UNSAFE_componentWillReceiveProps\"),typeof pt.componentWillUpdate==\"function\"&&pt.componentWillUpdate.__suppressDeprecationWarning!==!0?kr=\"componentWillUpdate\":typeof pt.UNSAFE_componentWillUpdate==\"function\"&&(kr=\"UNSAFE_componentWillUpdate\"),zt!==null||yn!==null||kr!==null){var oi=qt(c)||\"Component\",Oi=typeof c.getDerivedStateFromProps==\"function\"?\"getDerivedStateFromProps()\":\"getSnapshotBeforeUpdate()\";fd.has(oi)||(fd.add(oi),We(!1,`Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n%s uses %s but also contains the following legacy lifecycles:%s%s%s\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://fb.me/react-unsafe-component-lifecycles`,oi,Oi,zt!==null?`\n  `+zt:\"\",yn!==null?`\n  `+yn:\"\",kr!==null?`\n  `+kr:\"\"))}}}return A&&zs(f,j,V),pt}function R2(f,c){Bi(f,\"componentWillMount\");var E=c.state;typeof c.componentWillMount==\"function\"&&c.componentWillMount(),typeof c.UNSAFE_componentWillMount==\"function\"&&c.UNSAFE_componentWillMount(),Ci(),E!==c.state&&(We(!1,\"%s.componentWillMount(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.\",qt(f.type)||\"Component\"),Kc.enqueueReplaceState(c,c.state,null))}function A2(f,c,E,T){var A=c.state;if(Bi(f,\"componentWillReceiveProps\"),typeof c.componentWillReceiveProps==\"function\"&&c.componentWillReceiveProps(E,T),typeof c.UNSAFE_componentWillReceiveProps==\"function\"&&c.UNSAFE_componentWillReceiveProps(E,T),Ci(),c.state!==A){{var j=qt(f.type)||\"Component\";T2.has(j)||(T2.add(j),We(!1,\"%s.componentWillReceiveProps(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.\",j))}Kc.enqueueReplaceState(c,c.state,null)}}function hc(f,c,E,T){vh(f,c,E);var A=f.stateNode;A.props=E,A.state=f.memoizedState,A.refs=ad;var j=c.contextType;if(typeof j==\"object\"&&j!==null)A.context=Ve(j);else if(ai)A.context=Rn;else{var V=Tl(f,c,!0);A.context=Vu(f,V)}{if(A.state===E){var te=qt(c)||\"Component\";C2.has(te)||(C2.add(te),We(!1,\"%s: It is not recommended to assign props directly to state because updates to props won't be reflected in state. In most cases, it is better to use props directly.\",te))}f.mode&mr&&Rl.recordLegacyContextWarning(f,A),yi&&Rl.recordUnsafeLifecycleWarnings(f,A)}var le=f.updateQueue;le!==null&&(wf(f,le,E,A,T),A.state=f.memoizedState);var Be=c.getDerivedStateFromProps;typeof Be==\"function\"&&(Sf(f,c,Be,E),A.state=f.memoizedState),typeof c.getDerivedStateFromProps!=\"function\"&&typeof A.getSnapshotBeforeUpdate!=\"function\"&&(typeof A.UNSAFE_componentWillMount==\"function\"||typeof A.componentWillMount==\"function\")&&(R2(f,A),le=f.updateQueue,le!==null&&(wf(f,le,E,A,T),A.state=f.memoizedState)),typeof A.componentDidMount==\"function\"&&(f.effectTag|=Dr)}function mh(f,c,E,T){var A=f.stateNode,j=f.memoizedProps;A.props=j;var V=A.context,te=c.contextType,le=Rn;if(typeof te==\"object\"&&te!==null)le=Ve(te);else if(!ai){var Be=Tl(f,c,!0);le=Vu(f,Be)}var Ke=c.getDerivedStateFromProps,pt=typeof Ke==\"function\"||typeof A.getSnapshotBeforeUpdate==\"function\";!pt&&(typeof A.UNSAFE_componentWillReceiveProps==\"function\"||typeof A.componentWillReceiveProps==\"function\")&&(j!==E||V!==le)&&A2(f,A,E,le),ch();var Nt=f.memoizedState,Gt=A.state=Nt,zt=f.updateQueue;if(zt!==null&&(wf(f,zt,E,A,T),Gt=f.memoizedState),j===E&&Nt===Gt&&!sa()&&!Vc())return typeof A.componentDidMount==\"function\"&&(f.effectTag|=Dr),!1;typeof Ke==\"function\"&&(Sf(f,c,Ke,E),Gt=f.memoizedState);var yn=Vc()||x2(f,c,j,E,Nt,Gt,le);return yn?(!pt&&(typeof A.UNSAFE_componentWillMount==\"function\"||typeof A.componentWillMount==\"function\")&&(Bi(f,\"componentWillMount\"),typeof A.componentWillMount==\"function\"&&A.componentWillMount(),typeof A.UNSAFE_componentWillMount==\"function\"&&A.UNSAFE_componentWillMount(),Ci()),typeof A.componentDidMount==\"function\"&&(f.effectTag|=Dr)):(typeof A.componentDidMount==\"function\"&&(f.effectTag|=Dr),f.memoizedProps=E,f.memoizedState=Gt),A.props=E,A.state=Gt,A.context=le,yn}function O2(f,c,E,T,A){var j=c.stateNode,V=c.memoizedProps;j.props=c.type===c.elementType?V:qi(c.type,V);var te=j.context,le=E.contextType,Be=Rn;if(typeof le==\"object\"&&le!==null)Be=Ve(le);else if(!ai){var Ke=Tl(c,E,!0);Be=Vu(c,Ke)}var pt=E.getDerivedStateFromProps,Nt=typeof pt==\"function\"||typeof j.getSnapshotBeforeUpdate==\"function\";!Nt&&(typeof j.UNSAFE_componentWillReceiveProps==\"function\"||typeof j.componentWillReceiveProps==\"function\")&&(V!==T||te!==Be)&&A2(c,j,T,Be),ch();var Gt=c.memoizedState,zt=j.state=Gt,yn=c.updateQueue;if(yn!==null&&(wf(c,yn,T,j,A),zt=c.memoizedState),V===T&&Gt===zt&&!sa()&&!Vc())return typeof j.componentDidUpdate==\"function\"&&(V!==f.memoizedProps||Gt!==f.memoizedState)&&(c.effectTag|=Dr),typeof j.getSnapshotBeforeUpdate==\"function\"&&(V!==f.memoizedProps||Gt!==f.memoizedState)&&(c.effectTag|=Oo),!1;typeof pt==\"function\"&&(Sf(c,E,pt,T),zt=c.memoizedState);var kr=Vc()||x2(c,E,V,T,Gt,zt,Be);return kr?(!Nt&&(typeof j.UNSAFE_componentWillUpdate==\"function\"||typeof j.componentWillUpdate==\"function\")&&(Bi(c,\"componentWillUpdate\"),typeof j.componentWillUpdate==\"function\"&&j.componentWillUpdate(T,zt,Be),typeof j.UNSAFE_componentWillUpdate==\"function\"&&j.UNSAFE_componentWillUpdate(T,zt,Be),Ci()),typeof j.componentDidUpdate==\"function\"&&(c.effectTag|=Dr),typeof j.getSnapshotBeforeUpdate==\"function\"&&(c.effectTag|=Oo)):(typeof j.componentDidUpdate==\"function\"&&(V!==f.memoizedProps||Gt!==f.memoizedState)&&(c.effectTag|=Dr),typeof j.getSnapshotBeforeUpdate==\"function\"&&(V!==f.memoizedProps||Gt!==f.memoizedState)&&(c.effectTag|=Oo),c.memoizedProps=T,c.memoizedState=zt),j.props=T,j.state=zt,j.context=Be,kr}var dd,Xc,Qc,Ws,M2,va=function(f){};dd=!1,Xc=!1,Qc={},Ws={},M2={},va=function(f){if(!(f===null||typeof f!=\"object\")&&!(!f._store||f._store.validated||f.key!=null)){if(typeof f._store!=\"object\")throw Error(\"React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue.\");f._store.validated=!0;var c='Each child in a list should have a unique \"key\" prop. See https://fb.me/react-warning-keys for more information.'+Lr();Ws[c]||(Ws[c]=!0,Xt(!1,'Each child in a list should have a unique \"key\" prop. See https://fb.me/react-warning-keys for more information.'))}};var Jc=Array.isArray;function vc(f,c,E){var T=E.ref;if(T!==null&&typeof T!=\"function\"&&typeof T!=\"object\"){if(f.mode&mr||Mo){var A=qt(f.type)||\"Component\";Qc[A]||(Mo?We(!1,'Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. We recommend using useRef() or createRef() instead. Learn more about using refs safely here: https://fb.me/react-strict-mode-string-ref%s',A,T,Cr(f)):We(!1,'A string ref, \"%s\", has been found within a strict mode tree. String refs are a source of potential bugs and should be avoided. We recommend using useRef() or createRef() instead. Learn more about using refs safely here: https://fb.me/react-strict-mode-string-ref%s',T,Cr(f)),Qc[A]=!0)}if(E._owner){var j=E._owner,V;if(j){var te=j;if(te.tag!==O)throw Error(\"Function components cannot have refs. Did you mean to use React.forwardRef()?\");V=te.stateNode}if(!V)throw Error(\"Missing owner for string ref \"+T+\". This error is likely caused by a bug in React. Please file an issue.\");var le=\"\"+T;if(c!==null&&c.ref!==null&&typeof c.ref==\"function\"&&c.ref._stringRef===le)return c.ref;var Be=function(Ke){var pt=V.refs;pt===ad&&(pt=V.refs={}),Ke===null?delete pt[le]:pt[le]=Ke};return Be._stringRef=le,Be}else{if(typeof T!=\"string\")throw Error(\"Expected ref to be a function, a string, an object returned by React.createRef(), or null.\");if(!E._owner)throw Error(\"Element ref was specified as a string (\"+T+`) but no owner was set. This could happen for one of the following reasons:\n1. You may be adding a ref to a function component\n2. You may be adding a ref to a component that was not created inside a component's render method\n3. You have multiple copies of React loaded\nSee https://fb.me/react-refs-must-have-owner for more information.`)}}return T}function mc(f,c){if(f.type!==\"textarea\"){var E=\"\";throw E=\" If you meant to render a collection of children, use an array instead.\"+Lr(),Error(\"Objects are not valid as a React child (found: \"+(Object.prototype.toString.call(c)===\"[object Object]\"?\"object with keys {\"+Object.keys(c).join(\", \")+\"}\":c)+\").\"+E)}}function pd(){var f=\"Functions are not valid as a React child. This may happen if you return a Component instead of <Component /> from render. Or maybe you meant to call this function rather than return it.\"+Lr();M2[f]||(M2[f]=!0,Xt(!1,\"Functions are not valid as a React child. This may happen if you return a Component instead of <Component /> from render. Or maybe you meant to call this function rather than return it.\"))}function yh(f){function c(ot,Ot){if(!!f){var Ze=ot.lastEffect;Ze!==null?(Ze.nextEffect=Ot,ot.lastEffect=Ot):ot.firstEffect=ot.lastEffect=Ot,Ot.nextEffect=null,Ot.effectTag=G0}}function E(ot,Ot){if(!f)return null;for(var Ze=Ot;Ze!==null;)c(ot,Ze),Ze=Ze.sibling;return null}function T(ot,Ot){for(var Ze=new Map,Ut=Ot;Ut!==null;)Ut.key!==null?Ze.set(Ut.key,Ut):Ze.set(Ut.index,Ut),Ut=Ut.sibling;return Ze}function A(ot,Ot,Ze){var Ut=To(ot,Ot,Ze);return Ut.index=0,Ut.sibling=null,Ut}function j(ot,Ot,Ze){if(ot.index=Ze,!f)return Ot;var Ut=ot.alternate;if(Ut!==null){var Pn=Ut.index;return Pn<Ot?(ot.effectTag=mi,Ot):Pn}else return ot.effectTag=mi,Ot}function V(ot){return f&&ot.alternate===null&&(ot.effectTag=mi),ot}function te(ot,Ot,Ze,Ut){if(Ot===null||Ot.tag!==ne){var Pn=dy(Ze,ot.mode,Ut);return Pn.return=ot,Pn}else{var vn=A(Ot,Ze,Ut);return vn.return=ot,vn}}function le(ot,Ot,Ze,Ut){if(Ot!==null&&(Ot.elementType===Ze.type||qc(Ot,Ze))){var Pn=A(Ot,Ze.props,Ut);return Pn.ref=vc(ot,Ot,Ze),Pn.return=ot,Pn._debugSource=Ze._source,Pn._debugOwner=Ze._owner,Pn}else{var vn=cy(Ze,ot.mode,Ut);return vn.ref=vc(ot,Ot,Ze),vn.return=ot,vn}}function Be(ot,Ot,Ze,Ut){if(Ot===null||Ot.tag!==H||Ot.stateNode.containerInfo!==Ze.containerInfo||Ot.stateNode.implementation!==Ze.implementation){var Pn=py(Ze,ot.mode,Ut);return Pn.return=ot,Pn}else{var vn=A(Ot,Ze.children||[],Ut);return vn.return=ot,vn}}function Ke(ot,Ot,Ze,Ut,Pn){if(Ot===null||Ot.tag!==m){var vn=nf(Ze,ot.mode,Ut,Pn);return vn.return=ot,vn}else{var Wi=A(Ot,Ze,Ut);return Wi.return=ot,Wi}}function pt(ot,Ot,Ze){if(typeof Ot==\"string\"||typeof Ot==\"number\"){var Ut=dy(\"\"+Ot,ot.mode,Ze);return Ut.return=ot,Ut}if(typeof Ot==\"object\"&&Ot!==null){switch(Ot.$$typeof){case fe:{var Pn=cy(Ot,ot.mode,Ze);return Pn.ref=vc(ot,null,Ot),Pn.return=ot,Pn}case xe:{var vn=py(Ot,ot.mode,Ze);return vn.return=ot,vn}}if(Jc(Ot)||fr(Ot)){var Wi=nf(Ot,ot.mode,Ze,null);return Wi.return=ot,Wi}mc(ot,Ot)}return typeof Ot==\"function\"&&pd(),null}function Nt(ot,Ot,Ze,Ut){var Pn=Ot!==null?Ot.key:null;if(typeof Ze==\"string\"||typeof Ze==\"number\")return Pn!==null?null:te(ot,Ot,\"\"+Ze,Ut);if(typeof Ze==\"object\"&&Ze!==null){switch(Ze.$$typeof){case fe:return Ze.key===Pn?Ze.type===oe?Ke(ot,Ot,Ze.props.children,Ut,Pn):le(ot,Ot,Ze,Ut):null;case xe:return Ze.key===Pn?Be(ot,Ot,Ze,Ut):null}if(Jc(Ze)||fr(Ze))return Pn!==null?null:Ke(ot,Ot,Ze,Ut,null);mc(ot,Ze)}return typeof Ze==\"function\"&&pd(),null}function Gt(ot,Ot,Ze,Ut,Pn){if(typeof Ut==\"string\"||typeof Ut==\"number\"){var vn=ot.get(Ze)||null;return te(Ot,vn,\"\"+Ut,Pn)}if(typeof Ut==\"object\"&&Ut!==null){switch(Ut.$$typeof){case fe:{var Wi=ot.get(Ut.key===null?Ze:Ut.key)||null;return Ut.type===oe?Ke(Ot,Wi,Ut.props.children,Pn,Ut.key):le(Ot,Wi,Ut,Pn)}case xe:{var pi=ot.get(Ut.key===null?Ze:Ut.key)||null;return Be(Ot,pi,Ut,Pn)}}if(Jc(Ut)||fr(Ut)){var Ku=ot.get(Ze)||null;return Ke(Ot,Ku,Ut,Pn,null)}mc(Ot,Ut)}return typeof Ut==\"function\"&&pd(),null}function zt(ot,Ot){{if(typeof ot!=\"object\"||ot===null)return Ot;switch(ot.$$typeof){case fe:case xe:va(ot);var Ze=ot.key;if(typeof Ze!=\"string\")break;if(Ot===null){Ot=new Set,Ot.add(Ze);break}if(!Ot.has(Ze)){Ot.add(Ze);break}Xt(!1,\"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted \\u2014 the behavior is unsupported and could change in a future version.\",Ze);break;default:break}}return Ot}function yn(ot,Ot,Ze,Ut){for(var Pn=null,vn=0;vn<Ze.length;vn++){var Wi=Ze[vn];Pn=zt(Wi,Pn)}for(var pi=null,Ku=null,hr=Ot,pu=0,Kr=0,xu=null;hr!==null&&Kr<Ze.length;Kr++){hr.index>Kr?(xu=hr,hr=null):xu=hr.sibling;var w0=Nt(ot,hr,Ze[Kr],Ut);if(w0===null){hr===null&&(hr=xu);break}f&&hr&&w0.alternate===null&&c(ot,hr),pu=j(w0,pu,Kr),Ku===null?pi=w0:Ku.sibling=w0,Ku=w0,hr=xu}if(Kr===Ze.length)return E(ot,hr),pi;if(hr===null){for(;Kr<Ze.length;Kr++){var W0=pt(ot,Ze[Kr],Ut);W0!==null&&(pu=j(W0,pu,Kr),Ku===null?pi=W0:Ku.sibling=W0,Ku=W0)}return pi}for(var Ms=T(ot,hr);Kr<Ze.length;Kr++){var Xu=Gt(Ms,ot,Kr,Ze[Kr],Ut);Xu!==null&&(f&&Xu.alternate!==null&&Ms.delete(Xu.key===null?Kr:Xu.key),pu=j(Xu,pu,Kr),Ku===null?pi=Xu:Ku.sibling=Xu,Ku=Xu)}return f&&Ms.forEach(function(yl){return c(ot,yl)}),pi}function kr(ot,Ot,Ze,Ut){var Pn=fr(Ze);if(typeof Pn!=\"function\")throw Error(\"An object is not an iterable. This error is likely caused by a bug in React. Please file an issue.\");{typeof Symbol==\"function\"&&Ze[Symbol.toStringTag]===\"Generator\"&&(Xc||Xt(!1,\"Using Generators as children is unsupported and will likely yield unexpected results because enumerating a generator mutates it. You may convert it to an array with `Array.from()` or the `[...spread]` operator before rendering. Keep in mind you might need to polyfill these features for older browsers.\"),Xc=!0),Ze.entries===Pn&&(dd||Xt(!1,\"Using Maps as children is unsupported and will likely yield unexpected results. Convert it to a sequence/iterable of keyed ReactElements instead.\"),dd=!0);var vn=Pn.call(Ze);if(vn)for(var Wi=null,pi=vn.next();!pi.done;pi=vn.next()){var Ku=pi.value;Wi=zt(Ku,Wi)}}var hr=Pn.call(Ze);if(hr==null)throw Error(\"An iterable object provided no iterator.\");for(var pu=null,Kr=null,xu=Ot,w0=0,W0=0,Ms=null,Xu=hr.next();xu!==null&&!Xu.done;W0++,Xu=hr.next()){xu.index>W0?(Ms=xu,xu=null):Ms=xu.sibling;var yl=Nt(ot,xu,Xu.value,Ut);if(yl===null){xu===null&&(xu=Ms);break}f&&xu&&yl.alternate===null&&c(ot,xu),w0=j(yl,w0,W0),Kr===null?pu=yl:Kr.sibling=yl,Kr=yl,xu=Ms}if(Xu.done)return E(ot,xu),pu;if(xu===null){for(;!Xu.done;W0++,Xu=hr.next()){var rf=pt(ot,Xu.value,Ut);rf!==null&&(w0=j(rf,w0,W0),Kr===null?pu=rf:Kr.sibling=rf,Kr=rf)}return pu}for(var Wo=T(ot,xu);!Xu.done;W0++,Xu=hr.next()){var ks=Gt(Wo,ot,W0,Xu.value,Ut);ks!==null&&(f&&ks.alternate!==null&&Wo.delete(ks.key===null?W0:ks.key),w0=j(ks,w0,W0),Kr===null?pu=ks:Kr.sibling=ks,Kr=ks)}return f&&Wo.forEach(function(Zd){return c(ot,Zd)}),pu}function oi(ot,Ot,Ze,Ut){if(Ot!==null&&Ot.tag===ne){E(ot,Ot.sibling);var Pn=A(Ot,Ze,Ut);return Pn.return=ot,Pn}E(ot,Ot);var vn=dy(Ze,ot.mode,Ut);return vn.return=ot,vn}function Oi(ot,Ot,Ze,Ut){for(var Pn=Ze.key,vn=Ot;vn!==null;){if(vn.key===Pn)if(vn.tag===m?Ze.type===oe:vn.elementType===Ze.type||qc(vn,Ze)){E(ot,vn.sibling);var Wi=A(vn,Ze.type===oe?Ze.props.children:Ze.props,Ut);return Wi.ref=vc(ot,vn,Ze),Wi.return=ot,Wi._debugSource=Ze._source,Wi._debugOwner=Ze._owner,Wi}else{E(ot,vn);break}else c(ot,vn);vn=vn.sibling}if(Ze.type===oe){var pi=nf(Ze.props.children,ot.mode,Ut,Ze.key);return pi.return=ot,pi}else{var Ku=cy(Ze,ot.mode,Ut);return Ku.ref=vc(ot,Ot,Ze),Ku.return=ot,Ku}}function L0(ot,Ot,Ze,Ut){for(var Pn=Ze.key,vn=Ot;vn!==null;){if(vn.key===Pn)if(vn.tag===H&&vn.stateNode.containerInfo===Ze.containerInfo&&vn.stateNode.implementation===Ze.implementation){E(ot,vn.sibling);var Wi=A(vn,Ze.children||[],Ut);return Wi.return=ot,Wi}else{E(ot,vn);break}else c(ot,vn);vn=vn.sibling}var pi=py(Ze,ot.mode,Ut);return pi.return=ot,pi}function $i(ot,Ot,Ze,Ut){var Pn=typeof Ze==\"object\"&&Ze!==null&&Ze.type===oe&&Ze.key===null;Pn&&(Ze=Ze.props.children);var vn=typeof Ze==\"object\"&&Ze!==null;if(vn)switch(Ze.$$typeof){case fe:return V(Oi(ot,Ot,Ze,Ut));case xe:return V(L0(ot,Ot,Ze,Ut))}if(typeof Ze==\"string\"||typeof Ze==\"number\")return V(oi(ot,Ot,\"\"+Ze,Ut));if(Jc(Ze))return yn(ot,Ot,Ze,Ut);if(fr(Ze))return kr(ot,Ot,Ze,Ut);if(vn&&mc(ot,Ze),typeof Ze==\"function\"&&pd(),typeof Ze==\"undefined\"&&!Pn)switch(ot.tag){case O:{var Wi=ot.stateNode;if(Wi.render._isMockFunction)break}case L:{var pi=ot.type;throw Error((pi.displayName||pi.name||\"Component\")+\"(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null.\")}}return E(ot,Ot)}return $i}var Tf=yh(!0),Zc=yh(!1);function gh(f,c){if(!(f===null||c.child===f.child))throw Error(\"Resuming work not yet implemented.\");if(c.child!==null){var E=c.child,T=To(E,E.pendingProps,E.expirationTime);for(c.child=T,T.return=c;E.sibling!==null;)E=E.sibling,T=T.sibling=To(E,E.pendingProps,E.expirationTime),T.return=c;T.sibling=null}}function nm(f,c){for(var E=f.child;E!==null;)Av(E,c),E=E.sibling}var Vs={},ma=Ju(Vs),iu=Ju(Vs),M0=Ju(Vs);function o0(f){if(f===Vs)throw Error(\"Expected host context to exist. This error is likely caused by a bug in React. Please file an issue.\");return f}function ns(){var f=o0(M0.current);return f}function Ya(f,c){Jr(M0,c,f),Jr(iu,f,f),Jr(ma,Vs,f);var E=wt(c);ti(ma,f),Jr(ma,E,f)}function io(f){ti(ma,f),ti(iu,f),ti(M0,f)}function al(){var f=o0(ma.current);return f}function yc(f){var c=o0(M0.current),E=o0(ma.current),T=bt(E,f.type,c);E!==T&&(Jr(iu,f,f),Jr(ma,T,f))}function k2(f){iu.current===f&&(ti(ma,f),ti(iu,f))}var _h=0,Cf=1,xf=1,$c=2,kl=Ju(_h);function e1(f,c){return(f&c)!=0}function ya(f){return f&Cf}function hd(f,c){return f&Cf|c}function vd(f,c){return f|c}function Fr(f,c){Jr(kl,c,f)}function ga(f){ti(kl,f)}function N2(f,c){var E=f.memoizedState;if(E!==null)return E.dehydrated!==null;var T=f.memoizedProps;return T.fallback===void 0?!1:T.unstable_avoidThisFallback!==!0?!0:!c}function t1(f){for(var c=f;c!==null;){if(c.tag===pe){var E=c.memoizedState;if(E!==null){var T=E.dehydrated;if(T===null||Bs(T)||y0(T))return c}}else if(c.tag===yt&&c.memoizedProps.revealOrder!==void 0){var A=(c.effectTag&Xr)!==xi;if(A)return c}else if(c.child!==null){c.child.return=c,c=c.child;continue}if(c===f)return null;for(;c.sibling===null;){if(c.return===null||c.return===f)return null;c=c.return}c.sibling.return=c.return,c=c.sibling}return null}var md={},wi=Array.isArray;function L2(f,c,E,T){return{fiber:T,props:c,responder:f,rootEventTypes:null,state:E}}function rm(f,c,E,T,A){var j=md,V=f.getInitialState;V!==null&&(j=V(c));var te=L2(f,c,j,E);if(!A)for(var le=E;le!==null;){var Be=le.tag;if(Be===W){A=le.stateNode;break}else if(Be===U){A=le.stateNode.containerInfo;break}le=le.return}Le(f,te,c,j,A),T.set(f,te)}function yd(f,c,E,T,A){var j,V;if(f&&(j=f.responder,V=f.props),!(j&&j.$$typeof===jt))throw Error(\"An invalid value was used as an event listener. Expect one or many event listeners created via React.unstable_useResponder().\");var te=V;if(E.has(j)){Xt(!1,'Duplicate event responder \"%s\" found in event listeners. Event listeners passed to elements cannot use the same event responder more than once.',j.displayName);return}E.add(j);var le=T.get(j);le===void 0?rm(j,te,c,T,A):(le.props=te,le.fiber=c)}function hn(f,c,E){var T=new Set,A=c.dependencies;if(f!=null){A===null&&(A=c.dependencies={expirationTime:at,firstContext:null,responders:new Map});var j=A.responders;if(j===null&&(j=new Map),wi(f))for(var V=0,te=f.length;V<te;V++){var le=f[V];yd(le,c,T,j,E)}else yd(f,c,T,j,E)}if(A!==null){var Be=A.responders;if(Be!==null)for(var Ke=Array.from(Be.keys()),pt=0,Nt=Ke.length;pt<Nt;pt++){var Gt=Ke[pt];if(!T.has(Gt)){var zt=Be.get(Gt);Ne(zt),Be.delete(Gt)}}}}function Rf(f,c){var E={responder:f,props:c};return Object.freeze(E),E}var Af=0,im=2,Of=4,Eh=8,um=16,fl=32,n1=64,sr=128,qn=rt.ReactCurrentDispatcher,Ho=rt.ReactCurrentBatchConfig,yr;yr=new Set;var Vn=at,cl=null,jn=null,_o=null,gc=null,uo=null,Ka=null,Iu=at,rs=null,Mf=0,_c=!1,Cs=null,Ec=0,Dh=25,cn=null,is=null,Eo=-1,oo=!1;function Ji(){{var f=cn;is===null?is=[f]:is.push(f)}}function Yr(){{var f=cn;is!==null&&(Eo++,is[Eo]!==f&&om(f))}}function kf(f){f!=null&&!Array.isArray(f)&&Xt(!1,\"%s received a final argument that is not an array (instead, received `%s`). When specified, the final argument must be an array.\",cn,typeof f)}function om(f){{var c=qt(cl.type);if(!yr.has(c)&&(yr.add(c),is!==null)){for(var E=\"\",T=30,A=0;A<=Eo;A++){for(var j=is[A],V=A===Eo?f:j,te=A+1+\". \"+j;te.length<T;)te+=\" \";te+=V+`\n`,E+=te}Xt(!1,`React has detected a change in the order of Hooks called by %s. This will lead to bugs and errors if not fixed. For more information, read the Rules of Hooks: https://fb.me/rules-of-hooks\n\n   Previous render            Next render\n   ------------------------------------------------------\n%s   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n`,c,E)}}}function Nl(){throw Error(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem.`)}function Nf(f,c){if(oo)return!1;if(c===null)return Xt(!1,\"%s received a final argument during this render, but not during the previous render. Even though the final argument is optional, its type cannot change between renders.\",cn),!1;f.length!==c.length&&Xt(!1,`The final argument passed to %s changed size between renders. The order and size of this array must remain constant.\n\nPrevious: %s\nIncoming: %s`,cn,\"[\"+c.join(\", \")+\"]\",\"[\"+f.join(\", \")+\"]\");for(var E=0;E<c.length&&E<f.length;E++)if(!mo(f[E],c[E]))return!1;return!0}function Lf(f,c,E,T,A,j){Vn=j,cl=c,_o=f!==null?f.memoizedState:null,is=f!==null?f._debugHookTypes:null,Eo=-1,oo=f!==null&&f.type!==c.type,_o!==null?qn.current=H2:is!==null?qn.current=z2:qn.current=xh;var V=E(T,A);if(_c){do _c=!1,Ec+=1,oo=!1,_o=f!==null?f.memoizedState:null,Ka=gc,jn=null,uo=null,rs=null,Eo=-1,qn.current=H2,V=E(T,A);while(_c);Cs=null,Ec=0}qn.current=a1;var te=cl;te.memoizedState=gc,te.expirationTime=Iu,te.updateQueue=rs,te.effectTag|=Mf,te._debugHookTypes=is;var le=jn!==null&&jn.next!==null;if(Vn=at,cl=null,jn=null,_o=null,gc=null,uo=null,Ka=null,cn=null,is=null,Eo=-1,Iu=at,rs=null,Mf=0,le)throw Error(\"Rendered fewer hooks than expected. This may be caused by an accidental early return statement.\");return V}function gd(f,c,E){c.updateQueue=f.updateQueue,c.effectTag&=~(F0|Dr),f.expirationTime<=E&&(f.expirationTime=at)}function _d(){qn.current=a1,Vn=at,cl=null,jn=null,_o=null,gc=null,uo=null,Ka=null,is=null,Eo=-1,cn=null,Iu=at,rs=null,Mf=0,_c=!1,Cs=null,Ec=0}function Dc(){var f={memoizedState:null,baseState:null,queue:null,baseUpdate:null,next:null};return uo===null?gc=uo=f:uo=uo.next=f,uo}function r1(){if(Ka!==null)uo=Ka,Ka=uo.next,jn=_o,_o=jn!==null?jn.next:null;else{if(_o===null)throw Error(\"Rendered more hooks than during the previous render.\");jn=_o;var f={memoizedState:jn.memoizedState,baseState:jn.baseState,queue:jn.queue,baseUpdate:jn.baseUpdate,next:null};uo===null?uo=gc=f:uo=uo.next=f,_o=jn.next}return uo}function Xa(){return{lastEffect:null}}function F2(f,c){return typeof c==\"function\"?c(f):c}function Ed(f,c,E){var T=Dc(),A;E!==void 0?A=E(c):A=c,T.memoizedState=T.baseState=A;var j=T.queue={last:null,dispatch:null,lastRenderedReducer:f,lastRenderedState:A},V=j.dispatch=s1.bind(null,cl,j);return[T.memoizedState,V]}function i1(f,c,E){var T=r1(),A=T.queue;if(A===null)throw Error(\"Should have a queue. This is likely a bug in React. Please file an issue.\");if(A.lastRenderedReducer=f,Ec>0){var j=A.dispatch;if(Cs!==null){var V=Cs.get(A);if(V!==void 0){Cs.delete(A);var te=T.memoizedState,le=V;do{var Be=le.action;te=f(te,Be),le=le.next}while(le!==null);return mo(te,T.memoizedState)||lp(),T.memoizedState=te,T.baseUpdate===A.last&&(T.baseState=te),A.lastRenderedState=te,[te,j]}}return[T.memoizedState,j]}var Ke=A.last,pt=T.baseUpdate,Nt=T.baseState,Gt;if(pt!==null?(Ke!==null&&(Ke.next=null),Gt=pt.next):Gt=Ke!==null?Ke.next:null,Gt!==null){var zt=Nt,yn=null,kr=null,oi=pt,Oi=Gt,L0=!1;do{var $i=Oi.expirationTime;if($i<Vn)L0||(L0=!0,kr=oi,yn=zt),$i>Iu&&(Iu=$i,Xd(Iu));else if(vv($i,Oi.suspenseConfig),Oi.eagerReducer===f)zt=Oi.eagerState;else{var ot=Oi.action;zt=f(zt,ot)}oi=Oi,Oi=Oi.next}while(Oi!==null&&Oi!==Gt);L0||(kr=oi,yn=zt),mo(zt,T.memoizedState)||lp(),T.memoizedState=zt,T.baseUpdate=kr,T.baseState=yn,A.lastRenderedState=zt}var Ot=A.dispatch;return[T.memoizedState,Ot]}function Ff(f){var c=Dc();typeof f==\"function\"&&(f=f()),c.memoizedState=c.baseState=f;var E=c.queue={last:null,dispatch:null,lastRenderedReducer:F2,lastRenderedState:f},T=E.dispatch=s1.bind(null,cl,E);return[c.memoizedState,T]}function u1(f){return i1(F2,f)}function Qa(f,c,E,T){var A={tag:f,create:c,destroy:E,deps:T,next:null};if(rs===null)rs=Xa(),rs.lastEffect=A.next=A;else{var j=rs.lastEffect;if(j===null)rs.lastEffect=A.next=A;else{var V=j.next;j.next=A,A.next=V,rs.lastEffect=A}}return A}function o1(f){var c=Dc(),E={current:f};return Object.seal(E),c.memoizedState=E,E}function P2(f){var c=r1();return c.memoizedState}function Dd(f,c,E,T){var A=Dc(),j=T===void 0?null:T;Mf|=f,A.memoizedState=Qa(c,E,void 0,j)}function wc(f,c,E,T){var A=r1(),j=T===void 0?null:T,V=void 0;if(jn!==null){var te=jn.memoizedState;if(V=te.destroy,j!==null){var le=te.deps;if(Nf(j,le)){Qa(Af,E,V,j);return}}}Mf|=f,A.memoizedState=Qa(c,E,V,j)}function l1(f,c){return typeof jest!=\"undefined\"&&Rv(cl),Dd(Dr|F0,sr|n1,f,c)}function Ll(f,c){return typeof jest!=\"undefined\"&&Rv(cl),wc(Dr|F0,sr|n1,f,c)}function Ea(f,c){return Dd(Dr,Of|fl,f,c)}function wh(f,c){return wc(Dr,Of|fl,f,c)}function I2(f,c){if(typeof c==\"function\"){var E=c,T=f();return E(T),function(){E(null)}}else if(c!=null){var A=c;A.hasOwnProperty(\"current\")||Xt(!1,\"Expected useImperativeHandle() first argument to either be a ref callback or React.createRef() object. Instead received: %s.\",\"an object with keys {\"+Object.keys(A).join(\", \")+\"}\");var j=f();return A.current=j,function(){A.current=null}}}function b2(f,c,E){typeof c!=\"function\"&&Xt(!1,\"Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.\",c!==null?typeof c:\"null\");var T=E!=null?E.concat([f]):null;return Dd(Dr,Of|fl,I2.bind(null,c,f),T)}function Sh(f,c,E){typeof c!=\"function\"&&Xt(!1,\"Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.\",c!==null?typeof c:\"null\");var T=E!=null?E.concat([f]):null;return wc(Dr,Of|fl,I2.bind(null,c,f),T)}function wd(f,c){}var Th=wd;function Fl(f,c){var E=Dc(),T=c===void 0?null:c;return E.memoizedState=[f,T],f}function us(f,c){var E=r1(),T=c===void 0?null:c,A=E.memoizedState;if(A!==null&&T!==null){var j=A[1];if(Nf(T,j))return A[0]}return E.memoizedState=[f,T],f}function xs(f,c){var E=Dc(),T=c===void 0?null:c,A=f();return E.memoizedState=[A,T],A}function Gs(f,c){var E=r1(),T=c===void 0?null:c,A=E.memoizedState;if(A!==null&&T!==null){var j=A[1];if(Nf(T,j))return A[0]}var V=f();return E.memoizedState=[V,T],V}function B2(f,c){var E=Ff(f),T=E[0],A=E[1];return l1(function(){t.unstable_next(function(){var j=Ho.suspense;Ho.suspense=c===void 0?null:c;try{A(f)}finally{Ho.suspense=j}})},[f,c]),T}function Ch(f,c){var E=u1(f),T=E[0],A=E[1];return Ll(function(){t.unstable_next(function(){var j=Ho.suspense;Ho.suspense=c===void 0?null:c;try{A(f)}finally{Ho.suspense=j}})},[f,c]),T}function U2(f){var c=Ff(!1),E=c[0],T=c[1],A=Fl(function(j){T(!0),t.unstable_next(function(){var V=Ho.suspense;Ho.suspense=f===void 0?null:f;try{T(!1),j()}finally{Ho.suspense=V}})},[f,E]);return[A,E]}function j2(f){var c=u1(!1),E=c[0],T=c[1],A=us(function(j){T(!0),t.unstable_next(function(){var V=Ho.suspense;Ho.suspense=f===void 0?null:f;try{T(!1),j()}finally{Ho.suspense=V}})},[f,E]);return[A,E]}function s1(f,c,E){if(!(Ec<Dh))throw Error(\"Too many re-renders. React limits the number of renders to prevent an infinite loop.\");typeof arguments[3]==\"function\"&&Xt(!1,\"State updates from the useState() and useReducer() Hooks don't support the second callback argument. To execute a side effect after rendering, declare it in the component body with useEffect().\");var T=f.alternate;if(f===cl||T!==null&&T===cl){_c=!0;var A={expirationTime:Vn,suspenseConfig:null,action:E,eagerReducer:null,eagerState:null,next:null};A.priority=Qt(),Cs===null&&(Cs=new Map);var j=Cs.get(c);if(j===void 0)Cs.set(c,A);else{for(var V=j;V.next!==null;)V=V.next;V.next=A}}else{var te=Ul(),le=go(),Be=jf(te,f,le),Ke={expirationTime:Be,suspenseConfig:le,action:E,eagerReducer:null,eagerState:null,next:null};Ke.priority=Qt();var pt=c.last;if(pt===null)Ke.next=Ke;else{var Nt=pt.next;Nt!==null&&(Ke.next=Nt),pt.next=Ke}if(c.last=Ke,f.expirationTime===at&&(T===null||T.expirationTime===at)){var Gt=c.lastRenderedReducer;if(Gt!==null){var zt;zt=qn.current,qn.current=Ja;try{var yn=c.lastRenderedState,kr=Gt(yn,E);if(Ke.eagerReducer=Gt,Ke.eagerState=kr,mo(kr,yn))return}catch(oi){}finally{qn.current=zt}}}typeof jest!=\"undefined\"&&(Hp(f),ly(f)),ml(f,Be)}}var a1={readContext:Ve,useCallback:Nl,useContext:Nl,useEffect:Nl,useImperativeHandle:Nl,useLayoutEffect:Nl,useMemo:Nl,useReducer:Nl,useRef:Nl,useState:Nl,useDebugValue:Nl,useResponder:Nl,useDeferredValue:Nl,useTransition:Nl},xh=null,z2=null,H2=null,Rs=null,Ja=null;{var Rh=function(){Xt(!1,\"Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().\")},du=function(){Xt(!1,\"Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. You can only call Hooks at the top level of your React function. For more information, see https://fb.me/rules-of-hooks\")};xh={readContext:function(f,c){return Ve(f,c)},useCallback:function(f,c){return cn=\"useCallback\",Ji(),kf(c),Fl(f,c)},useContext:function(f,c){return cn=\"useContext\",Ji(),Ve(f,c)},useEffect:function(f,c){return cn=\"useEffect\",Ji(),kf(c),l1(f,c)},useImperativeHandle:function(f,c,E){return cn=\"useImperativeHandle\",Ji(),kf(E),b2(f,c,E)},useLayoutEffect:function(f,c){return cn=\"useLayoutEffect\",Ji(),kf(c),Ea(f,c)},useMemo:function(f,c){cn=\"useMemo\",Ji(),kf(c);var E=qn.current;qn.current=Rs;try{return xs(f,c)}finally{qn.current=E}},useReducer:function(f,c,E){cn=\"useReducer\",Ji();var T=qn.current;qn.current=Rs;try{return Ed(f,c,E)}finally{qn.current=T}},useRef:function(f){return cn=\"useRef\",Ji(),o1(f)},useState:function(f){cn=\"useState\",Ji();var c=qn.current;qn.current=Rs;try{return Ff(f)}finally{qn.current=c}},useDebugValue:function(f,c){return cn=\"useDebugValue\",Ji(),wd(f,c)},useResponder:function(f,c){return cn=\"useResponder\",Ji(),Rf(f,c)},useDeferredValue:function(f,c){return cn=\"useDeferredValue\",Ji(),B2(f,c)},useTransition:function(f){return cn=\"useTransition\",Ji(),U2(f)}},z2={readContext:function(f,c){return Ve(f,c)},useCallback:function(f,c){return cn=\"useCallback\",Yr(),Fl(f,c)},useContext:function(f,c){return cn=\"useContext\",Yr(),Ve(f,c)},useEffect:function(f,c){return cn=\"useEffect\",Yr(),l1(f,c)},useImperativeHandle:function(f,c,E){return cn=\"useImperativeHandle\",Yr(),b2(f,c,E)},useLayoutEffect:function(f,c){return cn=\"useLayoutEffect\",Yr(),Ea(f,c)},useMemo:function(f,c){cn=\"useMemo\",Yr();var E=qn.current;qn.current=Rs;try{return xs(f,c)}finally{qn.current=E}},useReducer:function(f,c,E){cn=\"useReducer\",Yr();var T=qn.current;qn.current=Rs;try{return Ed(f,c,E)}finally{qn.current=T}},useRef:function(f){return cn=\"useRef\",Yr(),o1(f)},useState:function(f){cn=\"useState\",Yr();var c=qn.current;qn.current=Rs;try{return Ff(f)}finally{qn.current=c}},useDebugValue:function(f,c){return cn=\"useDebugValue\",Yr(),wd(f,c)},useResponder:function(f,c){return cn=\"useResponder\",Yr(),Rf(f,c)},useDeferredValue:function(f,c){return cn=\"useDeferredValue\",Yr(),B2(f,c)},useTransition:function(f){return cn=\"useTransition\",Yr(),U2(f)}},H2={readContext:function(f,c){return Ve(f,c)},useCallback:function(f,c){return cn=\"useCallback\",Yr(),us(f,c)},useContext:function(f,c){return cn=\"useContext\",Yr(),Ve(f,c)},useEffect:function(f,c){return cn=\"useEffect\",Yr(),Ll(f,c)},useImperativeHandle:function(f,c,E){return cn=\"useImperativeHandle\",Yr(),Sh(f,c,E)},useLayoutEffect:function(f,c){return cn=\"useLayoutEffect\",Yr(),wh(f,c)},useMemo:function(f,c){cn=\"useMemo\",Yr();var E=qn.current;qn.current=Ja;try{return Gs(f,c)}finally{qn.current=E}},useReducer:function(f,c,E){cn=\"useReducer\",Yr();var T=qn.current;qn.current=Ja;try{return i1(f,c,E)}finally{qn.current=T}},useRef:function(f){return cn=\"useRef\",Yr(),P2(f)},useState:function(f){cn=\"useState\",Yr();var c=qn.current;qn.current=Ja;try{return u1(f)}finally{qn.current=c}},useDebugValue:function(f,c){return cn=\"useDebugValue\",Yr(),Th(f,c)},useResponder:function(f,c){return cn=\"useResponder\",Yr(),Rf(f,c)},useDeferredValue:function(f,c){return cn=\"useDeferredValue\",Yr(),Ch(f,c)},useTransition:function(f){return cn=\"useTransition\",Yr(),j2(f)}},Rs={readContext:function(f,c){return Rh(),Ve(f,c)},useCallback:function(f,c){return cn=\"useCallback\",du(),Ji(),Fl(f,c)},useContext:function(f,c){return cn=\"useContext\",du(),Ji(),Ve(f,c)},useEffect:function(f,c){return cn=\"useEffect\",du(),Ji(),l1(f,c)},useImperativeHandle:function(f,c,E){return cn=\"useImperativeHandle\",du(),Ji(),b2(f,c,E)},useLayoutEffect:function(f,c){return cn=\"useLayoutEffect\",du(),Ji(),Ea(f,c)},useMemo:function(f,c){cn=\"useMemo\",du(),Ji();var E=qn.current;qn.current=Rs;try{return xs(f,c)}finally{qn.current=E}},useReducer:function(f,c,E){cn=\"useReducer\",du(),Ji();var T=qn.current;qn.current=Rs;try{return Ed(f,c,E)}finally{qn.current=T}},useRef:function(f){return cn=\"useRef\",du(),Ji(),o1(f)},useState:function(f){cn=\"useState\",du(),Ji();var c=qn.current;qn.current=Rs;try{return Ff(f)}finally{qn.current=c}},useDebugValue:function(f,c){return cn=\"useDebugValue\",du(),Ji(),wd(f,c)},useResponder:function(f,c){return cn=\"useResponder\",du(),Ji(),Rf(f,c)},useDeferredValue:function(f,c){return cn=\"useDeferredValue\",du(),Ji(),B2(f,c)},useTransition:function(f){return cn=\"useTransition\",du(),Ji(),U2(f)}},Ja={readContext:function(f,c){return Rh(),Ve(f,c)},useCallback:function(f,c){return cn=\"useCallback\",du(),Yr(),us(f,c)},useContext:function(f,c){return cn=\"useContext\",du(),Yr(),Ve(f,c)},useEffect:function(f,c){return cn=\"useEffect\",du(),Yr(),Ll(f,c)},useImperativeHandle:function(f,c,E){return cn=\"useImperativeHandle\",du(),Yr(),Sh(f,c,E)},useLayoutEffect:function(f,c){return cn=\"useLayoutEffect\",du(),Yr(),wh(f,c)},useMemo:function(f,c){cn=\"useMemo\",du(),Yr();var E=qn.current;qn.current=Ja;try{return Gs(f,c)}finally{qn.current=E}},useReducer:function(f,c,E){cn=\"useReducer\",du(),Yr();var T=qn.current;qn.current=Ja;try{return i1(f,c,E)}finally{qn.current=T}},useRef:function(f){return cn=\"useRef\",du(),Yr(),P2(f)},useState:function(f){cn=\"useState\",du(),Yr();var c=qn.current;qn.current=Ja;try{return u1(f)}finally{qn.current=c}},useDebugValue:function(f,c){return cn=\"useDebugValue\",du(),Yr(),Th(f,c)},useResponder:function(f,c){return cn=\"useResponder\",du(),Yr(),Rf(f,c)},useDeferredValue:function(f,c){return cn=\"useDeferredValue\",du(),Yr(),Ch(f,c)},useTransition:function(f){return cn=\"useTransition\",du(),Yr(),j2(f)}}}var f1=t.unstable_now,Ah=0,c1=-1;function Pl(){return Ah}function Oh(){!en||(Ah=f1())}function q2(f){!en||(c1=f1(),f.actualStartTime<0&&(f.actualStartTime=f1()))}function Mh(f){!en||(c1=-1)}function d1(f,c){if(!!en&&c1>=0){var E=f1()-c1;f.actualDuration+=E,c&&(f.selfBaseDuration=E),c1=-1}}var Il=null,Za=null,Da=!1;function W2(){Da&&Xt(!1,\"We should not be hydrating here. This is a bug in React. Please file a bug.\")}function V2(f){if(!we)return!1;var c=f.stateNode.containerInfo;return Za=B(c),Il=f,Da=!0,!0}function lm(f,c){return we?(Za=ji(c),K2(f),Da=!0,!0):!1}function G2(f,c){switch(f.tag){case U:ue(f.stateNode.containerInfo,c);break;case W:He(f.type,f.memoizedProps,f.stateNode,c);break}var E=I4();E.stateNode=c,E.return=f,E.effectTag=G0,f.lastEffect!==null?(f.lastEffect.nextEffect=E,f.lastEffect=E):f.firstEffect=f.lastEffect=E}function kh(f,c){switch(c.effectTag=c.effectTag&~su|mi,f.tag){case U:{var E=f.stateNode.containerInfo;switch(c.tag){case W:var T=c.type,A=c.pendingProps;nt(E,T,A);break;case ne:var j=c.pendingProps;Ct(E,j);break;case pe:Mt(E);break}break}case W:{var V=f.type,te=f.memoizedProps,le=f.stateNode;switch(c.tag){case W:var Be=c.type,Ke=c.pendingProps;It(V,te,le,Be,Ke);break;case ne:var pt=c.pendingProps;sn(V,te,le,pt);break;case pe:rn(V,te,le);break}break}default:return}}function Nh(f,c){switch(f.tag){case W:{var E=f.type,T=f.pendingProps,A=pf(c,E,T);return A!==null?(f.stateNode=A,!0):!1}case ne:{var j=f.pendingProps,V=bs(c,j);return V!==null?(f.stateNode=V,!0):!1}case pe:{if(Ai){var te=ba(c);if(te!==null){var le={dehydrated:te,retryTime:Di};f.memoizedState=le;var Be=b4(te);return Be.return=f,f.child=Be,!0}}return!1}default:return!1}}function Y2(f){if(!!Da){var c=Za;if(!c){kh(Il,f),Da=!1,Il=f;return}var E=c;if(!Nh(f,c)){if(c=ji(E),!c||!Nh(f,c)){kh(Il,f),Da=!1,Il=f;return}G2(Il,E)}Il=f,Za=B(c)}}function sm(f,c,E){if(!we)throw Error(\"Expected prepareToHydrateHostInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.\");var T=f.stateNode,A=z(T,f.type,f.memoizedProps,c,E,f);return f.updateQueue=A,A!==null}function am(f){if(!we)throw Error(\"Expected prepareToHydrateHostTextInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.\");var c=f.stateNode,E=f.memoizedProps,T=G(c,E,f);if(T){var A=Il;if(A!==null)switch(A.tag){case U:{var j=A.stateNode.containerInfo;Qe(j,c,E);break}case W:{var V=A.type,te=A.memoizedProps,le=A.stateNode;ht(V,te,le,c,E);break}}}return T}function Lh(f){if(!we)throw Error(\"Expected prepareToHydrateHostSuspenseInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.\");var c=f.memoizedState,E=c!==null?c.dehydrated:null;if(!E)throw Error(\"Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue.\");$(E,f)}function fm(f){if(!we)throw Error(\"Expected skipPastDehydratedSuspenseInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.\");var c=f.memoizedState,E=c!==null?c.dehydrated:null;if(!E)throw Error(\"Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue.\");return Te(E)}function K2(f){for(var c=f.return;c!==null&&c.tag!==W&&c.tag!==U&&c.tag!==pe;)c=c.return;Il=c}function p1(f){if(!we||f!==Il)return!1;if(!Da)return K2(f),Da=!0,!1;var c=f.type;if(f.tag!==W||c!==\"head\"&&c!==\"body\"&&!Ni(c,f.memoizedProps))for(var E=Za;E;)G2(f,E),E=ji(E);return K2(f),f.tag===pe?Za=fm(f):Za=Il?ji(f.stateNode):null,!0}function h1(){!we||(Il=null,Za=null,Da=!1)}var v1=rt.ReactCurrentOwner,wa=!1,X2,Ys,Ks,Xs,Q2,Sa,m1,Sd,Sc,J2;X2={},Ys={},Ks={},Xs={},Q2={},Sa=!1,m1=!1,Sd={},Sc={},J2={};function Do(f,c,E,T){f===null?c.child=Zc(c,null,E,T):c.child=Tf(c,f.child,E,T)}function Fh(f,c,E,T){c.child=Tf(c,f.child,null,T),c.child=Tf(c,null,E,T)}function Ph(f,c,E,T,A){if(c.type!==c.elementType){var j=E.propTypes;j&&_(j,T,\"prop\",qt(E),Lr)}var V=E.render,te=c.ref,le;return u0(c,A),v1.current=c,$e(\"render\"),le=Lf(f,c,V,T,te,A),Ri&&c.mode&mr&&c.memoizedState!==null&&(le=Lf(f,c,V,T,te,A)),$e(null),f!==null&&!wa?(gd(f,c,A),Ta(f,c,A)):(c.effectTag|=lu,Do(f,c,le,A),c.child)}function Ih(f,c,E,T,A,j){if(f===null){var V=E.type;if(a0(V)&&E.compare===null&&E.defaultProps===void 0){var te=V;return te=r0(V),c.tag=ie,c.type=te,ep(c,V),bh(f,c,te,T,A,j)}{var le=V.propTypes;le&&_(le,T,\"prop\",qt(V),Lr)}var Be=fy(E.type,null,T,null,c.mode,j);return Be.ref=c.ref,Be.return=c,c.child=Be,Be}{var Ke=E.type,pt=Ke.propTypes;pt&&_(pt,T,\"prop\",qt(Ke),Lr)}var Nt=f.child;if(A<j){var Gt=Nt.memoizedProps,zt=E.compare;if(zt=zt!==null?zt:xl,zt(Gt,T)&&f.ref===c.ref)return Ta(f,c,j)}c.effectTag|=lu;var yn=To(Nt,T,j);return yn.ref=c.ref,yn.return=c,c.child=yn,yn}function bh(f,c,E,T,A,j){if(c.type!==c.elementType){var V=c.elementType;V.$$typeof===Er&&(V=Fs(V));var te=V&&V.propTypes;te&&_(te,T,\"prop\",qt(V),Lr)}if(f!==null){var le=f.memoizedProps;if(xl(le,T)&&f.ref===c.ref&&c.type===f.type&&(wa=!1,A<j))return Ta(f,c,j)}return Z2(f,c,E,T,j)}function cm(f,c,E){var T=c.pendingProps;return Do(f,c,T,E),c.child}function Bh(f,c,E){var T=c.pendingProps.children;return Do(f,c,T,E),c.child}function Uh(f,c,E){en&&(c.effectTag|=Dr);var T=c.pendingProps,A=T.children;return Do(f,c,A,E),c.child}function y1(f,c){var E=c.ref;(f===null&&E!==null||f!==null&&f.ref!==E)&&(c.effectTag|=Ao)}function Z2(f,c,E,T,A){if(c.type!==c.elementType){var j=E.propTypes;j&&_(j,T,\"prop\",qt(E),Lr)}var V;if(!ai){var te=Tl(c,E,!0);V=Vu(c,te)}var le;return u0(c,A),v1.current=c,$e(\"render\"),le=Lf(f,c,E,T,V,A),Ri&&c.mode&mr&&c.memoizedState!==null&&(le=Lf(f,c,E,T,V,A)),$e(null),f!==null&&!wa?(gd(f,c,A),Ta(f,c,A)):(c.effectTag|=lu,Do(f,c,le,A),c.child)}function jh(f,c,E,T,A){if(c.type!==c.elementType){var j=E.propTypes;j&&_(j,T,\"prop\",qt(E),Lr)}var V;Xi(E)?(V=!0,Hi(c)):V=!1,u0(c,A);var te=c.stateNode,le;te===null?(f!==null&&(f.alternate=null,c.alternate=null,c.effectTag|=mi),ha(c,E,T,A),hc(c,E,T,A),le=!0):f===null?le=mh(c,E,T,A):le=O2(f,c,E,T,A);var Be=$2(f,c,E,le,V,A);{var Ke=c.stateNode;Ke.props!==T&&(Sa||Xt(!1,\"It looks like %s is reassigning its own `this.props` while rendering. This is not supported and can lead to confusing bugs.\",qt(c.type)||\"a component\"),Sa=!0)}return Be}function $2(f,c,E,T,A,j){y1(f,c);var V=(c.effectTag&Xr)!==xi;if(!T&&!V)return A&&rl(c,E,!1),Ta(f,c,j);var te=c.stateNode;v1.current=c;var le;return V&&typeof E.getDerivedStateFromError!=\"function\"?(le=null,en&&Mh(c)):($e(\"render\"),le=te.render(),Ri&&c.mode&mr&&te.render(),$e(null)),c.effectTag|=lu,f!==null&&V?Fh(f,c,le,j):Do(f,c,le,j),c.memoizedState=te.state,A&&rl(c,E,!0),c.child}function zh(f){var c=f.stateNode;c.pendingContext?zi(f,c.pendingContext,c.pendingContext!==c.context):c.context&&zi(f,c.context,!1),Ya(f,c.containerInfo)}function dm(f,c,E){zh(c);var T=c.updateQueue;if(T===null)throw Error(\"If the root does not have an updateQueue, we should have already bailed out. This error is likely caused by a bug in React. Please file an issue.\");var A=c.pendingProps,j=c.memoizedState,V=j!==null?j.element:null;wf(c,T,A,null,E);var te=c.memoizedState,le=te.element;if(le===V)return h1(),Ta(f,c,E);var Be=c.stateNode;if(Be.hydrate&&V2(c)){var Ke=Zc(c,null,le,E);c.child=Ke;for(var pt=Ke;pt;)pt.effectTag=pt.effectTag&~mi|su,pt=pt.sibling}else Do(f,c,le,E),h1();return c.child}function pm(f,c,E){yc(c),f===null&&Y2(c);var T=c.type,A=c.pendingProps,j=f!==null?f.memoizedProps:null,V=A.children,te=Ni(T,A);return te?V=null:j!==null&&Ni(T,j)&&(c.effectTag|=Uu),y1(f,c),c.mode&ri&&E!==Di&&v0(T,A)?(bn&&x(Di),c.expirationTime=c.childExpirationTime=Di,null):(Do(f,c,V,E),c.child)}function Pf(f,c){return f===null&&Y2(c),null}function If(f,c,E,T,A){f!==null&&(f.alternate=null,c.alternate=null,c.effectTag|=mi);var j=c.pendingProps;tu(c);var V=g(E);c.type=V;var te=c.tag=Os(V);$l(c);var le=qi(V,j),Be;switch(te){case L:{ep(c,V),c.type=V=r0(V),Be=Z2(null,c,V,le,A);break}case O:{c.type=V=j0(V),Be=jh(null,c,V,le,A);break}case se:{c.type=V=Df(V),Be=Ph(null,c,V,le,A);break}case me:{if(c.type!==c.elementType){var Ke=V.propTypes;Ke&&_(Ke,le,\"prop\",qt(V),Lr)}Be=Ih(null,c,V,qi(V.type,le),T,A);break}default:{var pt=\"\";throw V!==null&&typeof V==\"object\"&&V.$$typeof===Er&&(pt=\" Did you wrap a component in React.lazy() more than once?\"),Error(\"Element type is invalid. Received a promise that resolves to: \"+V+\". Lazy element type must resolve to a class or function.\"+pt)}}return Be}function Td(f,c,E,T,A){f!==null&&(f.alternate=null,c.alternate=null,c.effectTag|=mi),c.tag=O;var j;return Xi(E)?(j=!0,Hi(c)):j=!1,u0(c,A),ha(c,E,T,A),hc(c,E,T,A),$2(null,c,E,!0,j,A)}function hm(f,c,E,T){f!==null&&(f.alternate=null,c.alternate=null,c.effectTag|=mi);var A=c.pendingProps,j;if(!ai){var V=Tl(c,E,!1);j=Vu(c,V)}u0(c,T);var te;{if(E.prototype&&typeof E.prototype.render==\"function\"){var le=qt(E)||\"Unknown\";X2[le]||(We(!1,\"The <%s /> component appears to have a render method, but doesn't extend React.Component. This is likely to cause errors. Change %s to extend React.Component instead.\",le,le),X2[le]=!0)}c.mode&mr&&Rl.recordLegacyContextWarning(c,null),v1.current=c,te=Lf(null,c,E,A,j,T)}if(c.effectTag|=lu,typeof te==\"object\"&&te!==null&&typeof te.render==\"function\"&&te.$$typeof===void 0){{var Be=qt(E)||\"Unknown\";Ys[Be]||(We(!1,\"The <%s /> component appears to be a function component that returns a class instance. Change %s to a class that extends React.Component instead. If you can't use a class try assigning the prototype on the function as a workaround. `%s.prototype = React.Component.prototype`. Don't use an arrow function since it cannot be called with `new` by React.\",Be,Be,Be),Ys[Be]=!0)}c.tag=O,_d();var Ke=!1;Xi(E)?(Ke=!0,Hi(c)):Ke=!1,c.memoizedState=te.state!==null&&te.state!==void 0?te.state:null;var pt=E.getDerivedStateFromProps;return typeof pt==\"function\"&&Sf(c,E,pt,A),sl(c,te),hc(c,E,A,T),$2(null,c,E,!0,Ke,T)}else return c.tag=L,ai&&E.contextTypes&&We(!1,\"%s uses the legacy contextTypes API which is no longer supported. Use React.createContext() with React.useContext() instead.\",qt(E)||\"Unknown\"),Ri&&c.mode&mr&&c.memoizedState!==null&&(te=Lf(null,c,E,A,j,T)),Do(null,c,te,T),ep(c,E),c.child}function ep(f,c){if(c&&c.childContextTypes&&We(!1,\"%s(...): childContextTypes cannot be defined on a function component.\",c.displayName||c.name||\"Component\"),f.ref!==null){var E=\"\",T=g0();T&&(E+=`\n\nCheck the render method of \\``+T+\"`.\");var A=T||f._debugID||\"\",j=f._debugSource;j&&(A=j.fileName+\":\"+j.lineNumber),Q2[A]||(Q2[A]=!0,Xt(!1,\"Function components cannot be given refs. Attempts to access this ref will fail. Did you mean to use React.forwardRef()?%s\",E))}if(Xl&&c.defaultProps!==void 0){var V=qt(c)||\"Unknown\";J2[V]||(We(!1,\"%s: Support for defaultProps will be removed from function components in a future major release. Use JavaScript default parameters instead.\",V),J2[V]=!0)}if(typeof c.getDerivedStateFromProps==\"function\"){var te=qt(c)||\"Unknown\";Xs[te]||(We(!1,\"%s: Function components do not support getDerivedStateFromProps.\",te),Xs[te]=!0)}if(typeof c.contextType==\"object\"&&c.contextType!==null){var le=qt(c)||\"Unknown\";Ks[le]||(We(!1,\"%s: Function components do not support contextType.\",le),Ks[le]=!0)}}var Cd={dehydrated:null,retryTime:at};function tp(f,c,E){return e1(f,$c)&&(c===null||c.memoizedState!==null)}function Hh(f,c,E){var T=c.mode,A=c.pendingProps;Xg(c)&&(c.effectTag|=Xr);var j=kl.current,V=!1,te=(c.effectTag&Xr)!==xi;if(te||tp(j,f,c)?(V=!0,c.effectTag&=~Xr):(f===null||f.memoizedState!==null)&&A.fallback!==void 0&&A.unstable_avoidThisFallback!==!0&&(j=vd(j,xf)),j=ya(j),Fr(c,j),\"maxDuration\"in A&&(m1||(m1=!0,Xt(!1,\"maxDuration has been removed from React. Remove the maxDuration prop.\"))),f===null){if(A.fallback!==void 0&&(Y2(c),Ai)){var le=c.memoizedState;if(le!==null){var Be=le.dehydrated;if(Be!==null)return qh(c,Be,E)}}if(V){var Ke=A.fallback,pt=nf(null,T,at,null);if(pt.return=c,(c.mode&Y)===Ar){var Nt=c.memoizedState,Gt=Nt!==null?c.child.child:c.child;pt.child=Gt;for(var zt=Gt;zt!==null;)zt.return=pt,zt=zt.sibling}var yn=nf(Ke,T,E,null);return yn.return=c,pt.sibling=yn,c.memoizedState=Cd,c.child=pt,yn}else{var kr=A.children;return c.memoizedState=null,c.child=Zc(c,null,kr,E)}}else{var oi=f.memoizedState;if(oi!==null){if(Ai){var Oi=oi.dehydrated;if(Oi!==null)if(te){if(c.memoizedState!==null)return c.child=f.child,c.effectTag|=Xr,null;var L0=A.fallback,$i=nf(null,T,at,null);if($i.return=c,$i.child=null,(c.mode&Y)===Ar)for(var ot=$i.child=c.child;ot!==null;)ot.return=$i,ot=ot.sibling;else Tf(c,f.child,null,E);if(en&&c.mode&ii){for(var Ot=0,Ze=$i.child;Ze!==null;)Ot+=Ze.treeBaseDuration,Ze=Ze.sibling;$i.treeBaseDuration=Ot}var Ut=nf(L0,T,E,null);return Ut.return=c,$i.sibling=Ut,Ut.effectTag|=mi,$i.childExpirationTime=at,c.memoizedState=Cd,c.child=$i,Ut}else return Wh(f,c,Oi,oi,E)}var Pn=f.child,vn=Pn.sibling;if(V){var Wi=A.fallback,pi=To(Pn,Pn.pendingProps,at);if(pi.return=c,(c.mode&Y)===Ar){var Ku=c.memoizedState,hr=Ku!==null?c.child.child:c.child;if(hr!==Pn.child){pi.child=hr;for(var pu=hr;pu!==null;)pu.return=pi,pu=pu.sibling}}if(en&&c.mode&ii){for(var Kr=0,xu=pi.child;xu!==null;)Kr+=xu.treeBaseDuration,xu=xu.sibling;pi.treeBaseDuration=Kr}var w0=To(vn,Wi,vn.expirationTime);return w0.return=c,pi.sibling=w0,pi.childExpirationTime=at,c.memoizedState=Cd,c.child=pi,w0}else{var W0=A.children,Ms=Pn.child,Xu=Tf(c,Ms,W0,E);return c.memoizedState=null,c.child=Xu}}else{var yl=f.child;if(V){var rf=A.fallback,Wo=nf(null,T,at,null);if(Wo.return=c,Wo.child=yl,yl!==null&&(yl.return=Wo),(c.mode&Y)===Ar){var ks=c.memoizedState,Zd=ks!==null?c.child.child:c.child;Wo.child=Zd;for(var Vf=Zd;Vf!==null;)Vf.return=Wo,Vf=Vf.sibling}if(en&&c.mode&ii){for(var Lc=0,zl=Wo.child;zl!==null;)Lc+=zl.treeBaseDuration,zl=zl.sibling;Wo.treeBaseDuration=Lc}var Vo=nf(rf,T,E,null);return Vo.return=c,Wo.sibling=Vo,Vo.effectTag|=mi,Wo.childExpirationTime=at,c.memoizedState=Cd,c.child=Wo,Vo}else{c.memoizedState=null;var N1=A.children;return c.child=Tf(c,yl,N1,E)}}}}function np(f,c,E){c.memoizedState=null;var T=c.pendingProps,A=T.children;return Do(f,c,A,E),c.child}function qh(f,c,E){if((f.mode&Y)===Ar)Xt(!1,\"Cannot hydrate Suspense in legacy mode. Switch from ReactDOM.hydrate(element, container) to ReactDOM.createBlockingRoot(container, { hydrate: true }).render(element) or remove the Suspense components from the server rendered components.\"),f.expirationTime=Un;else if(y0(c)){var T=Ul(),A=Ds(T);bn&&x(A),f.expirationTime=A}else f.expirationTime=Di,bn&&x(Di);return null}function Wh(f,c,E,T,A){if(W2(),(c.mode&Y)===Ar||y0(E))return np(f,c,A);var j=f.childExpirationTime>=A;if(wa||j){if(A<Un&&T.retryTime<=A){var V=A+1;T.retryTime=V,ml(f,V)}return yv(),np(f,c,A)}else{if(Bs(E))return c.effectTag|=Xr,c.child=f.child,Us(E,$m.bind(null,f)),null;lm(c,E);for(var te=c.pendingProps,le=te.children,Be=Zc(c,null,le,A),Ke=Be;Ke;)Ke.effectTag|=su,Ke=Ke.sibling;return c.child=Be,c.child}}function rp(f,c){f.expirationTime<c&&(f.expirationTime=c);var E=f.alternate;E!==null&&E.expirationTime<c&&(E.expirationTime=c),z0(f.return,c)}function vm(f,c,E){for(var T=c;T!==null;){if(T.tag===pe){var A=T.memoizedState;A!==null&&rp(T,E)}else if(T.tag===yt)rp(T,E);else if(T.child!==null){T.child.return=T,T=T.child;continue}if(T===f)return;for(;T.sibling===null;){if(T.return===null||T.return===f)return;T=T.return}T.sibling.return=T.return,T=T.sibling}}function mm(f){for(var c=f,E=null;c!==null;){var T=c.alternate;T!==null&&t1(T)===null&&(E=c),c=c.sibling}return E}function ym(f){if(f!==void 0&&f!==\"forwards\"&&f!==\"backwards\"&&f!==\"together\"&&!Sd[f])if(Sd[f]=!0,typeof f==\"string\")switch(f.toLowerCase()){case\"together\":case\"forwards\":case\"backwards\":{Xt(!1,'\"%s\" is not a valid value for revealOrder on <SuspenseList />. Use lowercase \"%s\" instead.',f,f.toLowerCase());break}case\"forward\":case\"backward\":{Xt(!1,'\"%s\" is not a valid value for revealOrder on <SuspenseList />. React uses the -s suffix in the spelling. Use \"%ss\" instead.',f,f.toLowerCase());break}default:Xt(!1,'\"%s\" is not a supported revealOrder on <SuspenseList />. Did you mean \"together\", \"forwards\" or \"backwards\"?',f);break}else Xt(!1,'%s is not a supported value for revealOrder on <SuspenseList />. Did you mean \"together\", \"forwards\" or \"backwards\"?',f)}function Vh(f,c){f!==void 0&&!Sc[f]&&(f!==\"collapsed\"&&f!==\"hidden\"?(Sc[f]=!0,Xt(!1,'\"%s\" is not a supported value for tail on <SuspenseList />. Did you mean \"collapsed\" or \"hidden\"?',f)):c!==\"forwards\"&&c!==\"backwards\"&&(Sc[f]=!0,Xt(!1,'<SuspenseList tail=\"%s\" /> is only valid if revealOrder is \"forwards\" or \"backwards\". Did you mean to specify revealOrder=\"forwards\"?',f)))}function g1(f,c){{var E=Array.isArray(f),T=!E&&typeof fr(f)==\"function\";if(E||T){var A=E?\"array\":\"iterable\";return Xt(!1,\"A nested %s was passed to row #%s in <SuspenseList />. Wrap it in an additional SuspenseList to configure its revealOrder: <SuspenseList revealOrder=...> ... <SuspenseList revealOrder=...>{%s}</SuspenseList> ... </SuspenseList>\",A,c,A),!1}}return!0}function gm(f,c){if((c===\"forwards\"||c===\"backwards\")&&f!==void 0&&f!==null&&f!==!1)if(Array.isArray(f)){for(var E=0;E<f.length;E++)if(!g1(f[E],E))return}else{var T=fr(f);if(typeof T==\"function\"){var A=T.call(f);if(A)for(var j=A.next(),V=0;!j.done;j=A.next()){if(!g1(j.value,V))return;V++}}else Xt(!1,'A single row was passed to a <SuspenseList revealOrder=\"%s\" />. This is not useful since it needs multiple rows. Did you mean to pass multiple children or an array?',c)}}function ip(f,c,E,T,A,j){var V=f.memoizedState;V===null?f.memoizedState={isBackwards:c,rendering:null,last:T,tail:E,tailExpiration:0,tailMode:A,lastEffect:j}:(V.isBackwards=c,V.rendering=null,V.last=T,V.tail=E,V.tailExpiration=0,V.tailMode=A,V.lastEffect=j)}function up(f,c,E){var T=c.pendingProps,A=T.revealOrder,j=T.tail,V=T.children;ym(A),Vh(j,A),gm(V,A),Do(f,c,V,E);var te=kl.current,le=e1(te,$c);if(le)te=hd(te,$c),c.effectTag|=Xr;else{var Be=f!==null&&(f.effectTag&Xr)!==xi;Be&&vm(c,c.child,E),te=ya(te)}if(Fr(c,te),(c.mode&Y)===Ar)c.memoizedState=null;else switch(A){case\"forwards\":{var Ke=mm(c.child),pt;Ke===null?(pt=c.child,c.child=null):(pt=Ke.sibling,Ke.sibling=null),ip(c,!1,pt,Ke,j,c.lastEffect);break}case\"backwards\":{var Nt=null,Gt=c.child;for(c.child=null;Gt!==null;){var zt=Gt.alternate;if(zt!==null&&t1(zt)===null){c.child=Gt;break}var yn=Gt.sibling;Gt.sibling=Nt,Nt=Gt,Gt=yn}ip(c,!0,Nt,null,j,c.lastEffect);break}case\"together\":{ip(c,!1,null,null,void 0,c.lastEffect);break}default:c.memoizedState=null}return c.child}function _m(f,c,E){Ya(c,c.stateNode.containerInfo);var T=c.pendingProps;return f===null?c.child=Tf(c,null,T,E):Do(f,c,T,E),c.child}function Em(f,c,E){var T=c.type,A=T._context,j=c.pendingProps,V=c.memoizedProps,te=j.value;{var le=c.type.propTypes;le&&_(le,j,\"prop\",\"Context.Provider\",Lr)}if(xr(c,te),V!==null){var Be=V.value,Ke=cu(A,te,Be);if(Ke===0){if(V.children===j.children&&!sa())return Ta(f,c,E)}else Ol(c,A,Ke,E)}var pt=j.children;return Do(f,c,pt,E),c.child}var Gh=!1;function Dm(f,c,E){var T=c.type;T._context===void 0?T!==T.Consumer&&(Gh||(Gh=!0,Xt(!1,\"Rendering <Context> directly is not supported and will be removed in a future major release. Did you mean to render <Context.Consumer> instead?\"))):T=T._context;var A=c.pendingProps,j=A.children;typeof j!=\"function\"&&We(!1,\"A context consumer was rendered with multiple children, or a child that isn't a function. A context consumer expects a single child that is a function. If you did pass a function, make sure there is no trailing or leading whitespace around it.\"),u0(c,E);var V=Ve(T,A.unstable_observedBits),te;return v1.current=c,$e(\"render\"),te=j(V),$e(null),c.effectTag|=lu,Do(f,c,te,E),c.child}function wm(f,c,E){var T=c.type.impl;if(T.reconcileChildren===!1)return null;var A=c.pendingProps,j=A.children;return Do(f,c,j,E),c.child}function op(f,c,E){var T=c.pendingProps,A=T.children;return Do(f,c,A,E),c.child}function lp(){wa=!0}function Ta(f,c,E){tu(c),f!==null&&(c.dependencies=f.dependencies),en&&Mh(c);var T=c.expirationTime;T!==at&&Xd(T);var A=c.childExpirationTime;return A<E?null:(gh(f,c),c.child)}function _1(f,c,E){{var T=c.return;if(T===null)throw new Error(\"Cannot swap the root fiber.\");if(f.alternate=null,c.alternate=null,E.index=c.index,E.sibling=c.sibling,E.return=c.return,E.ref=c.ref,c===T.child)T.child=E;else{var A=T.child;if(A===null)throw new Error(\"Expected parent to have a child.\");for(;A.sibling!==c;)if(A=A.sibling,A===null)throw new Error(\"Expected to find the previous sibling.\");A.sibling=E}var j=T.lastEffect;return j!==null?(j.nextEffect=f,T.lastEffect=f):T.firstEffect=T.lastEffect=f,f.nextEffect=null,f.effectTag=G0,E.effectTag|=mi,E}}function sp(f,c,E){var T=c.expirationTime;if(c._debugNeedsRemount&&f!==null)return _1(f,c,fy(c.type,c.key,c.pendingProps,c._debugOwner||null,c.mode,c.expirationTime));if(f!==null){var A=f.memoizedProps,j=c.pendingProps;if(A!==j||sa()||c.type!==f.type)wa=!0;else if(T<E){switch(wa=!1,c.tag){case U:zh(c),h1();break;case W:if(yc(c),c.mode&ri&&E!==Di&&v0(c.type,j))return bn&&x(Di),c.expirationTime=c.childExpirationTime=Di,null;break;case O:{var V=c.type;Xi(V)&&Hi(c);break}case H:Ya(c,c.stateNode.containerInfo);break;case ve:{var te=c.memoizedProps.value;xr(c,te);break}case De:if(en){var le=c.childExpirationTime>=E;le&&(c.effectTag|=Dr)}break;case pe:{var Be=c.memoizedState;if(Be!==null){if(Ai&&Be.dehydrated!==null){Fr(c,ya(kl.current)),c.effectTag|=Xr;break}var Ke=c.child,pt=Ke.childExpirationTime;if(pt!==at&&pt>=E)return Hh(f,c,E);Fr(c,ya(kl.current));var Nt=Ta(f,c,E);return Nt!==null?Nt.sibling:null}else Fr(c,ya(kl.current));break}case yt:{var Gt=(f.effectTag&Xr)!==xi,zt=c.childExpirationTime>=E;if(Gt){if(zt)return up(f,c,E);c.effectTag|=Xr}var yn=c.memoizedState;if(yn!==null&&(yn.rendering=null,yn.tail=null),Fr(c,kl.current),zt)break;return null}}return Ta(f,c,E)}else wa=!1}else wa=!1;switch(c.expirationTime=at,c.tag){case C:return hm(f,c,c.type,E);case Oe:{var kr=c.elementType;return If(f,c,kr,T,E)}case L:{var oi=c.type,Oi=c.pendingProps,L0=c.elementType===oi?Oi:qi(oi,Oi);return Z2(f,c,oi,L0,E)}case O:{var $i=c.type,ot=c.pendingProps,Ot=c.elementType===$i?ot:qi($i,ot);return jh(f,c,$i,Ot,E)}case U:return dm(f,c,E);case W:return pm(f,c,E);case ne:return Pf(f,c);case pe:return Hh(f,c,E);case H:return _m(f,c,E);case se:{var Ze=c.type,Ut=c.pendingProps,Pn=c.elementType===Ze?Ut:qi(Ze,Ut);return Ph(f,c,Ze,Pn,E)}case m:return cm(f,c,E);case he:return Bh(f,c,E);case De:return Uh(f,c,E);case ve:return Em(f,c,E);case Ee:return Dm(f,c,E);case me:{var vn=c.type,Wi=c.pendingProps,pi=qi(vn,Wi);if(c.type!==c.elementType){var Ku=vn.propTypes;Ku&&_(Ku,pi,\"prop\",qt(vn),Lr)}return pi=qi(vn.type,pi),Ih(f,c,vn,pi,T,E)}case ie:return bh(f,c,c.type,c.pendingProps,T,E);case je:{var hr=c.type,pu=c.pendingProps,Kr=c.elementType===hr?pu:qi(hr,pu);return Td(f,c,hr,Kr,E)}case yt:return up(f,c,E);case gt:{if(Wt)return wm(f,c,E);break}case Xe:{if(Au)return op(f,c,E);break}}throw Error(\"Unknown unit of work tag (\"+c.tag+\"). This error is likely caused by a bug in React. Please file an issue.\")}function Yh(f,c,E,T){return{currentFiber:f,impl:E,instance:null,prevProps:null,props:c,state:T}}function xd(f){return f.tag===pe&&f.memoizedState!==null}function E1(f){return f.child.sibling.child}var Kh={};function ap(f,c,E){if(Au){if(f.tag===W){var T=f.type,A=f.memoizedProps,j=f.stateNode,V=No(j);V!==null&&c(T,A||Kh,V)===!0&&E.push(V)}var te=f.child;xd(f)&&(te=E1(f)),te!==null&&fp(te,c,E)}}function Xh(f,c){if(Au){if(f.tag===W){var E=f.type,T=f.memoizedProps,A=f.stateNode,j=No(A);if(j!==null&&c(E,T,j)===!0)return j}var V=f.child;if(xd(f)&&(V=E1(f)),V!==null)return Qh(V,c)}return null}function fp(f,c,E){for(var T=f;T!==null;)ap(T,c,E),T=T.sibling}function Qh(f,c){for(var E=f;E!==null;){var T=Xh(E,c);if(T!==null)return T;E=E.sibling}return null}function Jh(f,c,E){if(Rd(f,c))E.push(f.stateNode.methods);else{var T=f.child;xd(f)&&(T=E1(f)),T!==null&&cp(T,c,E)}}function cp(f,c,E){for(var T=f;T!==null;)Jh(T,c,E),T=T.sibling}function Rd(f,c){return f.tag===Xe&&f.type===c&&f.stateNode!==null}function Ad(f,c){return{getChildren:function(){var E=c.fiber,T=E.child,A=[];return T!==null&&cp(T,f,A),A.length===0?null:A},getChildrenFromRoot:function(){for(var E=c.fiber,T=E;T!==null;){var A=T.return;if(A===null||(T=A,T.tag===Xe&&T.type===f))break}var j=[];return cp(T.child,f,j),j.length===0?null:j},getParent:function(){for(var E=c.fiber.return;E!==null;){if(E.tag===Xe&&E.type===f)return E.stateNode.methods;E=E.return}return null},getProps:function(){var E=c.fiber;return E.memoizedProps},queryAllNodes:function(E){var T=c.fiber,A=T.child,j=[];return A!==null&&fp(A,E,j),j.length===0?null:j},queryFirstNode:function(E){var T=c.fiber,A=T.child;return A!==null?Qh(A,E):null},containsNode:function(E){for(var T=cr(E);T!==null;){if(T.tag===Xe&&T.type===f&&T.stateNode===c)return!0;T=T.return}return!1}}}function H0(f){f.effectTag|=Dr}function Od(f){f.effectTag|=Ao}var Ca,$a,Md,kd;if(b0)Ca=function(f,c,E,T){for(var A=c.child;A!==null;){if(A.tag===W||A.tag===ne)Qr(f,A.stateNode);else if(Wt&&A.tag===gt)Qr(f,A.stateNode.instance);else if(A.tag!==H){if(A.child!==null){A.child.return=A,A=A.child;continue}}if(A===c)return;for(;A.sibling===null;){if(A.return===null||A.return===c)return;A=A.return}A.sibling.return=A.return,A=A.sibling}},$a=function(f){},Md=function(f,c,E,T,A){var j=f.memoizedProps;if(j!==T){var V=c.stateNode,te=al(),le=h0(V,E,j,T,A,te);c.updateQueue=le,le&&H0(c)}},kd=function(f,c,E,T){E!==T&&H0(c)};else if(X){Ca=function(f,c,E,T){for(var A=c.child;A!==null;){e:if(A.tag===W){var j=A.stateNode;if(E&&T){var V=A.memoizedProps,te=A.type;j=$r(j,te,V,A)}Qr(f,j)}else if(A.tag===ne){var le=A.stateNode;if(E&&T){var Be=A.memoizedProps;le=Zl(le,Be,A)}Qr(f,le)}else if(Wt&&A.tag===gt){var Ke=A.stateNode.instance;if(E&&T){var pt=A.memoizedProps,Nt=A.type;Ke=$r(Ke,Nt,pt,A)}Qr(f,Ke)}else if(A.tag!==H){if(A.tag===pe){if((A.effectTag&Dr)!==xi){var Gt=A.memoizedState!==null;if(Gt){var zt=A.child;if(zt!==null){zt.child!==null&&(zt.child.return=zt,Ca(f,zt,!0,Gt));var yn=zt.sibling;if(yn!==null){yn.return=A,A=yn;continue}}}}if(A.child!==null){A.child.return=A,A=A.child;continue}}else if(A.child!==null){A.child.return=A,A=A.child;continue}}if(A=A,A===c)return;for(;A.sibling===null;){if(A.return===null||A.return===c)return;A=A.return}A.sibling.return=A.return,A=A.sibling}};var dp=function(f,c,E,T){for(var A=c.child;A!==null;){e:if(A.tag===W){var j=A.stateNode;if(E&&T){var V=A.memoizedProps,te=A.type;j=$r(j,te,V,A)}Qn(f,j)}else if(A.tag===ne){var le=A.stateNode;if(E&&T){var Be=A.memoizedProps;le=Zl(le,Be,A)}Qn(f,le)}else if(Wt&&A.tag===gt){var Ke=A.stateNode.instance;if(E&&T){var pt=A.memoizedProps,Nt=A.type;Ke=$r(Ke,Nt,pt,A)}Qn(f,Ke)}else if(A.tag!==H){if(A.tag===pe){if((A.effectTag&Dr)!==xi){var Gt=A.memoizedState!==null;if(Gt){var zt=A.child;if(zt!==null){zt.child!==null&&(zt.child.return=zt,dp(f,zt,!0,Gt));var yn=zt.sibling;if(yn!==null){yn.return=A,A=yn;continue}}}}if(A.child!==null){A.child.return=A,A=A.child;continue}}else if(A.child!==null){A.child.return=A,A=A.child;continue}}if(A=A,A===c)return;for(;A.sibling===null;){if(A.return===null||A.return===c)return;A=A.return}A.sibling.return=A.return,A=A.sibling}};$a=function(f){var c=f.stateNode,E=f.firstEffect===null;if(!E){var T=c.containerInfo,A=S0(T);dp(A,f,!1,!1),c.pendingChildren=A,H0(f),ac(T,A)}},Md=function(f,c,E,T,A){var j=f.stateNode,V=f.memoizedProps,te=c.firstEffect===null;if(te&&V===T){c.stateNode=j;return}var le=c.stateNode,Be=al(),Ke=null;if(V!==T&&(Ke=h0(le,E,V,T,A,Be)),te&&Ke===null){c.stateNode=j;return}var pt=ms(j,Ke,E,V,T,c,te,le);Ou(pt,E,T,A,Be)&&H0(c),c.stateNode=pt,te?H0(c):Ca(pt,c,!1,!1)},kd=function(f,c,E,T){if(E!==T){var A=ns(),j=al();c.stateNode=hs(T,A,j,c),H0(c)}}}else $a=function(f){},Md=function(f,c,E,T,A){},kd=function(f,c,E,T){};function Nd(f,c){switch(f.tailMode){case\"hidden\":{for(var E=f.tail,T=null;E!==null;)E.alternate!==null&&(T=E),E=E.sibling;T===null?f.tail=null:T.sibling=null;break}case\"collapsed\":{for(var A=f.tail,j=null;A!==null;)A.alternate!==null&&(j=A),A=A.sibling;j===null?!c&&f.tail!==null?f.tail.sibling=null:f.tail=null:j.sibling=null;break}}}function Zh(f,c,E){var T=c.pendingProps;switch(c.tag){case C:break;case Oe:break;case ie:case L:break;case O:{var A=c.type;Xi(A)&&Hs(c);break}case U:{io(c),R0(c);var j=c.stateNode;if(j.pendingContext&&(j.context=j.pendingContext,j.pendingContext=null),f===null||f.child===null){var V=p1(c);V&&H0(c)}$a(c);break}case W:{k2(c);var te=ns(),le=c.type;if(f!==null&&c.stateNode!=null){if(Md(f,c,le,T,te),gi){var Be=f.memoizedProps.listeners,Ke=T.listeners;Be!==Ke&&H0(c)}f.ref!==c.ref&&Od(c)}else{if(!T){if(c.stateNode===null)throw Error(\"We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.\");break}var pt=al(),Nt=p1(c);if(Nt){if(sm(c,te,pt)&&H0(c),gi){var Gt=T.listeners;Gt!=null&&hn(Gt,c,te)}}else{var zt=Ki(le,T,te,pt,c);if(Ca(zt,c,!1,!1),c.stateNode=zt,gi){var yn=T.listeners;yn!=null&&hn(yn,c,te)}Ou(zt,le,T,te,pt)&&H0(c)}c.ref!==null&&Od(c)}break}case ne:{var kr=T;if(f&&c.stateNode!=null){var oi=f.memoizedProps;kd(f,c,oi,kr)}else{if(typeof kr!=\"string\"&&c.stateNode===null)throw Error(\"We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.\");var Oi=ns(),L0=al(),$i=p1(c);$i?am(c)&&H0(c):c.stateNode=hs(kr,Oi,L0,c)}break}case se:break;case pe:{ga(c);var ot=c.memoizedState;if(Ai&&ot!==null&&ot.dehydrated!==null)if(f===null){var Ot=p1(c);if(!Ot)throw Error(\"A dehydrated suspense component was completed without a hydrated node. This is probably a bug in React.\");return Lh(c),bn&&x(Di),null}else return h1(),(c.effectTag&Xr)===xi&&(c.memoizedState=null),c.effectTag|=Dr,null;if((c.effectTag&Xr)!==xi)return c.expirationTime=E,c;var Ze=ot!==null,Ut=!1;if(f===null)c.memoizedProps.fallback!==void 0&&p1(c);else{var Pn=f.memoizedState;if(Ut=Pn!==null,!Ze&&Pn!==null){var vn=f.child.sibling;if(vn!==null){var Wi=c.firstEffect;Wi!==null?(c.firstEffect=vn,vn.nextEffect=Wi):(c.firstEffect=c.lastEffect=vn,vn.nextEffect=null),vn.effectTag=G0}}}if(Ze&&!Ut&&(c.mode&Y)!==Ar){var pi=f===null&&c.memoizedProps.unstable_avoidThisFallback!==!0;pi||e1(kl.current,xf)?mv():yv()}X&&Ze&&(c.effectTag|=Dr),b0&&(Ze||Ut)&&(c.effectTag|=Dr),Yi&&c.updateQueue!==null&&c.memoizedProps.suspenseCallback!=null&&(c.effectTag|=Dr);break}case m:break;case he:break;case De:break;case H:io(c),$a(c);break;case ve:i0(c);break;case Ee:break;case me:break;case je:{var Ku=c.type;Xi(Ku)&&Hs(c);break}case yt:{ga(c);var hr=c.memoizedState;if(hr===null)break;var pu=(c.effectTag&Xr)!==xi,Kr=hr.rendering;if(Kr===null)if(pu)Nd(hr,!1);else{var xu=gv()&&(f===null||(f.effectTag&Xr)===xi);if(!xu)for(var w0=c.child;w0!==null;){var W0=t1(w0);if(W0!==null){pu=!0,c.effectTag|=Xr,Nd(hr,!1);var Ms=W0.updateQueue;return Ms!==null&&(c.updateQueue=Ms,c.effectTag|=Dr),hr.lastEffect===null&&(c.firstEffect=null),c.lastEffect=hr.lastEffect,nm(c,E),Fr(c,hd(kl.current,$c)),c.child}w0=w0.sibling}}else{if(!pu){var Xu=t1(Kr);if(Xu!==null){c.effectTag|=Xr,pu=!0;var yl=Xu.updateQueue;if(yl!==null&&(c.updateQueue=yl,c.effectTag|=Dr),Nd(hr,!0),hr.tail===null&&hr.tailMode===\"hidden\"&&!Kr.alternate){var rf=c.lastEffect=hr.lastEffect;return rf!==null&&(rf.nextEffect=null),null}}else if(vt()>hr.tailExpiration&&E>Di){c.effectTag|=Xr,pu=!0,Nd(hr,!1);var Wo=E-1;c.expirationTime=c.childExpirationTime=Wo,bn&&x(Wo)}}if(hr.isBackwards)Kr.sibling=c.child,c.child=Kr;else{var ks=hr.last;ks!==null?ks.sibling=Kr:c.child=Kr,hr.last=Kr}}if(hr.tail!==null){if(hr.tailExpiration===0){var Zd=500;hr.tailExpiration=vt()+Zd}var Vf=hr.tail;hr.rendering=Vf,hr.tail=Vf.sibling,hr.lastEffect=c.lastEffect,Vf.sibling=null;var Lc=kl.current;return pu?Lc=hd(Lc,$c):Lc=ya(Lc),Fr(c,Lc),Vf}break}case gt:{if(Wt){var zl=c.type.impl,Vo=c.stateNode;if(Vo===null){var N1=zl.getInitialState,n_;N1!==void 0&&(n_=N1(T)),Vo=c.stateNode=Yh(c,T,zl,n_||{});var r_=dt(Vo);if(Vo.instance=r_,zl.reconcileChildren===!1)return null;Ca(r_,c,!1,!1),Yn(Vo)}else{var $4=Vo.props;if(Vo.prevProps=$4,Vo.props=T,Vo.currentFiber=c,X){var i_=oa(Vo);Vo.instance=i_,Ca(i_,c,!1,!1)}var eE=Cn(Vo);eE&&H0(c)}}break}case Xe:{if(Au)if(f===null){var tE=c.type,Ey={fiber:c,methods:null};if(c.stateNode=Ey,Ey.methods=Ad(tE,Ey),gi){var u_=T.listeners;if(u_!=null){var nE=ns();hn(u_,c,nE)}}c.ref!==null&&(Od(c),H0(c))}else{if(gi){var rE=f.memoizedProps.listeners,iE=T.listeners;(rE!==iE||c.ref!==null)&&H0(c)}else c.ref!==null&&H0(c);f.ref!==c.ref&&Od(c)}break}default:throw Error(\"Unknown unit of work tag (\"+c.tag+\"). This error is likely caused by a bug in React. Please file an issue.\")}return null}function Sm(f,c){switch(f.tag){case O:{var E=f.type;Xi(E)&&Hs(f);var T=f.effectTag;return T&p0?(f.effectTag=T&~p0|Xr,f):null}case U:{io(f),R0(f);var A=f.effectTag;if((A&Xr)!==xi)throw Error(\"The root failed to unmount after an error. This is likely a bug in React. Please file an issue.\");return f.effectTag=A&~p0|Xr,f}case W:return k2(f),null;case pe:{if(ga(f),Ai){var j=f.memoizedState;if(j!==null&&j.dehydrated!==null){if(f.alternate===null)throw Error(\"Threw in newly mounted dehydrated component. This is likely a bug in React. Please file an issue.\");h1()}}var V=f.effectTag;return V&p0?(f.effectTag=V&~p0|Xr,f):null}case yt:return ga(f),null;case H:return io(f),null;case ve:return i0(f),null;default:return null}}function $h(f){switch(f.tag){case O:{var c=f.type.childContextTypes;c!=null&&Hs(f);break}case U:{io(f),R0(f);break}case W:{k2(f);break}case H:io(f);break;case pe:ga(f);break;case yt:ga(f);break;case ve:i0(f);break;default:break}}function pp(f,c){return{value:f,source:c,stack:Cr(c)}}var hp=function(f,c,E,T,A,j,V,te,le){var Be=Array.prototype.slice.call(arguments,3);try{c.apply(E,Be)}catch(Ke){this.onError(Ke)}};if(typeof window!=\"undefined\"&&typeof window.dispatchEvent==\"function\"&&typeof document!=\"undefined\"&&typeof document.createEvent==\"function\"){var vp=document.createElement(\"react\"),Tm=function(f,c,E,T,A,j,V,te,le){if(typeof document==\"undefined\")throw Error(\"The `document` global was defined when React was initialized, but is not defined anymore. This can happen in a test environment if a component schedules an update from an asynchronous callback, but the test has already finished running. To solve this, you can either unmount the component at the end of your test (and ensure that any asynchronous operations get canceled in `componentWillUnmount`), or you can change the test itself to be asynchronous.\");var Be=document.createEvent(\"Event\"),Ke=!0,pt=window.event,Nt=Object.getOwnPropertyDescriptor(window,\"event\"),Gt=Array.prototype.slice.call(arguments,3);function zt(){vp.removeEventListener(L0,zt,!1),typeof window.event!=\"undefined\"&&window.hasOwnProperty(\"event\")&&(window.event=pt),c.apply(E,Gt),Ke=!1}var yn,kr=!1,oi=!1;function Oi($i){if(yn=$i.error,kr=!0,yn===null&&$i.colno===0&&$i.lineno===0&&(oi=!0),$i.defaultPrevented&&yn!=null&&typeof yn==\"object\")try{yn._suppressLogging=!0}catch(ot){}}var L0=\"react-\"+(f||\"invokeguardedcallback\");window.addEventListener(\"error\",Oi),vp.addEventListener(L0,zt,!1),Be.initEvent(L0,!1,!1),vp.dispatchEvent(Be),Nt&&Object.defineProperty(window,\"event\",Nt),Ke&&(kr?oi&&(yn=new Error(\"A cross-origin error was thrown. React doesn't have access to the actual error object in development. See https://fb.me/react-crossorigin-error for more information.\")):yn=new Error(`An error was thrown inside one of your components, but React doesn't know what it was. This is likely due to browser flakiness. React does its best to preserve the \"Pause on exceptions\" behavior of the DevTools, which requires some DEV-mode only tricks. It's possible that these don't work in your browser. Try triggering the error in production mode, or switching to a modern browser. If you suspect that this is actually an issue with React, please file an issue.`),this.onError(yn)),window.removeEventListener(\"error\",Oi)};hp=Tm}var Cm=hp,wo=!1,Ld=null,xm={onError:function(f){wo=!0,Ld=f}};function dl(f,c,E,T,A,j,V,te,le){wo=!1,Ld=null,Cm.apply(xm,arguments)}function tr(){return wo}function Qs(){if(wo){var f=Ld;return wo=!1,Ld=null,f}else throw Error(\"clearCaughtError was called but no error was captured. This error is likely caused by a bug in React. Please file an issue.\")}function pl(f){return!0}function l0(f){var c=pl(f);if(c!==!1){var E=f.error;{var T=f.componentName,A=f.componentStack,j=f.errorBoundaryName,V=f.errorBoundaryFound,te=f.willRetry;if(E!=null&&E._suppressLogging){if(V&&te)return;console.error(E)}var le=T?\"The above error occurred in the <\"+T+\"> component:\":\"The above error occurred in one of your React components:\",Be;V&&j?te?Be=\"React will try to recreate this component tree from scratch \"+(\"using the error boundary you provided, \"+j+\".\"):Be=\"This error was initially handled by the error boundary \"+j+`.\nRecreating the tree from scratch failed so React will unmount the tree.`:Be=`Consider adding an error boundary to your tree to customize error handling behavior.\nVisit https://fb.me/react-error-boundaries to learn more about error boundaries.`;var Ke=\"\"+le+A+`\n\n`+(\"\"+Be);console.error(Ke)}}}var ev=null;ev=new Set;var Js=typeof WeakSet==\"function\"?WeakSet:Set;function mp(f,c){var E=c.source,T=c.stack;T===null&&E!==null&&(T=Cr(E));var A={componentName:E!==null?qt(E.type):null,componentStack:T!==null?T:\"\",error:c.value,errorBoundary:null,errorBoundaryName:null,errorBoundaryFound:!1,willRetry:!1};f!==null&&f.tag===O&&(A.errorBoundary=f.stateNode,A.errorBoundaryName=qt(f.type),A.errorBoundaryFound=!0,A.willRetry=!0);try{l0(A)}catch(j){setTimeout(function(){throw j})}}var Rm=function(f,c){Bi(f,\"componentWillUnmount\"),c.props=f.memoizedProps,c.state=f.memoizedState,c.componentWillUnmount(),Ci()};function tv(f,c){if(dl(null,Rm,null,f,c),tr()){var E=Qs();Hf(f,E)}}function yp(f){var c=f.ref;if(c!==null)if(typeof c==\"function\"){if(dl(null,c,null,null),tr()){var E=Qs();Hf(f,E)}}else c.current=null}function Am(f,c){if(dl(null,c,null),tr()){var E=Qs();Hf(f,E)}}function gp(f,c){switch(c.tag){case L:case se:case ie:{Tc(im,Af,c);return}case O:{if(c.effectTag&Oo&&f!==null){var E=f.memoizedProps,T=f.memoizedState;Bi(c,\"getSnapshotBeforeUpdate\");var A=c.stateNode;c.type===c.elementType&&!Sa&&(A.props!==c.memoizedProps&&Xt(!1,\"Expected %s props to match memoized props before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.\",qt(c.type)||\"instance\"),A.state!==c.memoizedState&&Xt(!1,\"Expected %s state to match memoized state before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.\",qt(c.type)||\"instance\"));var j=A.getSnapshotBeforeUpdate(c.elementType===c.type?E:qi(c.type,E),T);{var V=ev;j===void 0&&!V.has(c.type)&&(V.add(c.type),We(!1,\"%s.getSnapshotBeforeUpdate(): A snapshot value (or null) must be returned. You have returned undefined.\",qt(c.type)))}A.__reactInternalSnapshotBeforeUpdate=j,Ci()}return}case U:case W:case ne:case H:case je:return;default:throw Error(\"This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.\")}}function Tc(f,c,E){var T=E.updateQueue,A=T!==null?T.lastEffect:null;if(A!==null){var j=A.next,V=j;do{if((V.tag&f)!==Af){var te=V.destroy;V.destroy=void 0,te!==void 0&&te()}if((V.tag&c)!==Af){var le=V.create;V.destroy=le();{var Be=V.destroy;if(Be!==void 0&&typeof Be!=\"function\"){var Ke=void 0;Be===null?Ke=\" You returned null. If your effect does not require clean up, return undefined (or nothing).\":typeof Be.then==\"function\"?Ke=`\n\nIt looks like you wrote useEffect(async () => ...) or returned a Promise. Instead, write the async function inside your effect and call it immediately:\n\nuseEffect(() => {\n  async function fetchData() {\n    // You can await here\n    const response = await MyAPI.getData(someId);\n    // ...\n  }\n  fetchData();\n}, [someId]); // Or [] if effect doesn't need props or state\n\nLearn more about data fetching with Hooks: https://fb.me/react-hooks-data-fetching`:Ke=\" You returned: \"+Be,We(!1,\"An effect function must not return anything besides a function, which is used for clean-up.%s%s\",Ke,Cr(E))}}}V=V.next}while(V!==j)}}function xa(f){if((f.effectTag&F0)!==xi)switch(f.tag){case L:case se:case ie:{Tc(sr,Af,f),Tc(Af,n1,f);break}default:break}}function _p(f,c,E,T){switch(E.tag){case L:case se:case ie:{Tc(um,fl,E);break}case O:{var A=E.stateNode;if(E.effectTag&Dr)if(c===null)Bi(E,\"componentDidMount\"),E.type===E.elementType&&!Sa&&(A.props!==E.memoizedProps&&Xt(!1,\"Expected %s props to match memoized props before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.\",qt(E.type)||\"instance\"),A.state!==E.memoizedState&&Xt(!1,\"Expected %s state to match memoized state before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.\",qt(E.type)||\"instance\")),A.componentDidMount(),Ci();else{var j=E.elementType===E.type?c.memoizedProps:qi(E.type,c.memoizedProps),V=c.memoizedState;Bi(E,\"componentDidUpdate\"),E.type===E.elementType&&!Sa&&(A.props!==E.memoizedProps&&Xt(!1,\"Expected %s props to match memoized props before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.\",qt(E.type)||\"instance\"),A.state!==E.memoizedState&&Xt(!1,\"Expected %s state to match memoized state before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.\",qt(E.type)||\"instance\")),A.componentDidUpdate(j,V,A.__reactInternalSnapshotBeforeUpdate),Ci()}var te=E.updateQueue;te!==null&&(E.type===E.elementType&&!Sa&&(A.props!==E.memoizedProps&&Xt(!1,\"Expected %s props to match memoized props before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.\",qt(E.type)||\"instance\"),A.state!==E.memoizedState&&Xt(!1,\"Expected %s state to match memoized state before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.\",qt(E.type)||\"instance\")),yo(E,te,A,T));return}case U:{var le=E.updateQueue;if(le!==null){var Be=null;if(E.child!==null)switch(E.child.tag){case W:Be=No(E.child.stateNode);break;case O:Be=E.child.stateNode;break}yo(E,le,Be,T)}return}case W:{var Ke=E.stateNode;if(c===null&&E.effectTag&Dr){var pt=E.type,Nt=E.memoizedProps;Hu(Ke,pt,Nt,E)}return}case ne:return;case H:return;case De:{if(en){var Gt=E.memoizedProps.onRender;typeof Gt==\"function\"&&(bn?Gt(E.memoizedProps.id,c===null?\"mount\":\"update\",E.actualDuration,E.treeBaseDuration,E.actualStartTime,Pl(),f.memoizedInteractions):Gt(E.memoizedProps.id,c===null?\"mount\":\"update\",E.actualDuration,E.treeBaseDuration,E.actualStartTime,Pl()))}return}case pe:{bl(f,E);return}case yt:case je:case gt:case Xe:return;default:throw Error(\"This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.\")}}function Fd(f,c){if(b0)for(var E=f;;){if(E.tag===W){var T=E.stateNode;c?Pa(T):ia(E.stateNode,E.memoizedProps)}else if(E.tag===ne){var A=E.stateNode;c?m0(A):Q0(A,E.memoizedProps)}else if(E.tag===pe&&E.memoizedState!==null&&E.memoizedState.dehydrated===null){var j=E.child.sibling;j.return=E,E=j;continue}else if(E.child!==null){E.child.return=E,E=E.child;continue}if(E===f)return;for(;E.sibling===null;){if(E.return===null||E.return===f)return;E=E.return}E.sibling.return=E.return,E=E.sibling}}function bu(f){var c=f.ref;if(c!==null){var E=f.stateNode,T;switch(f.tag){case W:T=No(E);break;default:T=E}Au&&f.tag===Xe&&(T=E.methods),typeof c==\"function\"?c(T):(c.hasOwnProperty(\"current\")||We(!1,\"Unexpected ref object provided for %s. Use either a ref-setter function or React.createRef().%s\",qt(f.type),Cr(f)),c.current=T)}}function Yu(f){var c=f.ref;c!==null&&(typeof c==\"function\"?c(null):c.current=null)}function Ep(f,c,E){switch(kn(c),c.tag){case L:case se:case me:case ie:{var T=c.updateQueue;if(T!==null){var A=T.lastEffect;if(A!==null){var j=A.next,V=E>Kn?Kn:E;Sn(V,function(){var oi=j;do{var Oi=oi.destroy;Oi!==void 0&&Am(c,Oi),oi=oi.next}while(oi!==j)})}}break}case O:{yp(c);var te=c.stateNode;typeof te.componentWillUnmount==\"function\"&&tv(c,te);return}case W:{if(gi){var le=c.dependencies;if(le!==null){var Be=le.responders;if(Be!==null){for(var Ke=Array.from(Be.values()),pt=0,Nt=Ke.length;pt<Nt;pt++){var Gt=Ke[pt];Ne(Gt)}le.responders=null}}}yp(c);return}case H:{b0?D1(f,c,E):X&&Om(c);return}case gt:{if(Wt){var zt=c.stateNode;zt!==null&&(Ia(zt),c.stateNode=null)}return}case qe:{if(Yi){var yn=f.hydrationCallbacks;if(yn!==null){var kr=yn.onDeleted;kr&&kr(c.stateNode)}}return}case Xe:Au&&yp(c)}}function Dp(f,c,E){for(var T=c;;){if(Ep(f,T,E),T.child!==null&&(!b0||T.tag!==H)){T.child.return=T,T=T.child;continue}if(T===c)return;for(;T.sibling===null;){if(T.return===null||T.return===c)return;T=T.return}T.sibling.return=T.return,T=T.sibling}}function nv(f){var c=f.alternate;f.return=null,f.child=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.alternate=null,f.firstEffect=null,f.lastEffect=null,f.pendingProps=null,f.memoizedProps=null,c!==null&&nv(c)}function Om(f){if(!!X){var c=f.stateNode,E=c.containerInfo,T=S0(E);fi(E,T)}}function Mm(f){if(!!X)switch(f.tag){case O:case W:case ne:case gt:return;case U:case H:{var c=f.stateNode,E=c.containerInfo,T=c.pendingChildren;fi(E,T);return}default:throw Error(\"This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.\")}}function km(f){for(var c=f.return;c!==null;){if(Pd(c))return c;c=c.return}throw Error(\"Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue.\")}function Pd(f){return f.tag===W||f.tag===U||f.tag===H}function rv(f){var c=f;e:for(;;){for(;c.sibling===null;){if(c.return===null||Pd(c.return))return null;c=c.return}for(c.sibling.return=c.return,c=c.sibling;c.tag!==W&&c.tag!==ne&&c.tag!==qe;){if(c.effectTag&mi||c.child===null||c.tag===H)continue e;c.child.return=c,c=c.child}if(!(c.effectTag&mi))return c.stateNode}}function Cc(f){if(!!b0){var c=km(f),E,T,A=c.stateNode;switch(c.tag){case W:E=A,T=!1;break;case U:E=A.containerInfo,T=!0;break;case H:E=A.containerInfo,T=!0;break;case gt:Wt&&(E=A.instance,T=!1);default:throw Error(\"Invalid host parent fiber. This error is likely caused by a bug in React. Please file an issue.\")}c.effectTag&Uu&&(qu(E),c.effectTag&=~Uu);for(var j=rv(f),V=f;;){var te=V.tag===W||V.tag===ne;if(te||Wt&&V.tag===gt){var le=te?V.stateNode:V.stateNode.instance;j?T?Lo(E,le,j):Ti(E,le,j):T?Mu(E,le):Si(E,le)}else if(V.tag!==H){if(V.child!==null){V.child.return=V,V=V.child;continue}}if(V===f)return;for(;V.sibling===null;){if(V.return===null||V.return===f)return;V=V.return}V.sibling.return=V.return,V=V.sibling}}}function D1(f,c,E){for(var T=c,A=!1,j,V;;){if(!A){var te=T.return;e:for(;;){if(te===null)throw Error(\"Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue.\");var le=te.stateNode;switch(te.tag){case W:j=le,V=!1;break e;case U:j=le.containerInfo,V=!0;break e;case H:j=le.containerInfo,V=!0;break e;case gt:Wt&&(j=le.instance,V=!1)}te=te.return}A=!0}if(T.tag===W||T.tag===ne)Dp(f,T,E),V?co(j,T.stateNode):ku(j,T.stateNode);else if(Wt&&T.tag===gt){var Be=T.stateNode.instance;Dp(f,T,E),V?co(j,Be):ku(j,Be)}else if(Ai&&T.tag===qe){if(Yi){var Ke=f.hydrationCallbacks;if(Ke!==null){var pt=Ke.onDeleted;pt&&pt(T.stateNode)}}V?ke(j,T.stateNode):Z(j,T.stateNode)}else if(T.tag===H){if(T.child!==null){j=T.stateNode.containerInfo,V=!0,T.child.return=T,T=T.child;continue}}else if(Ep(f,T,E),T.child!==null){T.child.return=T,T=T.child;continue}if(T===c)return;for(;T.sibling===null;){if(T.return===null||T.return===c)return;T=T.return,T.tag===H&&(A=!1)}T.sibling.return=T.return,T=T.sibling}}function Nm(f,c,E){b0?D1(f,c,E):Dp(f,c,E),nv(c)}function Id(f,c){if(!b0){switch(c.tag){case L:case se:case me:case ie:{Tc(Of,Eh,c);return}case De:return;case pe:{w1(c),Ra(c);return}case yt:{Ra(c);return}case U:{if(we){var E=c.stateNode;E.hydrate&&(E.hydrate=!1,ge(E.containerInfo))}break}}Mm(c);return}switch(c.tag){case L:case se:case me:case ie:{Tc(Of,Eh,c);return}case O:return;case W:{var T=c.stateNode;if(T!=null){var A=c.memoizedProps,j=f!==null?f.memoizedProps:A,V=c.type,te=c.updateQueue;if(c.updateQueue=null,te!==null&&Su(T,te,V,j,A,c),gi){var le=j.listeners,Be=A.listeners;le!==Be&&hn(Be,c,null)}}return}case ne:{if(c.stateNode===null)throw Error(\"This should have a text node initialized. This error is likely caused by a bug in React. Please file an issue.\");var Ke=c.stateNode,pt=c.memoizedProps,Nt=f!==null?f.memoizedProps:pt;zu(Ke,Nt,pt);return}case U:{if(we){var Gt=c.stateNode;Gt.hydrate&&(Gt.hydrate=!1,ge(Gt.containerInfo))}return}case De:return;case pe:{w1(c),Ra(c);return}case yt:{Ra(c);return}case je:return;case gt:{if(Wt){var zt=c.stateNode;ua(zt)}return}case Xe:{if(Au){var yn=c.stateNode;if(yn.fiber=c,gi){var kr=c.memoizedProps,oi=f!==null?f.memoizedProps:kr,Oi=oi.listeners,L0=kr.listeners;Oi!==L0&&hn(L0,c,null)}}return}default:throw Error(\"This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.\")}}function w1(f){var c=f.memoizedState,E,T=f;if(c===null?E=!1:(E=!0,T=f.child,Op()),b0&&T!==null&&Fd(T,E),Yi&&c!==null){var A=f.memoizedProps.suspenseCallback;if(typeof A==\"function\"){var j=f.updateQueue;j!==null&&A(new Set(j))}else A!==void 0&&Xt(!1,\"Unexpected type for suspenseCallback.\")}}function bl(f,c){if(!!we){var E=c.memoizedState;if(E===null){var T=c.alternate;if(T!==null){var A=T.memoizedState;if(A!==null){var j=A.dehydrated;if(j!==null&&(Re(j),Yi)){var V=f.hydrationCallbacks;if(V!==null){var te=V.onHydrated;te&&te(j)}}}}}}}function Ra(f){var c=f.updateQueue;if(c!==null){f.updateQueue=null;var E=f.stateNode;E===null&&(E=f.stateNode=new Js),c.forEach(function(T){var A=ey.bind(null,f,T);E.has(T)||(bn&&T.__reactDoNotTraceInteractions!==!0&&(A=k.unstable_wrap(A)),E.add(T),T.then(A,A))})}}function iv(f){!b0||qu(f.stateNode)}var Lm=typeof WeakMap==\"function\"?WeakMap:Map;function uv(f,c,E){var T=Cu(E,null);T.tag=Wn,T.payload={element:null};var A=c.value;return T.callback=function(){Zm(A),mp(f,c)},T}function ov(f,c,E){var T=Cu(E,null);T.tag=Wn;var A=f.type.getDerivedStateFromError;if(typeof A==\"function\"){var j=c.value;T.payload=function(){return mp(f,c),A(j)}}var V=f.stateNode;return V!==null&&typeof V.componentDidCatch==\"function\"?T.callback=function(){dc(f),typeof A!=\"function\"&&(Ip(this),mp(f,c));var le=c.value,Be=c.stack;this.componentDidCatch(le,{componentStack:Be!==null?Be:\"\"}),typeof A!=\"function\"&&f.expirationTime!==Un&&We(!1,\"%s: Error boundaries should implement getDerivedStateFromError(). In that method, return a state update to display an error message or fallback UI.\",qt(f.type)||\"Unknown\")}:T.callback=function(){dc(f)},T}function Fm(f,c,E){var T=f.pingCache,A;if(T===null?(T=f.pingCache=new Lm,A=new Set,T.set(E,A)):(A=T.get(E),A===void 0&&(A=new Set,T.set(E,A))),!A.has(c)){A.add(c);var j=bp.bind(null,f,E,c);E.then(j,j)}}function lv(f,c,E,T,A){if(E.effectTag|=P0,E.firstEffect=E.lastEffect=null,T!==null&&typeof T==\"object\"&&typeof T.then==\"function\"){var j=T;ay(E);var V=e1(kl.current,xf),te=c;do{if(te.tag===pe&&N2(te,V)){var le=te.updateQueue;if(le===null){var Be=new Set;Be.add(j),te.updateQueue=Be}else le.add(j);if((te.mode&Y)===Ar){if(te.effectTag|=Xr,E.effectTag&=~(Ps|P0),E.tag===O){var Ke=E.alternate;if(Ke===null)E.tag=je;else{var pt=Cu(Un,null);pt.tag=$t,Va(E,pt)}}E.expirationTime=Un;return}Fm(f,A,j),te.effectTag|=p0,te.expirationTime=A;return}te=te.return}while(te!==null);T=new Error((qt(E.type)||\"A React component\")+` suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.`+Cr(E))}Mp(),T=pp(T,E);var Nt=c;do{switch(Nt.tag){case U:{var Gt=T;Nt.effectTag|=p0,Nt.expirationTime=A;var zt=uv(Nt,Gt,A);od(Nt,zt);return}case O:var yn=T,kr=Nt.type,oi=Nt.stateNode;if((Nt.effectTag&Xr)===xi&&(typeof kr.getDerivedStateFromError==\"function\"||oi!==null&&typeof oi.componentDidCatch==\"function\"&&!Pp(oi))){Nt.effectTag|=p0,Nt.expirationTime=A;var Oi=ov(Nt,yn,A);od(Nt,Oi);return}break;default:break}Nt=Nt.return}while(Nt!==null)}var Aa=Math.ceil,Mr=rt.ReactCurrentDispatcher,wp=rt.ReactCurrentOwner,hl=rt.IsSomeRendererActing,gu=0,S1=1,Ui=2,Sp=4,bd=8,So=16,As=32,bf=0,Bd=1,Tp=2,T1=3,C1=4,Cp=5,nr=gu,vl=null,Gn=null,q0=at,k0=bf,Ud=null,Bl=Un,x1=Un,xc=null,Rc=at,jd=!1,xp=0,N0=500,dn=null,zd=!1,Hd=null,Ac=null,Oc=!1,Mc=null,R1=E0,Rp=at,ef=null,Pm=50,kc=0,qd=null,sv=50,A1=0,Bf=null,Uf=null,O1=at;function Ul(){return(nr&(So|As))!==gu?n0(vt()):(O1!==at||(O1=n0(vt())),O1)}function Nc(){return n0(vt())}function jf(f,c,E){var T=c.mode;if((T&Y)===Ar)return Un;var A=Qt();if((T&ri)===Ar)return A===Li?Un:t0;if((nr&So)!==gu)return q0;var j;if(E!==null)j=fa(f,E.timeoutMs|0||_f);else switch(A){case Li:j=Un;break;case ni:j=Ua(f);break;case Kn:case e0:j=Ds(f);break;case _0:j=ru;break;default:throw Error(\"Expected a valid priority level\")}return vl!==null&&j===q0&&(j-=1),j}function Im(f,c){ty(),uy(f);var E=Wd(f,c);if(E===null){ry(f);return}zp(f,c),la();var T=Qt();if(c===Un?(nr&bd)!==gu&&(nr&(So|As))===gu?(q(E,c),M1(E)):(qo(E),q(E,c),nr===gu&&Bt()):(qo(E),q(E,c)),(nr&Sp)!==gu&&(T===ni||T===Li))if(ef===null)ef=new Map([[E,c]]);else{var A=ef.get(E);(A===void 0||A>c)&&ef.set(E,c)}}var ml=Im;function Wd(f,c){f.expirationTime<c&&(f.expirationTime=c);var E=f.alternate;E!==null&&E.expirationTime<c&&(E.expirationTime=c);var T=f.return,A=null;if(T===null&&f.tag===U)A=f.stateNode;else for(;T!==null;){if(E=T.alternate,T.childExpirationTime<c&&(T.childExpirationTime=c),E!==null&&E.childExpirationTime<c&&(E.childExpirationTime=c),T.return===null&&T.tag===U){A=T.stateNode;break}T=T.return}return A!==null&&(vl===A&&(Xd(c),k0===C1&&Wf(A,q0)),Gg(A,c)),A}function Vd(f){var c=f.lastExpiredTime;if(c!==at)return c;var E=f.firstPendingTime;if(!Vg(f,E))return E;var T=f.lastPingedTime,A=f.nextKnownPendingLevel;return T>A?T:A}function qo(f){var c=f.lastExpiredTime;if(c!==at){f.callbackExpirationTime=Un,f.callbackPriority=Li,f.callbackNode=Tn(M1.bind(null,f));return}var E=Vd(f),T=f.callbackNode;if(E===at){T!==null&&(f.callbackNode=null,f.callbackExpirationTime=at,f.callbackPriority=E0);return}var A=Ul(),j=nd(A,E);if(T!==null){var V=f.callbackPriority,te=f.callbackExpirationTime;if(te===E&&V>=j)return;ir(T)}f.callbackExpirationTime=E,f.callbackPriority=j;var le;E===Un?le=Tn(M1.bind(null,f)):so?le=_n(j,Gd.bind(null,f)):le=_n(j,Gd.bind(null,f),{timeout:Uo(E)-vt()}),f.callbackNode=le}function Gd(f,c){if(O1=at,c){var E=Ul();return Wp(f,E),qo(f),null}var T=Vd(f);if(T!==at){var A=f.callbackNode;if((nr&(So|As))!==gu)throw Error(\"Should not already be working.\");if(tf(),(f!==vl||T!==q0)&&(zf(f,T),ee(f,T)),Gn!==null){var j=nr;nr|=So;var V=pv(f),te=Yd(f);mf(Gn);do try{Ym();break}catch(Ke){dv(f,Ke)}while(!0);if(mt(),nr=j,hv(V),bn&&Kd(te),k0===Bd){var le=Ud;throw jp(),zf(f,T),Wf(f,T),qo(f),le}if(Gn!==null)jp();else{Tv();var Be=f.finishedWork=f.current.alternate;f.finishedExpirationTime=T,bm(f,Be,k0,T)}if(qo(f),f.callbackNode===A)return Gd.bind(null,f)}}return null}function bm(f,c,E,T){switch(vl=null,E){case bf:case Bd:throw Error(\"Root did not complete. This is a bug in React.\");case Tp:{Wp(f,T>ru?ru:T);break}case T1:{Wf(f,T);var A=f.lastSuspendedTime;T===A&&(f.nextKnownPendingLevel=kp(c)),d();var j=Bl===Un;if(j&&!(X0&&qf.current)){var V=xp+N0-vt();if(V>10){if(jd){var te=f.lastPingedTime;if(te===at||te>=T){f.lastPingedTime=T,zf(f,T);break}}var le=Vd(f);if(le!==at&&le!==T)break;if(A!==at&&A!==T){f.lastPingedTime=A;break}f.timeoutHandle=Tt(s0.bind(null,f),V);break}}s0(f);break}case C1:{Wf(f,T);var Be=f.lastSuspendedTime;if(T===Be&&(f.nextKnownPendingLevel=kp(c)),d(),!(X0&&qf.current)){if(jd){var Ke=f.lastPingedTime;if(Ke===at||Ke>=T){f.lastPingedTime=T,zf(f,T);break}}var pt=Vd(f);if(pt!==at&&pt!==T)break;if(Be!==at&&Be!==T){f.lastPingedTime=Be;break}var Nt;if(x1!==Un)Nt=Uo(x1)-vt();else if(Bl===Un)Nt=0;else{var Gt=_v(Bl),zt=vt(),yn=Uo(T)-zt,kr=zt-Gt;kr<0&&(kr=0),Nt=Bp(kr)-kr,yn<Nt&&(Nt=yn)}if(Nt>10){f.timeoutHandle=Tt(s0.bind(null,f),Nt);break}}s0(f);break}case Cp:{if(!(X0&&qf.current)&&Bl!==Un&&xc!==null){var oi=Up(Bl,T,xc);if(oi>10){Wf(f,T),f.timeoutHandle=Tt(s0.bind(null,f),oi);break}}s0(f);break}default:throw Error(\"Unknown root exit status.\")}}function M1(f){var c=f.lastExpiredTime,E=c!==at?c:Un;if(f.finishedExpirationTime===E)s0(f);else{if((nr&(So|As))!==gu)throw Error(\"Should not already be working.\");if(tf(),(f!==vl||E!==q0)&&(zf(f,E),ee(f,E)),Gn!==null){var T=nr;nr|=So;var A=pv(f),j=Yd(f);mf(Gn);do try{Ev();break}catch(te){dv(f,te)}while(!0);if(mt(),nr=T,hv(A),bn&&Kd(j),k0===Bd){var V=Ud;throw jp(),zf(f,E),Wf(f,E),qo(f),V}if(Gn!==null)throw Error(\"Cannot commit an incomplete root. This error is likely caused by a bug in React. Please file an issue.\");Tv(),f.finishedWork=f.current.alternate,f.finishedExpirationTime=E,Bm(f,k0,E),qo(f)}}return null}function Bm(f,c,E){vl=null,(c===T1||c===C1)&&d(),s0(f)}function Um(f,c){Wp(f,c),qo(f),(nr&(So|As))===gu&&Bt()}function av(){if((nr&(S1|So|As))!==gu){(nr&So)!==gu&&Xt(!1,\"unstable_flushDiscreteUpdates: Cannot flush updates when React is already rendering.\");return}zm(),tf()}function jm(f){return Sn(Kn,f)}function fv(f,c,E,T){return Sn(Li,f.bind(null,c,E,T))}function zm(){if(ef!==null){var f=ef;ef=null,f.forEach(function(c,E){Wp(E,c),qo(E)}),Bt()}}function Hm(f,c){var E=nr;nr|=S1;try{return f(c)}finally{nr=E,nr===gu&&Bt()}}function qm(f,c){var E=nr;nr|=Ui;try{return f(c)}finally{nr=E,nr===gu&&Bt()}}function cv(f,c,E,T){var A=nr;nr|=Sp;try{return Sn(ni,f.bind(null,c,E,T))}finally{nr=A,nr===gu&&Bt()}}function Wm(f,c){var E=nr;nr&=~S1,nr|=bd;try{return f(c)}finally{nr=E,nr===gu&&Bt()}}function Ap(f,c){if((nr&(So|As))!==gu)throw Error(\"flushSync was called from inside a lifecycle method. It cannot be called when React is already rendering.\");var E=nr;nr|=S1;try{return Sn(Li,f.bind(null,c))}finally{nr=E,Bt()}}function Vm(f){var c=nr;nr|=S1;try{Sn(Li,f)}finally{nr=c,nr===gu&&Bt()}}function zf(f,c){f.finishedWork=null,f.finishedExpirationTime=at;var E=f.timeoutHandle;if(E!==tl&&(f.timeoutHandle=tl,fo(E)),Gn!==null)for(var T=Gn.return;T!==null;)$h(T),T=T.return;vl=f,Gn=To(f.current,null,c),q0=c,k0=bf,Ud=null,Bl=Un,x1=Un,xc=null,Rc=at,jd=!1,bn&&(Uf=null),Rl.discardPendingWarnings(),Zs=null}function dv(f,c){do{try{if(mt(),_d(),it(),Gn===null||Gn.return===null)return k0=Bd,Ud=c,null;en&&Gn.mode&ii&&d1(Gn,!0),lv(f,Gn.return,Gn,c,q0),Gn=Dv(Gn)}catch(E){c=E;continue}return}while(!0)}function pv(f){var c=Mr.current;return Mr.current=a1,c===null?a1:c}function hv(f){Mr.current=f}function Yd(f){if(bn){var c=k.__interactionsRef.current;return k.__interactionsRef.current=f.memoizedInteractions,c}return null}function Kd(f){bn&&(k.__interactionsRef.current=f)}function Op(){xp=vt()}function vv(f,c){f<Bl&&f>ru&&(Bl=f),c!==null&&f<x1&&f>ru&&(x1=f,xc=c)}function Xd(f){f>Rc&&(Rc=f)}function mv(){k0===bf&&(k0=T1)}function yv(){(k0===bf||k0===T1)&&(k0=C1),Rc!==at&&vl!==null&&(Wf(vl,q0),Gg(vl,Rc))}function Mp(){k0!==Cp&&(k0=Tp)}function gv(){return k0===bf}function _v(f){var c=Uo(f);return c-_f}function Gm(f,c){var E=Uo(f);return E-(c.timeoutMs|0||_f)}function Ev(){for(;Gn!==null;)Gn=Qd(Gn)}function Ym(){for(;Gn!==null&&!Fn();)Gn=Qd(Gn)}function Qd(f){var c=f.alternate;$l(f),Dt(f);var E;return en&&(f.mode&ii)!==Ar?(q2(f),E=k1(c,f,q0),d1(f,!0)):E=k1(c,f,q0),it(),f.memoizedProps=f.pendingProps,E===null&&(E=Dv(f)),wp.current=null,E}function Dv(f){Gn=f;do{var c=Gn.alternate,E=Gn.return;if((Gn.effectTag&P0)===xi){Dt(Gn);var T=void 0;if(!en||(Gn.mode&ii)===Ar?T=Zh(c,Gn,q0):(q2(Gn),T=Zh(c,Gn,q0),d1(Gn,!1)),ei(Gn),it(),Km(Gn),T!==null)return T;if(E!==null&&(E.effectTag&P0)===xi){E.firstEffect===null&&(E.firstEffect=Gn.firstEffect),Gn.lastEffect!==null&&(E.lastEffect!==null&&(E.lastEffect.nextEffect=Gn.firstEffect),E.lastEffect=Gn.lastEffect);var A=Gn.effectTag;A>lu&&(E.lastEffect!==null?E.lastEffect.nextEffect=Gn:E.firstEffect=Gn,E.lastEffect=Gn)}}else{var j=Sm(Gn,q0);if(en&&(Gn.mode&ii)!==Ar){d1(Gn,!1);for(var V=Gn.actualDuration,te=Gn.child;te!==null;)V+=te.actualDuration,te=te.sibling;Gn.actualDuration=V}if(j!==null)return po(Gn),j.effectTag&=Kl,j;ei(Gn),E!==null&&(E.firstEffect=E.lastEffect=null,E.effectTag|=P0)}var le=Gn.sibling;if(le!==null)return le;Gn=E}while(Gn!==null);return k0===bf&&(k0=Cp),null}function kp(f){var c=f.expirationTime,E=f.childExpirationTime;return c>E?c:E}function Km(f){if(!(q0!==Di&&f.childExpirationTime===Di)){var c=at;if(en&&(f.mode&ii)!==Ar){for(var E=f.actualDuration,T=f.selfBaseDuration,A=f.alternate===null||f.child!==f.alternate.child,j=f.child;j!==null;){var V=j.expirationTime,te=j.childExpirationTime;V>c&&(c=V),te>c&&(c=te),A&&(E+=j.actualDuration),T+=j.treeBaseDuration,j=j.sibling}f.actualDuration=E,f.treeBaseDuration=T}else for(var le=f.child;le!==null;){var Be=le.expirationTime,Ke=le.childExpirationTime;Be>c&&(c=Be),Ke>c&&(c=Ke),le=le.sibling}f.childExpirationTime=c}}function s0(f){var c=Qt();return Sn(Li,Np.bind(null,f,c)),null}function Np(f,c){do tf();while(Mc!==null);if(ny(),(nr&(So|As))!==gu)throw Error(\"Should not already be working.\");var E=f.finishedWork,T=f.finishedExpirationTime;if(E===null)return null;if(f.finishedWork=null,f.finishedExpirationTime=at,E===f.current)throw Error(\"Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue.\");f.callbackNode=null,f.callbackExpirationTime=at,f.callbackPriority=E0,f.nextKnownPendingLevel=at,$0();var A=kp(E);j4(f,T,A),f===vl&&(vl=null,Gn=null,q0=at);var j;if(E.effectTag>lu?E.lastEffect!==null?(E.lastEffect.nextEffect=E,j=E.firstEffect):j=E:j=E.firstEffect,j!==null){var V=nr;nr|=As;var te=Yd(f);wp.current=null,Ce(),Hn(f.containerInfo),dn=j;do if(dl(null,Xm,null),tr()){if(dn===null)throw Error(\"Should be working on an effect.\");var le=Qs();Hf(dn,le),dn=dn.nextEffect}while(dn!==null);et(),en&&Oh(),Ye(),dn=j;do if(dl(null,Qm,null,f,c),tr()){if(dn===null)throw Error(\"Should be working on an effect.\");var Be=Qs();Hf(dn,Be),dn=dn.nextEffect}while(dn!==null);Yt(),qr(f.containerInfo),f.current=E,Kt(),dn=j;do if(dl(null,Lp,null,f,T),tr()){if(dn===null)throw Error(\"Should be working on an effect.\");var Ke=Qs();Hf(dn,Ke),dn=dn.nextEffect}while(dn!==null);pr(),dn=null,ae(),bn&&Kd(te),nr=V}else f.current=E,Ce(),et(),en&&Oh(),Ye(),Yt(),Kt(),pr();eo();var pt=Oc;if(Oc)Oc=!1,Mc=f,Rp=T,R1=c;else for(dn=j;dn!==null;){var Nt=dn.nextEffect;dn.nextEffect=null,dn=Nt}var Gt=f.firstPendingTime;if(Gt!==at){if(bn){if(Uf!==null){var zt=Uf;Uf=null;for(var yn=0;yn<zt.length;yn++)P(f,zt[yn],f.memoizedInteractions)}q(f,Gt)}}else Ac=null;if(bn&&(pt||de(f,T)),Gt===Un?f===qd?kc++:(kc=0,qd=f):kc=0,on(E.stateNode,T),qo(f),zd){zd=!1;var kr=Hd;throw Hd=null,kr}return(nr&bd)!==gu||Bt(),null}function Xm(){for(;dn!==null;){var f=dn.effectTag;if((f&Oo)!==xi){Dt(dn),Bo();var c=dn.alternate;gp(c,dn),it()}(f&F0)!==xi&&(Oc||(Oc=!0,_n(Kn,function(){return tf(),null}))),dn=dn.nextEffect}}function Qm(f,c){for(;dn!==null;){Dt(dn);var E=dn.effectTag;if(E&Uu&&iv(dn),E&Ao){var T=dn.alternate;T!==null&&Yu(T)}var A=E&(mi|Dr|G0|su);switch(A){case mi:{Cc(dn),dn.effectTag&=~mi;break}case $o:{Cc(dn),dn.effectTag&=~mi;var j=dn.alternate;Id(j,dn);break}case su:{dn.effectTag&=~su;break}case ki:{dn.effectTag&=~su;var V=dn.alternate;Id(V,dn);break}case Dr:{var te=dn.alternate;Id(te,dn);break}case G0:{Nm(f,dn,c);break}}Bo(),it(),dn=dn.nextEffect}}function Lp(f,c){for(;dn!==null;){Dt(dn);var E=dn.effectTag;if(E&(Dr|Y0)){Bo();var T=dn.alternate;_p(f,T,dn,c)}E&Ao&&(Bo(),bu(dn)),it(),dn=dn.nextEffect}}function tf(){if(R1!==E0){var f=R1>Kn?Kn:R1;return R1=E0,Sn(f,Fp)}}function Fp(){if(Mc===null)return!1;var f=Mc,c=Rp;if(Mc=null,Rp=at,(nr&(So|As))!==gu)throw Error(\"Cannot flush passive effects while already rendering.\");var E=nr;nr|=As;for(var T=Yd(f),A=f.current.firstEffect;A!==null;){{if(Dt(A),dl(null,xa,null,A),tr()){if(A===null)throw Error(\"Should be working on an effect.\");var j=Qs();Hf(A,j)}it()}var V=A.nextEffect;A.nextEffect=null,A=V}return bn&&(Kd(T),de(f,c)),nr=E,Bt(),A1=Mc===null?0:A1+1,!0}function Pp(f){return Ac!==null&&Ac.has(f)}function Ip(f){Ac===null?Ac=new Set([f]):Ac.add(f)}function Jm(f){zd||(zd=!0,Hd=f)}var Zm=Jm;function wv(f,c,E){var T=pp(E,c),A=uv(f,T,Un);Va(f,A);var j=Wd(f,Un);j!==null&&(qo(j),q(j,Un))}function Hf(f,c){if(f.tag===U){wv(f,f,c);return}for(var E=f.return;E!==null;){if(E.tag===U){wv(E,f,c);return}else if(E.tag===O){var T=E.type,A=E.stateNode;if(typeof T.getDerivedStateFromError==\"function\"||typeof A.componentDidCatch==\"function\"&&!Pp(A)){var j=pp(c,f),V=ov(E,j,Un);Va(E,V);var te=Wd(E,Un);te!==null&&(qo(te),q(te,Un));return}}E=E.return}}function bp(f,c,E){var T=f.pingCache;if(T!==null&&T.delete(c),vl===f&&q0===E){k0===C1||k0===T1&&Bl===Un&&vt()-xp<N0?zf(f,q0):jd=!0;return}if(!!Vg(f,E)){var A=f.lastPingedTime;A!==at&&A<E||(f.lastPingedTime=E,f.finishedExpirationTime===E&&(f.finishedExpirationTime=at,f.finishedWork=null),qo(f),q(f,E))}}function Sv(f,c){if(c===at){var E=null,T=Ul();c=jf(T,f,E)}var A=Wd(f,c);A!==null&&(qo(A),q(A,c))}function $m(f){var c=f.memoizedState,E=at;c!==null&&(E=c.retryTime),Sv(f,E)}function ey(f,c){var E=at,T;if(Ai)switch(f.tag){case pe:T=f.stateNode;var A=f.memoizedState;A!==null&&(E=A.retryTime);break;case yt:T=f.stateNode;break;default:throw Error(\"Pinged unknown suspense boundary type. This is probably a bug in React.\")}else T=f.stateNode;T!==null&&T.delete(c),Sv(f,E)}function Bp(f){return f<120?120:f<480?480:f<1080?1080:f<1920?1920:f<3e3?3e3:f<4320?4320:Aa(f/1960)*1960}function Up(f,c,E){var T=E.busyMinDurationMs|0;if(T<=0)return 0;var A=E.busyDelayMs|0,j=vt(),V=Gm(f,E),te=j-V;if(te<=A)return 0;var le=A+T-te;return le}function ty(){if(kc>Pm)throw kc=0,qd=null,Error(\"Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops.\");A1>sv&&(A1=0,Xt(!1,\"Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.\"))}function ny(){Rl.flushLegacyContextWarning(),yi&&Rl.flushPendingUnsafeLifecycleWarnings()}function Tv(){var f=!0;yf(Bf,f),Bf=null}function jp(){var f=!1;yf(Bf,f),Bf=null}function zp(f,c){Hr&&vl!==null&&c>q0&&(Bf=f)}var Jd=null;function ry(f){{var c=f.tag;if(c!==U&&c!==O&&c!==L&&c!==se&&c!==me&&c!==ie)return;var E=qt(f.type)||\"ReactComponent\";if(Jd!==null){if(Jd.has(E))return;Jd.add(E)}else Jd=new Set([E]);We(!1,\"Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in %s.%s\",c===O?\"the componentWillUnmount method\":\"a useEffect cleanup function\",Cr(f))}}var k1;if(K0){var iy=null;k1=function(f,c,E){var T=Wg(iy,c);try{return sp(f,c,E)}catch(j){if(j!==null&&typeof j==\"object\"&&typeof j.then==\"function\")throw j;if(mt(),_d(),$h(c),Wg(c,T),en&&c.mode&ii&&q2(c),dl(null,sp,null,f,c,E),tr()){var A=Qs();throw A}else throw j}}}else k1=sp;var Cv=!1,xv=!1;function uy(f){if(f.tag===O)switch(Nr){case\"getChildContext\":if(xv)return;We(!1,\"setState(...): Cannot call setState() inside getChildContext()\"),xv=!0;break;case\"render\":if(Cv)return;We(!1,\"Cannot update during an existing state transition (such as within `render`). Render methods should be a pure function of props and state.\"),Cv=!0;break}}var qf={current:!1};function Hp(f){vs===!0&&hl.current===!0&&qf.current!==!0&&We(!1,`It looks like you're using the wrong act() around your test interactions.\nBe sure to use the matching version of act() corresponding to your renderer:\n\n// for react-dom:\nimport {act} from 'react-dom/test-utils';\n// ...\nact(() => ...);\n\n// for react-test-renderer:\nimport TestRenderer from 'react-test-renderer';\nconst {act} = TestRenderer;\n// ...\nact(() => ...);%s`,Cr(f))}function Rv(f){vs===!0&&(f.mode&mr)!==Ar&&hl.current===!1&&qf.current===!1&&We(!1,`An update to %s ran an effect, but was not wrapped in act(...).\n\nWhen testing, code that causes React state updates should be wrapped into act(...):\n\nact(() => {\n  /* fire events that update state */\n});\n/* assert on the output */\n\nThis ensures that you're testing the behavior the user would see in the browser. Learn more at https://fb.me/react-wrap-tests-with-act%s`,qt(f.type),Cr(f))}function oy(f){vs===!0&&nr===gu&&hl.current===!1&&qf.current===!1&&We(!1,`An update to %s inside a test was not wrapped in act(...).\n\nWhen testing, code that causes React state updates should be wrapped into act(...):\n\nact(() => {\n  /* fire events that update state */\n});\n/* assert on the output */\n\nThis ensures that you're testing the behavior the user would see in the browser. Learn more at https://fb.me/react-wrap-tests-with-act%s`,qt(f.type),Cr(f))}var ly=oy,qp=!1;function sy(f){qp===!1&&t.unstable_flushAllWithoutAsserting===void 0&&(f.mode&Y||f.mode&ri?(qp=!0,We(!1,`In Concurrent or Sync modes, the \"scheduler\" module needs to be mocked to guarantee consistent behaviour across tests and browsers. For example, with jest: \njest.mock('scheduler', () => require('scheduler/unstable_mock'));\n\nFor more info, visit https://fb.me/react-mock-scheduler`)):eu===!0&&(qp=!0,We(!1,`Starting from React v17, the \"scheduler\" module will need to be mocked to guarantee consistent behaviour across tests and browsers. For example, with jest: \njest.mock('scheduler', () => require('scheduler/unstable_mock'));\n\nFor more info, visit https://fb.me/react-mock-scheduler`)))}var Zs=null;function ay(f){{var c=Qt();if((f.mode&ri)!==xi&&(c===ni||c===Li))for(var E=f;E!==null;){var T=E.alternate;if(T!==null)switch(E.tag){case O:var A=T.updateQueue;if(A!==null)for(var j=A.firstUpdate;j!==null;){var V=j.priority;if(V===ni||V===Li){Zs===null?Zs=new Set([qt(E.type)]):Zs.add(qt(E.type));break}j=j.next}break;case L:case se:case ie:if(E.memoizedState!==null&&E.memoizedState.baseUpdate!==null)for(var te=E.memoizedState.baseUpdate;te!==null;){var le=te.priority;if(le===ni||le===Li){Zs===null?Zs=new Set([qt(E.type)]):Zs.add(qt(E.type));break}if(te.next===E.memoizedState.baseUpdate)break;te=te.next}break;default:break}E=E.return}}}function d(){if(Zs!==null){var f=[];Zs.forEach(function(c){return f.push(c)}),Zs=null,f.length>0&&We(!1,`%s triggered a user-blocking update that suspended.\n\nThe fix is to split the update into multiple parts: a user-blocking update to provide immediate feedback, and another update that triggers the bulk of the changes.\n\nRefer to the documentation for useTransition to learn how to implement this pattern.`,f.sort().join(\", \"))}}function v(f,c){return c*1e3+f.interactionThreadID}function x(f){!bn||(Uf===null?Uf=[f]:Uf.push(f))}function P(f,c,E){if(!!bn&&E.size>0){var T=f.pendingInteractionMap,A=T.get(c);A!=null?E.forEach(function(te){A.has(te)||te.__count++,A.add(te)}):(T.set(c,new Set(E)),E.forEach(function(te){te.__count++}));var j=k.__subscriberRef.current;if(j!==null){var V=v(f,c);j.onWorkScheduled(E,V)}}}function q(f,c){!bn||P(f,c,k.__interactionsRef.current)}function ee(f,c){if(!!bn){var E=new Set;if(f.pendingInteractionMap.forEach(function(j,V){V>=c&&j.forEach(function(te){return E.add(te)})}),f.memoizedInteractions=E,E.size>0){var T=k.__subscriberRef.current;if(T!==null){var A=v(f,c);try{T.onWorkStarted(E,A)}catch(j){_n(Li,function(){throw j})}}}}}function de(f,c){if(!!bn){var E=f.firstPendingTime,T;try{if(T=k.__subscriberRef.current,T!==null&&f.memoizedInteractions.size>0){var A=v(f,c);T.onWorkStopped(f.memoizedInteractions,A)}}catch(V){_n(Li,function(){throw V})}finally{var j=f.pendingInteractionMap;j.forEach(function(V,te){te>E&&(j.delete(te),V.forEach(function(le){if(le.__count--,T!==null&&le.__count===0)try{T.onInteractionScheduledWorkCompleted(le)}catch(Be){_n(Li,function(){throw Be})}}))})}}}var _e=null,Ie=null,Et=!1,St=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!=\"undefined\";function At(f){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__==\"undefined\")return!1;var c=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(c.isDisabled)return!0;if(!c.supportsFiber)return We(!1,\"The installed version of React DevTools is too old and will not work with the current version of React. Please update React DevTools. https://fb.me/react-devtools\"),!0;try{var E=c.inject(f);_e=function(T,A){try{var j=(T.current.effectTag&Xr)===Xr;if(en){var V=Nc(),te=nd(V,A);c.onCommitFiberRoot(E,T,te,j)}else c.onCommitFiberRoot(E,T,void 0,j)}catch(le){Et||(Et=!0,We(!1,\"React DevTools encountered an error: %s\",le))}},Ie=function(T){try{c.onCommitFiberUnmount(E,T)}catch(A){Et||(Et=!0,We(!1,\"React DevTools encountered an error: %s\",A))}}}catch(T){We(!1,\"React DevTools encountered an error: %s.\",T)}return!0}function on(f,c){typeof _e==\"function\"&&_e(f,c)}function kn(f){typeof Ie==\"function\"&&Ie(f)}var rr;{rr=!1;try{var br=Object.preventExtensions({}),ar=new Map([[br,null]]),ui=new Set([br]);ar.set(0,0),ui.add(0)}catch(f){rr=!0}}var di=1;function jl(f,c,E,T){this.tag=f,this.key=E,this.elementType=null,this.type=null,this.stateNode=null,this.return=null,this.child=null,this.sibling=null,this.index=0,this.ref=null,this.pendingProps=c,this.memoizedProps=null,this.updateQueue=null,this.memoizedState=null,this.dependencies=null,this.mode=T,this.effectTag=xi,this.nextEffect=null,this.firstEffect=null,this.lastEffect=null,this.expirationTime=at,this.childExpirationTime=at,this.alternate=null,en&&(this.actualDuration=Number.NaN,this.actualStartTime=Number.NaN,this.selfBaseDuration=Number.NaN,this.treeBaseDuration=Number.NaN,this.actualDuration=0,this.actualStartTime=-1,this.selfBaseDuration=0,this.treeBaseDuration=0),Hr&&(this._debugID=di++,this._debugIsCurrentlyTiming=!1),this._debugSource=null,this._debugOwner=null,this._debugNeedsRemount=!1,this._debugHookTypes=null,!rr&&typeof Object.preventExtensions==\"function\"&&Object.preventExtensions(this)}var Zi=function(f,c,E,T){return new jl(f,c,E,T)};function lo(f){var c=f.prototype;return!!(c&&c.isReactComponent)}function a0(f){return typeof f==\"function\"&&!lo(f)&&f.defaultProps===void 0}function Os(f){if(typeof f==\"function\")return lo(f)?O:L;if(f!=null){var c=f.$$typeof;if(c===Mn)return se;if(c===Vt)return me}return C}function To(f,c,E){var T=f.alternate;T===null?(T=Zi(f.tag,c,f.key,f.mode),T.elementType=f.elementType,T.type=f.type,T.stateNode=f.stateNode,T._debugID=f._debugID,T._debugSource=f._debugSource,T._debugOwner=f._debugOwner,T._debugHookTypes=f._debugHookTypes,T.alternate=f,f.alternate=T):(T.pendingProps=c,T.effectTag=xi,T.nextEffect=null,T.firstEffect=null,T.lastEffect=null,en&&(T.actualDuration=0,T.actualStartTime=-1)),T.childExpirationTime=f.childExpirationTime,T.expirationTime=f.expirationTime,T.child=f.child,T.memoizedProps=f.memoizedProps,T.memoizedState=f.memoizedState,T.updateQueue=f.updateQueue;var A=f.dependencies;switch(T.dependencies=A===null?null:{expirationTime:A.expirationTime,firstContext:A.firstContext,responders:A.responders},T.sibling=f.sibling,T.index=f.index,T.ref=f.ref,en&&(T.selfBaseDuration=f.selfBaseDuration,T.treeBaseDuration=f.treeBaseDuration),T._debugNeedsRemount=f._debugNeedsRemount,T.tag){case C:case L:case ie:T.type=r0(f.type);break;case O:T.type=j0(f.type);break;case se:T.type=Df(f.type);break;default:break}return T}function Av(f,c){f.effectTag&=mi,f.nextEffect=null,f.firstEffect=null,f.lastEffect=null;var E=f.alternate;if(E===null)f.childExpirationTime=at,f.expirationTime=c,f.child=null,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,en&&(f.selfBaseDuration=0,f.treeBaseDuration=0);else{f.childExpirationTime=E.childExpirationTime,f.expirationTime=E.expirationTime,f.child=E.child,f.memoizedProps=E.memoizedProps,f.memoizedState=E.memoizedState,f.updateQueue=E.updateQueue;var T=E.dependencies;f.dependencies=T===null?null:{expirationTime:T.expirationTime,firstContext:T.firstContext,responders:T.responders},en&&(f.selfBaseDuration=E.selfBaseDuration,f.treeBaseDuration=E.treeBaseDuration)}return f}function k4(f){var c;return f===O0?c=ri|Y|mr:f===B0?c=Y|mr:c=Ar,en&&St&&(c|=ii),Zi(U,null,null,c)}function fy(f,c,E,T,A,j){var V,te=C,le=f;if(typeof f==\"function\")lo(f)?(te=O,le=j0(le)):le=r0(le);else if(typeof f==\"string\")te=W;else{e:switch(f){case oe:return nf(E.children,A,j,c);case an:te=he,A|=ri|Y|mr;break;case ze:te=he,A|=mr;break;case ct:return L4(E,A,j,c);case lr:return F4(E,A,j,c);case ln:return P4(E,A,j,c);default:{if(typeof f==\"object\"&&f!==null)switch(f.$$typeof){case Rt:te=ve;break e;case nn:te=Ee;break e;case Mn:te=se,le=Df(le);break e;case Vt:te=me;break e;case Er:te=Oe,le=null;break e;case w:if(Wt)return qg(f,E,A,j,c);break;case Xn:if(Au)return N4(f,E,A,j,c)}var Be=\"\";{(f===void 0||typeof f==\"object\"&&f!==null&&Object.keys(f).length===0)&&(Be+=\" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.\");var Ke=T?qt(T.type):null;Ke&&(Be+=`\n\nCheck the render method of \\``+Ke+\"`.\")}throw Error(\"Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: \"+(f==null?f:typeof f)+\".\"+Be)}}}return V=Zi(te,E,c,A),V.elementType=f,V.type=le,V.expirationTime=j,V}function cy(f,c,E){var T=null;T=f._owner;var A=f.type,j=f.key,V=f.props,te=fy(A,j,V,T,c,E);return te._debugSource=f._source,te._debugOwner=f._owner,te}function nf(f,c,E,T){var A=Zi(m,f,T,c);return A.expirationTime=E,A}function qg(f,c,E,T,A){var j=Zi(gt,c,A,E);return j.elementType=f,j.type=f,j.expirationTime=T,j}function N4(f,c,E,T,A){var j=Zi(Xe,c,A,E);return j.type=f,j.elementType=f,j.expirationTime=T,j}function L4(f,c,E,T){(typeof f.id!=\"string\"||typeof f.onRender!=\"function\")&&We(!1,'Profiler must specify an \"id\" string and \"onRender\" function as props');var A=Zi(De,f,T,c|ii);return A.elementType=ct,A.type=ct,A.expirationTime=E,A}function F4(f,c,E,T){var A=Zi(pe,f,T,c);return A.type=lr,A.elementType=lr,A.expirationTime=E,A}function P4(f,c,E,T){var A=Zi(yt,f,T,c);return A.type=ln,A.elementType=ln,A.expirationTime=E,A}function dy(f,c,E){var T=Zi(ne,f,null,c);return T.expirationTime=E,T}function I4(){var f=Zi(W,null,null,Ar);return f.elementType=\"DELETED\",f.type=\"DELETED\",f}function b4(f){var c=Zi(qe,null,null,Ar);return c.stateNode=f,c}function py(f,c,E){var T=f.children!==null?f.children:[],A=Zi(H,T,f.key,c);return A.expirationTime=E,A.stateNode={containerInfo:f.containerInfo,pendingChildren:null,implementation:f.implementation},A}function Wg(f,c){return f===null&&(f=Zi(C,null,null,Ar)),f.tag=c.tag,f.key=c.key,f.elementType=c.elementType,f.type=c.type,f.stateNode=c.stateNode,f.return=c.return,f.child=c.child,f.sibling=c.sibling,f.index=c.index,f.ref=c.ref,f.pendingProps=c.pendingProps,f.memoizedProps=c.memoizedProps,f.updateQueue=c.updateQueue,f.memoizedState=c.memoizedState,f.dependencies=c.dependencies,f.mode=c.mode,f.effectTag=c.effectTag,f.nextEffect=c.nextEffect,f.firstEffect=c.firstEffect,f.lastEffect=c.lastEffect,f.expirationTime=c.expirationTime,f.childExpirationTime=c.childExpirationTime,f.alternate=c.alternate,en&&(f.actualDuration=c.actualDuration,f.actualStartTime=c.actualStartTime,f.selfBaseDuration=c.selfBaseDuration,f.treeBaseDuration=c.treeBaseDuration),f._debugID=c._debugID,f._debugSource=c._debugSource,f._debugOwner=c._debugOwner,f._debugIsCurrentlyTiming=c._debugIsCurrentlyTiming,f._debugNeedsRemount=c._debugNeedsRemount,f._debugHookTypes=c._debugHookTypes,f}function B4(f,c,E){this.tag=c,this.current=null,this.containerInfo=f,this.pendingChildren=null,this.pingCache=null,this.finishedExpirationTime=at,this.finishedWork=null,this.timeoutHandle=tl,this.context=null,this.pendingContext=null,this.hydrate=E,this.callbackNode=null,this.callbackPriority=E0,this.firstPendingTime=at,this.firstSuspendedTime=at,this.lastSuspendedTime=at,this.nextKnownPendingLevel=at,this.lastPingedTime=at,this.lastExpiredTime=at,bn&&(this.interactionThreadID=k.unstable_getThreadID(),this.memoizedInteractions=new Set,this.pendingInteractionMap=new Map),Yi&&(this.hydrationCallbacks=null)}function U4(f,c,E,T){var A=new B4(f,c,E);Yi&&(A.hydrationCallbacks=T);var j=k4(c);return A.current=j,j.stateNode=A,A}function Vg(f,c){var E=f.firstSuspendedTime,T=f.lastSuspendedTime;return E!==at&&E>=c&&T<=c}function Wf(f,c){var E=f.firstSuspendedTime,T=f.lastSuspendedTime;E<c&&(f.firstSuspendedTime=c),(T>c||E===at)&&(f.lastSuspendedTime=c),c<=f.lastPingedTime&&(f.lastPingedTime=at),c<=f.lastExpiredTime&&(f.lastExpiredTime=at)}function Gg(f,c){var E=f.firstPendingTime;c>E&&(f.firstPendingTime=c);var T=f.firstSuspendedTime;T!==at&&(c>=T?f.firstSuspendedTime=f.lastSuspendedTime=f.nextKnownPendingLevel=at:c>=f.lastSuspendedTime&&(f.lastSuspendedTime=c+1),c>f.nextKnownPendingLevel&&(f.nextKnownPendingLevel=c))}function j4(f,c,E){f.firstPendingTime=E,c<=f.lastSuspendedTime?f.firstSuspendedTime=f.lastSuspendedTime=f.nextKnownPendingLevel=at:c<=f.firstSuspendedTime&&(f.firstSuspendedTime=c-1),c<=f.lastPingedTime&&(f.lastPingedTime=at),c<=f.lastExpiredTime&&(f.lastExpiredTime=at)}function Wp(f,c){var E=f.lastExpiredTime;(E===at||E>c)&&(f.lastExpiredTime=c)}var z4={debugTool:null},Ov=z4,hy,vy;hy=!1,vy={};function H4(f){if(!f)return Rn;var c=Ft(f),E=Cl(c);if(c.tag===O){var T=c.type;if(Xi(T))return A0(c,T,E)}return E}function my(f){var c=Ft(f);if(c===void 0)throw typeof f.render==\"function\"?Error(\"Unable to find node on an unmounted component.\"):Error(\"Argument appears to not be a ReactComponent. Keys: \"+Object.keys(f));var E=I0(c);return E===null?null:E.stateNode}function q4(f,c){{var E=Ft(f);if(E===void 0)throw typeof f.render==\"function\"?Error(\"Unable to find node on an unmounted component.\"):Error(\"Argument appears to not be a ReactComponent. Keys: \"+Object.keys(f));var T=I0(E);if(T===null)return null;if(T.mode&mr){var A=qt(E.type)||\"Component\";vy[A]||(vy[A]=!0,E.mode&mr?We(!1,\"%s is deprecated in StrictMode. %s was passed an instance of %s which is inside StrictMode. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://fb.me/react-strict-mode-find-node%s\",c,c,A,Cr(T)):We(!1,\"%s is deprecated in StrictMode. %s was passed an instance of %s which renders StrictMode children. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://fb.me/react-strict-mode-find-node%s\",c,c,A,Cr(T)))}return T.stateNode}return my(f)}function W4(f,c,E,T){return U4(f,c,E,T)}function Yg(f,c,E,T){var A=c.current,j=Ul();typeof jest!=\"undefined\"&&(sy(A),Hp(A));var V=go(),te=jf(j,A,V);Ov.debugTool&&(A.alternate===null?Ov.debugTool.onMountContainer(c):f===null?Ov.debugTool.onUnmountContainer(c):Ov.debugTool.onUpdateContainer(c));var le=H4(E);c.context===null?c.context=le:c.pendingContext=le,Nr===\"render\"&&An!==null&&!hy&&(hy=!0,We(!1,`Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate.\n\nCheck the render method of %s.`,qt(An.type)||\"Unknown\"));var Be=Cu(te,V);return Be.payload={element:f},T=T===void 0?null:T,T!==null&&(typeof T!=\"function\"&&We(!1,\"render(...): Expected the last optional `callback` argument to be a function. Instead received: %s.\",T),Be.callback=T),Va(A,Be),ml(A,te),te}function V4(f){var c=f.current;if(!c.child)return null;switch(c.child.tag){case W:return No(c.child.stateNode);default:return c.child.stateNode}}function G4(f){switch(f.tag){case U:var c=f.stateNode;c.hydrate&&Um(c,c.firstPendingTime);break;case pe:Ap(function(){return ml(f,Un)});var E=Ua(Ul());Mv(f,E);break}}function Kg(f,c){var E=f.memoizedState;E!==null&&E.dehydrated!==null&&E.retryTime<c&&(E.retryTime=c)}function Mv(f,c){Kg(f,c);var E=f.alternate;E&&Kg(E,c)}function Y4(f){if(f.tag===pe){var c=Ua(Ul());ml(f,c),Mv(f,c)}}function yy(f){if(f.tag===pe){var c=E2(Ul());ml(f,c),Mv(f,c)}}function K4(f){if(f.tag===pe){var c=Ul(),E=jf(c,f,null);ml(f,E),Mv(f,E)}}function X4(f){var c=wl(f);return c===null?null:c.tag===gt?c.stateNode.instance:c.stateNode}var gy=function(f){return!1};function Xg(f){return gy(f)}var Qg=null,Jg=null,Zg=null,$g=null;{var _y=function(f,c,E,T){if(E>=c.length)return T;var A=c[E],j=Array.isArray(f)?f.slice():a({},f);return j[A]=_y(f[A],c,E+1,T),j},e_=function(f,c,E){return _y(f,c,0,E)};Qg=function(f,c,E,T){for(var A=f.memoizedState;A!==null&&c>0;)A=A.next,c--;if(A!==null){var j=e_(A.memoizedState,E,T);A.memoizedState=j,A.baseState=j,f.memoizedProps=a({},f.memoizedProps),ml(f,Un)}},Jg=function(f,c,E){f.pendingProps=e_(f.memoizedProps,c,E),f.alternate&&(f.alternate.pendingProps=f.pendingProps),ml(f,Un)},Zg=function(f){ml(f,Un)},$g=function(f){gy=f}}function Q4(f){var c=f.findFiberByHostInstance,E=rt.ReactCurrentDispatcher;return At(a({},f,{overrideHookState:Qg,overrideProps:Jg,setSuspenseHandler:$g,scheduleUpdate:Zg,currentDispatcherRef:E,findHostInstanceByFiber:function(T){var A=I0(T);return A===null?null:A.stateNode},findFiberByHostInstance:function(T){return c?c(T):null},findHostInstancesForRefresh:ud,scheduleRefresh:Al,scheduleRoot:Ts,setRefreshHandler:qa,getCurrentFiber:function(){return An}}))}var t_=Object.freeze({createContainer:W4,updateContainer:Yg,batchedEventUpdates:qm,batchedUpdates:Hm,unbatchedUpdates:Wm,deferredUpdates:jm,syncUpdates:fv,discreteUpdates:cv,flushDiscreteUpdates:av,flushControlled:Vm,flushSync:Ap,flushPassiveEffects:tf,IsThisRendererActing:qf,getPublicRootInstance:V4,attemptSynchronousHydration:G4,attemptUserBlockingHydration:Y4,attemptContinuousHydration:yy,attemptHydrationAtCurrentPriority:K4,findHostInstance:my,findHostInstanceWithWarning:q4,findHostInstanceWithNoPortals:X4,shouldSuspend:Xg,injectIntoDevTools:Q4}),J4=t_.default||t_;qy.exports=J4;var Z4=qy.exports;return qy.exports=i,Z4})});var IS=tt((RH,vD)=>{\"use strict\";process.env.NODE_ENV===\"production\"?vD.exports=MS():vD.exports=PS()});var BS=tt((AH,bS)=>{\"use strict\";var AP={ALIGN_COUNT:8,ALIGN_AUTO:0,ALIGN_FLEX_START:1,ALIGN_CENTER:2,ALIGN_FLEX_END:3,ALIGN_STRETCH:4,ALIGN_BASELINE:5,ALIGN_SPACE_BETWEEN:6,ALIGN_SPACE_AROUND:7,DIMENSION_COUNT:2,DIMENSION_WIDTH:0,DIMENSION_HEIGHT:1,DIRECTION_COUNT:3,DIRECTION_INHERIT:0,DIRECTION_LTR:1,DIRECTION_RTL:2,DISPLAY_COUNT:2,DISPLAY_FLEX:0,DISPLAY_NONE:1,EDGE_COUNT:9,EDGE_LEFT:0,EDGE_TOP:1,EDGE_RIGHT:2,EDGE_BOTTOM:3,EDGE_START:4,EDGE_END:5,EDGE_HORIZONTAL:6,EDGE_VERTICAL:7,EDGE_ALL:8,EXPERIMENTAL_FEATURE_COUNT:1,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:0,FLEX_DIRECTION_COUNT:4,FLEX_DIRECTION_COLUMN:0,FLEX_DIRECTION_COLUMN_REVERSE:1,FLEX_DIRECTION_ROW:2,FLEX_DIRECTION_ROW_REVERSE:3,JUSTIFY_COUNT:6,JUSTIFY_FLEX_START:0,JUSTIFY_CENTER:1,JUSTIFY_FLEX_END:2,JUSTIFY_SPACE_BETWEEN:3,JUSTIFY_SPACE_AROUND:4,JUSTIFY_SPACE_EVENLY:5,LOG_LEVEL_COUNT:6,LOG_LEVEL_ERROR:0,LOG_LEVEL_WARN:1,LOG_LEVEL_INFO:2,LOG_LEVEL_DEBUG:3,LOG_LEVEL_VERBOSE:4,LOG_LEVEL_FATAL:5,MEASURE_MODE_COUNT:3,MEASURE_MODE_UNDEFINED:0,MEASURE_MODE_EXACTLY:1,MEASURE_MODE_AT_MOST:2,NODE_TYPE_COUNT:2,NODE_TYPE_DEFAULT:0,NODE_TYPE_TEXT:1,OVERFLOW_COUNT:3,OVERFLOW_VISIBLE:0,OVERFLOW_HIDDEN:1,OVERFLOW_SCROLL:2,POSITION_TYPE_COUNT:2,POSITION_TYPE_RELATIVE:0,POSITION_TYPE_ABSOLUTE:1,PRINT_OPTIONS_COUNT:3,PRINT_OPTIONS_LAYOUT:1,PRINT_OPTIONS_STYLE:2,PRINT_OPTIONS_CHILDREN:4,UNIT_COUNT:4,UNIT_UNDEFINED:0,UNIT_POINT:1,UNIT_PERCENT:2,UNIT_AUTO:3,WRAP_COUNT:3,WRAP_NO_WRAP:0,WRAP_WRAP:1,WRAP_WRAP_REVERSE:2};bS.exports=AP});var HS=tt((OH,US)=>{\"use strict\";var OP=Object.assign||function(i){for(var o=1;o<arguments.length;o++){var a=arguments[o];for(var p in a)Object.prototype.hasOwnProperty.call(a,p)&&(i[p]=a[p])}return i},B_=function(){function i(o,a){for(var p=0;p<a.length;p++){var _=a[p];_.enumerable=_.enumerable||!1,_.configurable=!0,\"value\"in _&&(_.writable=!0),Object.defineProperty(o,_.key,_)}}return function(o,a,p){return a&&i(o.prototype,a),p&&i(o,p),o}}();function mD(i,o,a){return o in i?Object.defineProperty(i,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[o]=a,i}function yD(i,o){if(!(i instanceof o))throw new TypeError(\"Cannot call a class as a function\")}var tc=BS(),MP=function(){function i(o,a,p,_,t,k){yD(this,i),this.left=o,this.right=a,this.top=p,this.bottom=_,this.width=t,this.height=k}return B_(i,[{key:\"fromJS\",value:function(a){a(this.left,this.right,this.top,this.bottom,this.width,this.height)}},{key:\"toString\",value:function(){return\"<Layout#\"+this.left+\":\"+this.right+\";\"+this.top+\":\"+this.bottom+\";\"+this.width+\":\"+this.height+\">\"}}]),i}(),jS=function(){B_(i,null,[{key:\"fromJS\",value:function(a){var p=a.width,_=a.height;return new i(p,_)}}]);function i(o,a){yD(this,i),this.width=o,this.height=a}return B_(i,[{key:\"fromJS\",value:function(a){a(this.width,this.height)}},{key:\"toString\",value:function(){return\"<Size#\"+this.width+\"x\"+this.height+\">\"}}]),i}(),zS=function(){function i(o,a){yD(this,i),this.unit=o,this.value=a}return B_(i,[{key:\"fromJS\",value:function(a){a(this.unit,this.value)}},{key:\"toString\",value:function(){switch(this.unit){case tc.UNIT_POINT:return String(this.value);case tc.UNIT_PERCENT:return this.value+\"%\";case tc.UNIT_AUTO:return\"auto\";default:return this.value+\"?\"}}},{key:\"valueOf\",value:function(){return this.value}}]),i}();US.exports=function(i,o){function a(k,L,O){var C=k[L];k[L]=function(){for(var U=arguments.length,H=Array(U),W=0;W<U;W++)H[W]=arguments[W];return O.call.apply(O,[this,C].concat(H))}}for(var p=[\"setPosition\",\"setMargin\",\"setFlexBasis\",\"setWidth\",\"setHeight\",\"setMinWidth\",\"setMinHeight\",\"setMaxWidth\",\"setMaxHeight\",\"setPadding\"],_=function(){var L,O=p[t],C=(L={},mD(L,tc.UNIT_POINT,o.Node.prototype[O]),mD(L,tc.UNIT_PERCENT,o.Node.prototype[O+\"Percent\"]),mD(L,tc.UNIT_AUTO,o.Node.prototype[O+\"Auto\"]),L);a(o.Node.prototype,O,function(U){for(var H=arguments.length,W=Array(H>1?H-1:0),ne=1;ne<H;ne++)W[ne-1]=arguments[ne];var m=W.pop(),he=void 0,Ee=void 0;if(m===\"auto\")he=tc.UNIT_AUTO,Ee=void 0;else if(m instanceof zS)he=m.unit,Ee=m.valueOf();else if(he=typeof m==\"string\"&&m.endsWith(\"%\")?tc.UNIT_PERCENT:tc.UNIT_POINT,Ee=parseFloat(m),!Number.isNaN(m)&&Number.isNaN(Ee))throw new Error(\"Invalid value \"+m+\" for \"+O);if(!C[he])throw new Error('Failed to execute \"'+O+`\": Unsupported unit '`+m+\"'\");if(Ee!==void 0){var ve;return(ve=C[he]).call.apply(ve,[this].concat(W,[Ee]))}else{var se;return(se=C[he]).call.apply(se,[this].concat(W))}})},t=0;t<p.length;t++)_();return a(o.Config.prototype,\"free\",function(){o.Config.destroy(this)}),a(o.Node,\"create\",function(k,L){return L?o.Node.createWithConfig(L):o.Node.createDefault()}),a(o.Node.prototype,\"free\",function(){o.Node.destroy(this)}),a(o.Node.prototype,\"freeRecursive\",function(){for(var k=0,L=this.getChildCount();k<L;++k)this.getChild(0).freeRecursive();this.free()}),a(o.Node.prototype,\"setMeasureFunc\",function(k,L){return L?k.call(this,function(){return jS.fromJS(L.apply(void 0,arguments))}):this.unsetMeasureFunc()}),a(o.Node.prototype,\"calculateLayout\",function(k){var L=arguments.length>1&&arguments[1]!==void 0?arguments[1]:NaN,O=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,C=arguments.length>3&&arguments[3]!==void 0?arguments[3]:tc.DIRECTION_LTR;return k.call(this,L,O,C)}),OP({Config:o.Config,Node:o.Node,Layout:i(\"Layout\",MP),Size:i(\"Size\",jS),Value:i(\"Value\",zS),getInstanceCount:function(){return o.getInstanceCount.apply(o,arguments)}},tc)}});var qS=tt((exports,module)=>{(function(i,o){typeof define==\"function\"&&define.amd?define([],function(){return o}):typeof module==\"object\"&&module.exports?module.exports=o:(i.nbind=i.nbind||{}).init=o})(exports,function(Module,cb){typeof Module==\"function\"&&(cb=Module,Module={}),Module.onRuntimeInitialized=function(i,o){return function(){i&&i.apply(this,arguments);try{Module.ccall(\"nbind_init\")}catch(a){o(a);return}o(null,{bind:Module._nbind_value,reflect:Module.NBind.reflect,queryType:Module.NBind.queryType,toggleLightGC:Module.toggleLightGC,lib:Module})}}(Module.onRuntimeInitialized,cb);var Module;Module||(Module=(typeof Module!=\"undefined\"?Module:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!1,ENVIRONMENT_IS_NODE=!1,ENVIRONMENT_IS_SHELL=!1;if(Module.ENVIRONMENT)if(Module.ENVIRONMENT===\"WEB\")ENVIRONMENT_IS_WEB=!0;else if(Module.ENVIRONMENT===\"WORKER\")ENVIRONMENT_IS_WORKER=!0;else if(Module.ENVIRONMENT===\"NODE\")ENVIRONMENT_IS_NODE=!0;else if(Module.ENVIRONMENT===\"SHELL\")ENVIRONMENT_IS_SHELL=!0;else throw new Error(\"The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.\");else ENVIRONMENT_IS_WEB=typeof window==\"object\",ENVIRONMENT_IS_WORKER=typeof importScripts==\"function\",ENVIRONMENT_IS_NODE=typeof process==\"object\"&&typeof require==\"function\"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=console.log),Module.printErr||(Module.printErr=console.warn);var nodeFS,nodePath;Module.read=function(o,a){nodeFS||(nodeFS={}(\"\")),nodePath||(nodePath={}(\"\")),o=nodePath.normalize(o);var p=nodeFS.readFileSync(o);return a?p:p.toString()},Module.readBinary=function(o){var a=Module.read(o,!0);return a.buffer||(a=new Uint8Array(a)),assert(a.buffer),a},Module.load=function(o){globalEval(read(o))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\\\/g,\"/\"):Module.thisProgram=\"unknown-program\"),Module.arguments=process.argv.slice(2),typeof module!=\"undefined\"&&(module.exports=Module),Module.inspect=function(){return\"[Emscripten Module object]\"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),typeof printErr!=\"undefined\"&&(Module.printErr=printErr),typeof read!=\"undefined\"?Module.read=read:Module.read=function(){throw\"no read() available\"},Module.readBinary=function(o){if(typeof readbuffer==\"function\")return new Uint8Array(readbuffer(o));var a=read(o,\"binary\");return assert(typeof a==\"object\"),a},typeof scriptArgs!=\"undefined\"?Module.arguments=scriptArgs:typeof arguments!=\"undefined\"&&(Module.arguments=arguments),typeof quit==\"function\"&&(Module.quit=function(i,o){quit(i)});else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(Module.read=function(o){var a=new XMLHttpRequest;return a.open(\"GET\",o,!1),a.send(null),a.responseText},ENVIRONMENT_IS_WORKER&&(Module.readBinary=function(o){var a=new XMLHttpRequest;return a.open(\"GET\",o,!1),a.responseType=\"arraybuffer\",a.send(null),new Uint8Array(a.response)}),Module.readAsync=function(o,a,p){var _=new XMLHttpRequest;_.open(\"GET\",o,!0),_.responseType=\"arraybuffer\",_.onload=function(){_.status==200||_.status==0&&_.response?a(_.response):p()},_.onerror=p,_.send(null)},typeof arguments!=\"undefined\"&&(Module.arguments=arguments),typeof console!=\"undefined\")Module.print||(Module.print=function(o){console.log(o)}),Module.printErr||(Module.printErr=function(o){console.warn(o)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&typeof dump!=\"undefined\"?function(i){dump(i)}:function(i){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),typeof Module.setWindowTitle==\"undefined\"&&(Module.setWindowTitle=function(i){document.title=i})}else throw\"Unknown runtime environment. Where are we?\";function globalEval(i){eval.call(null,i)}!Module.load&&Module.read&&(Module.load=function(o){globalEval(Module.read(o))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram=\"./this.program\"),Module.quit||(Module.quit=function(i,o){throw o}),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[];for(var key in moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);moduleOverrides=void 0;var Runtime={setTempRet0:function(i){return tempRet0=i,i},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(i){STACKTOP=i},getNativeTypeSize:function(i){switch(i){case\"i1\":case\"i8\":return 1;case\"i16\":return 2;case\"i32\":return 4;case\"i64\":return 8;case\"float\":return 4;case\"double\":return 8;default:{if(i[i.length-1]===\"*\")return Runtime.QUANTUM_SIZE;if(i[0]===\"i\"){var o=parseInt(i.substr(1));return assert(o%8==0),o/8}else return 0}}},getNativeFieldSize:function(i){return Math.max(Runtime.getNativeTypeSize(i),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(i,o){return o===\"double\"||o===\"i64\"?i&7&&(assert((i&7)==4),i+=4):assert((i&3)==0),i},getAlignSize:function(i,o,a){return!a&&(i==\"i64\"||i==\"double\")?8:i?Math.min(o||(i?Runtime.getNativeFieldSize(i):0),Runtime.QUANTUM_SIZE):Math.min(o,8)},dynCall:function(i,o,a){return a&&a.length?Module[\"dynCall_\"+i].apply(null,[o].concat(a)):Module[\"dynCall_\"+i].call(null,o)},functionPointers:[],addFunction:function(i){for(var o=0;o<Runtime.functionPointers.length;o++)if(!Runtime.functionPointers[o])return Runtime.functionPointers[o]=i,2*(1+o);throw\"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.\"},removeFunction:function(i){Runtime.functionPointers[(i-2)/2]=null},warnOnce:function(i){Runtime.warnOnce.shown||(Runtime.warnOnce.shown={}),Runtime.warnOnce.shown[i]||(Runtime.warnOnce.shown[i]=1,Module.printErr(i))},funcWrappers:{},getFuncWrapper:function(i,o){if(!!i){assert(o),Runtime.funcWrappers[o]||(Runtime.funcWrappers[o]={});var a=Runtime.funcWrappers[o];return a[i]||(o.length===1?a[i]=function(){return Runtime.dynCall(o,i)}:o.length===2?a[i]=function(_){return Runtime.dynCall(o,i,[_])}:a[i]=function(){return Runtime.dynCall(o,i,Array.prototype.slice.call(arguments))}),a[i]}},getCompilerSetting:function(i){throw\"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work\"},stackAlloc:function(i){var o=STACKTOP;return STACKTOP=STACKTOP+i|0,STACKTOP=STACKTOP+15&-16,o},staticAlloc:function(i){var o=STATICTOP;return STATICTOP=STATICTOP+i|0,STATICTOP=STATICTOP+15&-16,o},dynamicAlloc:function(i){var o=HEAP32[DYNAMICTOP_PTR>>2],a=(o+i+15|0)&-16;if(HEAP32[DYNAMICTOP_PTR>>2]=a,a>=TOTAL_MEMORY){var p=enlargeMemory();if(!p)return HEAP32[DYNAMICTOP_PTR>>2]=o,0}return o},alignMemory:function(i,o){var a=i=Math.ceil(i/(o||16))*(o||16);return a},makeBigInt:function(i,o,a){var p=a?+(i>>>0)+ +(o>>>0)*4294967296:+(i>>>0)+ +(o|0)*4294967296;return p},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var ABORT=0,EXITSTATUS=0;function assert(i,o){i||abort(\"Assertion failed: \"+o)}function getCFunc(ident){var func=Module[\"_\"+ident];if(!func)try{func=eval(\"_\"+ident)}catch(i){}return assert(func,\"Cannot call unknown function \"+ident+\" (perhaps LLVM optimizations or closure removed it?)\"),func}var cwrap,ccall;(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(i){var o=Runtime.stackAlloc(i.length);return writeArrayToMemory(i,o),o},stringToC:function(i){var o=0;if(i!=null&&i!==0){var a=(i.length<<2)+1;o=Runtime.stackAlloc(a),stringToUTF8(i,o,a)}return o}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(o,a,p,_,t){var k=getCFunc(o),L=[],O=0;if(_)for(var C=0;C<_.length;C++){var U=toC[p[C]];U?(O===0&&(O=Runtime.stackSave()),L[C]=U(_[C])):L[C]=_[C]}var H=k.apply(null,L);if(a===\"string\"&&(H=Pointer_stringify(H)),O!==0){if(t&&t.async){EmterpreterAsync.asyncFinalizers.push(function(){Runtime.stackRestore(O)});return}Runtime.stackRestore(O)}return H};var sourceRegex=/^function\\s*[a-zA-Z$_0-9]*\\s*\\(([^)]*)\\)\\s*{\\s*([^*]*?)[\\s;]*(?:return\\s*(.*?)[;\\s]*)?}$/;function parseJSFunc(i){var o=i.toString().match(sourceRegex).slice(1);return{arguments:o[0],body:o[1],returnValue:o[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var i in JSfuncs)JSfuncs.hasOwnProperty(i)&&(JSsource[i]=parseJSFunc(JSfuncs[i]))}}cwrap=function(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident),numericArgs=argTypes.every(function(i){return i===\"number\"}),numericRet=returnType!==\"string\";if(numericRet&&numericArgs)return cfunc;var argNames=argTypes.map(function(i,o){return\"$\"+o}),funcstr=\"(function(\"+argNames.join(\",\")+\") {\",nargs=argTypes.length;if(!numericArgs){ensureJSsource(),funcstr+=\"var stack = \"+JSsource.stackSave.body+\";\";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type!==\"number\"){var convertCode=JSsource[type+\"ToC\"];funcstr+=\"var \"+convertCode.arguments+\" = \"+arg+\";\",funcstr+=convertCode.body+\";\",funcstr+=arg+\"=(\"+convertCode.returnValue+\");\"}}}var cfuncname=parseJSFunc(function(){return cfunc}).returnValue;if(funcstr+=\"var ret = \"+cfuncname+\"(\"+argNames.join(\",\")+\");\",!numericRet){var strgfy=parseJSFunc(function(){return Pointer_stringify}).returnValue;funcstr+=\"ret = \"+strgfy+\"(ret);\"}return numericArgs||(ensureJSsource(),funcstr+=JSsource.stackRestore.body.replace(\"()\",\"(stack)\")+\";\"),funcstr+=\"return ret})\",eval(funcstr)}})(),Module.ccall=ccall,Module.cwrap=cwrap;function setValue(i,o,a,p){switch(a=a||\"i8\",a.charAt(a.length-1)===\"*\"&&(a=\"i32\"),a){case\"i1\":HEAP8[i>>0]=o;break;case\"i8\":HEAP8[i>>0]=o;break;case\"i16\":HEAP16[i>>1]=o;break;case\"i32\":HEAP32[i>>2]=o;break;case\"i64\":tempI64=[o>>>0,(tempDouble=o,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[i>>2]=tempI64[0],HEAP32[i+4>>2]=tempI64[1];break;case\"float\":HEAPF32[i>>2]=o;break;case\"double\":HEAPF64[i>>3]=o;break;default:abort(\"invalid type for setValue: \"+a)}}Module.setValue=setValue;function getValue(i,o,a){switch(o=o||\"i8\",o.charAt(o.length-1)===\"*\"&&(o=\"i32\"),o){case\"i1\":return HEAP8[i>>0];case\"i8\":return HEAP8[i>>0];case\"i16\":return HEAP16[i>>1];case\"i32\":return HEAP32[i>>2];case\"i64\":return HEAP32[i>>2];case\"float\":return HEAPF32[i>>2];case\"double\":return HEAPF64[i>>3];default:abort(\"invalid type for setValue: \"+o)}return null}Module.getValue=getValue;var ALLOC_NORMAL=0,ALLOC_STACK=1,ALLOC_STATIC=2,ALLOC_DYNAMIC=3,ALLOC_NONE=4;Module.ALLOC_NORMAL=ALLOC_NORMAL,Module.ALLOC_STACK=ALLOC_STACK,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=ALLOC_DYNAMIC,Module.ALLOC_NONE=ALLOC_NONE;function allocate(i,o,a,p){var _,t;typeof i==\"number\"?(_=!0,t=i):(_=!1,t=i.length);var k=typeof o==\"string\"?o:null,L;if(a==ALLOC_NONE?L=p:L=[typeof _malloc==\"function\"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][a===void 0?ALLOC_STATIC:a](Math.max(t,k?1:o.length)),_){var p=L,O;for(assert((L&3)==0),O=L+(t&~3);p<O;p+=4)HEAP32[p>>2]=0;for(O=L+t;p<O;)HEAP8[p++>>0]=0;return L}if(k===\"i8\")return i.subarray||i.slice?HEAPU8.set(i,L):HEAPU8.set(new Uint8Array(i),L),L;for(var C=0,U,H,W;C<t;){var ne=i[C];if(typeof ne==\"function\"&&(ne=Runtime.getFunctionIndex(ne)),U=k||o[C],U===0){C++;continue}U==\"i64\"&&(U=\"i32\"),setValue(L+C,ne,U),W!==U&&(H=Runtime.getNativeTypeSize(U),W=U),C+=H}return L}Module.allocate=allocate;function getMemory(i){return staticSealed?runtimeInitialized?_malloc(i):Runtime.dynamicAlloc(i):Runtime.staticAlloc(i)}Module.getMemory=getMemory;function Pointer_stringify(i,o){if(o===0||!i)return\"\";for(var a=0,p,_=0;p=HEAPU8[i+_>>0],a|=p,!(p==0&&!o||(_++,o&&_==o)););o||(o=_);var t=\"\";if(a<128){for(var k=1024,L;o>0;)L=String.fromCharCode.apply(String,HEAPU8.subarray(i,i+Math.min(o,k))),t=t?t+L:L,i+=k,o-=k;return t}return Module.UTF8ToString(i)}Module.Pointer_stringify=Pointer_stringify;function AsciiToString(i){for(var o=\"\";;){var a=HEAP8[i++>>0];if(!a)return o;o+=String.fromCharCode(a)}}Module.AsciiToString=AsciiToString;function stringToAscii(i,o){return writeAsciiToMemory(i,o,!1)}Module.stringToAscii=stringToAscii;var UTF8Decoder=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf8\"):void 0;function UTF8ArrayToString(i,o){for(var a=o;i[a];)++a;if(a-o>16&&i.subarray&&UTF8Decoder)return UTF8Decoder.decode(i.subarray(o,a));for(var p,_,t,k,L,O,C=\"\";;){if(p=i[o++],!p)return C;if(!(p&128)){C+=String.fromCharCode(p);continue}if(_=i[o++]&63,(p&224)==192){C+=String.fromCharCode((p&31)<<6|_);continue}if(t=i[o++]&63,(p&240)==224?p=(p&15)<<12|_<<6|t:(k=i[o++]&63,(p&248)==240?p=(p&7)<<18|_<<12|t<<6|k:(L=i[o++]&63,(p&252)==248?p=(p&3)<<24|_<<18|t<<12|k<<6|L:(O=i[o++]&63,p=(p&1)<<30|_<<24|t<<18|k<<12|L<<6|O))),p<65536)C+=String.fromCharCode(p);else{var U=p-65536;C+=String.fromCharCode(55296|U>>10,56320|U&1023)}}}Module.UTF8ArrayToString=UTF8ArrayToString;function UTF8ToString(i){return UTF8ArrayToString(HEAPU8,i)}Module.UTF8ToString=UTF8ToString;function stringToUTF8Array(i,o,a,p){if(!(p>0))return 0;for(var _=a,t=a+p-1,k=0;k<i.length;++k){var L=i.charCodeAt(k);if(L>=55296&&L<=57343&&(L=65536+((L&1023)<<10)|i.charCodeAt(++k)&1023),L<=127){if(a>=t)break;o[a++]=L}else if(L<=2047){if(a+1>=t)break;o[a++]=192|L>>6,o[a++]=128|L&63}else if(L<=65535){if(a+2>=t)break;o[a++]=224|L>>12,o[a++]=128|L>>6&63,o[a++]=128|L&63}else if(L<=2097151){if(a+3>=t)break;o[a++]=240|L>>18,o[a++]=128|L>>12&63,o[a++]=128|L>>6&63,o[a++]=128|L&63}else if(L<=67108863){if(a+4>=t)break;o[a++]=248|L>>24,o[a++]=128|L>>18&63,o[a++]=128|L>>12&63,o[a++]=128|L>>6&63,o[a++]=128|L&63}else{if(a+5>=t)break;o[a++]=252|L>>30,o[a++]=128|L>>24&63,o[a++]=128|L>>18&63,o[a++]=128|L>>12&63,o[a++]=128|L>>6&63,o[a++]=128|L&63}}return o[a]=0,a-_}Module.stringToUTF8Array=stringToUTF8Array;function stringToUTF8(i,o,a){return stringToUTF8Array(i,HEAPU8,o,a)}Module.stringToUTF8=stringToUTF8;function lengthBytesUTF8(i){for(var o=0,a=0;a<i.length;++a){var p=i.charCodeAt(a);p>=55296&&p<=57343&&(p=65536+((p&1023)<<10)|i.charCodeAt(++a)&1023),p<=127?++o:p<=2047?o+=2:p<=65535?o+=3:p<=2097151?o+=4:p<=67108863?o+=5:o+=6}return o}Module.lengthBytesUTF8=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf-16le\"):void 0;function demangle(i){var o=Module.___cxa_demangle||Module.__cxa_demangle;if(o){try{var a=i.substr(1),p=lengthBytesUTF8(a)+1,_=_malloc(p);stringToUTF8(a,_,p);var t=_malloc(4),k=o(_,0,0,t);if(getValue(t,\"i32\")===0&&k)return Pointer_stringify(k)}catch(L){}finally{_&&_free(_),t&&_free(t),k&&_free(k)}return i}return Runtime.warnOnce(\"warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling\"),i}function demangleAll(i){var o=/__Z[\\w\\d_]+/g;return i.replace(o,function(a){var p=demangle(a);return a===p?a:a+\" [\"+p+\"]\"})}function jsStackTrace(){var i=new Error;if(!i.stack){try{throw new Error(0)}catch(o){i=o}if(!i.stack)return\"(no stack trace available)\"}return i.stack.toString()}function stackTrace(){var i=jsStackTrace();return Module.extraStackTrace&&(i+=`\n`+Module.extraStackTrace()),demangleAll(i)}Module.stackTrace=stackTrace;var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed,STACK_BASE,STACKTOP,STACK_MAX,DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0,staticSealed=!1;function abortOnCannotGrowMemory(){abort(\"Cannot enlarge memory arrays. Either (1) compile with  -s TOTAL_MEMORY=X  with X higher than the current value \"+TOTAL_MEMORY+\", (2) compile with  -s ALLOW_MEMORY_GROWTH=1  which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with  -s ABORTING_MALLOC=0 \")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||134217728;TOTAL_MEMORY<TOTAL_STACK&&Module.printErr(\"TOTAL_MEMORY should be larger than TOTAL_STACK, was \"+TOTAL_MEMORY+\"! (TOTAL_STACK=\"+TOTAL_STACK+\")\"),Module.buffer?buffer=Module.buffer:buffer=new ArrayBuffer(TOTAL_MEMORY),updateGlobalBufferViews();function getTotalMemory(){return TOTAL_MEMORY}if(HEAP32[0]=1668509029,HEAP16[1]=25459,HEAPU8[2]!==115||HEAPU8[3]!==99)throw\"Runtime error: expected the system to be little-endian!\";Module.HEAP=HEAP,Module.buffer=buffer,Module.HEAP8=HEAP8,Module.HEAP16=HEAP16,Module.HEAP32=HEAP32,Module.HEAPU8=HEAPU8,Module.HEAPU16=HEAPU16,Module.HEAPU32=HEAPU32,Module.HEAPF32=HEAPF32,Module.HEAPF64=HEAPF64;function callRuntimeCallbacks(i){for(;i.length>0;){var o=i.shift();if(typeof o==\"function\"){o();continue}var a=o.func;typeof a==\"number\"?o.arg===void 0?Module.dynCall_v(a):Module.dynCall_vi(a,o.arg):a(o.arg===void 0?null:o.arg)}}var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for(typeof Module.preRun==\"function\"&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for(typeof Module.postRun==\"function\"&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(i){__ATPRERUN__.unshift(i)}Module.addOnPreRun=addOnPreRun;function addOnInit(i){__ATINIT__.unshift(i)}Module.addOnInit=addOnInit;function addOnPreMain(i){__ATMAIN__.unshift(i)}Module.addOnPreMain=addOnPreMain;function addOnExit(i){__ATEXIT__.unshift(i)}Module.addOnExit=addOnExit;function addOnPostRun(i){__ATPOSTRUN__.unshift(i)}Module.addOnPostRun=addOnPostRun;function intArrayFromString(i,o,a){var p=a>0?a:lengthBytesUTF8(i)+1,_=new Array(p),t=stringToUTF8Array(i,_,0,_.length);return o&&(_.length=t),_}Module.intArrayFromString=intArrayFromString;function intArrayToString(i){for(var o=[],a=0;a<i.length;a++){var p=i[a];p>255&&(p&=255),o.push(String.fromCharCode(p))}return o.join(\"\")}Module.intArrayToString=intArrayToString;function writeStringToMemory(i,o,a){Runtime.warnOnce(\"writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!\");var p,_;a&&(_=o+lengthBytesUTF8(i),p=HEAP8[_]),stringToUTF8(i,o,Infinity),a&&(HEAP8[_]=p)}Module.writeStringToMemory=writeStringToMemory;function writeArrayToMemory(i,o){HEAP8.set(i,o)}Module.writeArrayToMemory=writeArrayToMemory;function writeAsciiToMemory(i,o,a){for(var p=0;p<i.length;++p)HEAP8[o++>>0]=i.charCodeAt(p);a||(HEAP8[o>>0]=0)}if(Module.writeAsciiToMemory=writeAsciiToMemory,(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function(o,a){var p=o>>>16,_=o&65535,t=a>>>16,k=a&65535;return _*k+(p*k+_*t<<16)|0}),Math.imul=Math.imul,!Math.fround){var froundBuffer=new Float32Array(1);Math.fround=function(i){return froundBuffer[0]=i,froundBuffer[0]}}Math.fround=Math.fround,Math.clz32||(Math.clz32=function(i){i=i>>>0;for(var o=0;o<32;o++)if(i&1<<31-o)return o;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(i){return i<0?Math.ceil(i):Math.floor(i)}),Math.trunc=Math.trunc;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_round=Math.round,Math_min=Math.min,Math_clz32=Math.clz32,Math_trunc=Math.trunc,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(i){return i}function addRunDependency(i){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}Module.addRunDependency=addRunDependency;function removeRunDependency(i){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),runDependencies==0&&(runDependencyWatcher!==null&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var o=dependenciesFulfilled;dependenciesFulfilled=null,o()}}Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var ASM_CONSTS=[function(i,o,a,p,_,t,k,L){return _nbind.callbackSignatureList[i].apply(this,arguments)}];function _emscripten_asm_const_iiiiiiii(i,o,a,p,_,t,k,L){return ASM_CONSTS[i](o,a,p,_,t,k,L)}function _emscripten_asm_const_iiiii(i,o,a,p,_){return ASM_CONSTS[i](o,a,p,_)}function _emscripten_asm_const_iiidddddd(i,o,a,p,_,t,k,L,O){return ASM_CONSTS[i](o,a,p,_,t,k,L,O)}function _emscripten_asm_const_iiididi(i,o,a,p,_,t,k){return ASM_CONSTS[i](o,a,p,_,t,k)}function _emscripten_asm_const_iiii(i,o,a,p){return ASM_CONSTS[i](o,a,p)}function _emscripten_asm_const_iiiid(i,o,a,p,_){return ASM_CONSTS[i](o,a,p,_)}function _emscripten_asm_const_iiiiii(i,o,a,p,_,t){return ASM_CONSTS[i](o,a,p,_,t)}STATIC_BASE=Runtime.GLOBAL_BASE,STATICTOP=STATIC_BASE+12800,__ATINIT__.push({func:function(){__GLOBAL__sub_I_Yoga_cpp()}},{func:function(){__GLOBAL__sub_I_nbind_cc()}},{func:function(){__GLOBAL__sub_I_common_cc()}},{func:function(){__GLOBAL__sub_I_Binding_cc()}}),allocate([0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,128,191,0,0,128,191,0,0,192,127,0,0,0,0,0,0,0,0,0,0,128,63,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,190,12,0,0,200,12,0,0,208,12,0,0,216,12,0,0,230,12,0,0,242,12,0,0,1,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,0,0,192,127,3,0,0,0,180,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,182,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,183,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,184,45,0,0,185,45,0,0,181,45,0,0,181,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,148,4,0,0,3,0,0,0,187,45,0,0,164,4,0,0,188,45,0,0,2,0,0,0,189,45,0,0,164,4,0,0,188,45,0,0,185,45,0,0,164,4,0,0,185,45,0,0,164,4,0,0,188,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,183,45,0,0,182,45,0,0,181,45,0,0,190,45,0,0,190,45,0,0,182,45,0,0,182,45,0,0,185,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,185,45,0,0,48,5,0,0,3,0,0,0,56,5,0,0,1,0,0,0,189,45,0,0,185,45,0,0,164,4,0,0,76,5,0,0,2,0,0,0,191,45,0,0,186,45,0,0,182,45,0,0,185,45,0,0,192,45,0,0,185,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,76,5,0,0,76,5,0,0,136,5,0,0,182,45,0,0,181,45,0,0,2,0,0,0,190,45,0,0,136,5,0,0,56,19,0,0,156,5,0,0,2,0,0,0,184,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,10,0,0,0,204,5,0,0,181,45,0,0,181,45,0,0,2,0,0,0,180,45,0,0,204,5,0,0,2,0,0,0,195,45,0,0,236,5,0,0,97,19,0,0,198,45,0,0,211,45,0,0,212,45,0,0,213,45,0,0,214,45,0,0,215,45,0,0,188,45,0,0,182,45,0,0,216,45,0,0,217,45,0,0,218,45,0,0,219,45,0,0,192,45,0,0,181,45,0,0,0,0,0,0,185,45,0,0,110,19,0,0,186,45,0,0,115,19,0,0,221,45,0,0,120,19,0,0,148,4,0,0,132,19,0,0,96,6,0,0,145,19,0,0,222,45,0,0,164,19,0,0,223,45,0,0,173,19,0,0,0,0,0,0,3,0,0,0,104,6,0,0,1,0,0,0,187,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,11,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,185,45,0,0,224,45,0,0,164,6,0,0,188,45,0,0,172,6,0,0,180,6,0,0,2,0,0,0,188,6,0,0,7,0,0,0,224,45,0,0,7,0,0,0,164,6,0,0,1,0,0,0,213,45,0,0,185,45,0,0,224,45,0,0,172,6,0,0,185,45,0,0,224,45,0,0,164,6,0,0,185,45,0,0,224,45,0,0,211,45,0,0,211,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,172,6,0,0,222,45,0,0,211,45,0,0,224,45,0,0,188,45,0,0,222,45,0,0,211,45,0,0,40,7,0,0,188,45,0,0,2,0,0,0,224,45,0,0,185,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,222,45,0,0,224,45,0,0,148,4,0,0,185,45,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,185,45,0,0,164,6,0,0,148,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,16,0,0,0,148,7,0,0,2,0,0,0,225,45,0,0,183,45,0,0,188,45,0,0,168,7,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,234,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,9,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,242,45,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,110,111,100,101,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,119,104,105,99,104,32,115,116,105,108,108,32,104,97,115,32,99,104,105,108,100,114,101,110,32,97,116,116,97,99,104,101,100,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,115,116,105,108,108,32,97,116,116,97,99,104,101,100,32,116,111,32,97,32,112,97,114,101,110,116,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,99,111,110,102,105,103,0,67,97,110,110,111,116,32,115,101,116,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,67,104,105,108,100,32,97,108,114,101,97,100,121,32,104,97,115,32,97,32,112,97,114,101,110,116,44,32,105,116,32,109,117,115,116,32,98,101,32,114,101,109,111,118,101,100,32,102,105,114,115,116,46,0,67,97,110,110,111,116,32,97,100,100,32,99,104,105,108,100,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,79,110,108,121,32,108,101,97,102,32,110,111,100,101,115,32,119,105,116,104,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,115,104,111,117,108,100,32,109,97,110,117,97,108,108,121,32,109,97,114,107,32,116,104,101,109,115,101,108,118,101,115,32,97,115,32,100,105,114,116,121,0,67,97,110,110,111,116,32,103,101,116,32,108,97,121,111,117,116,32,112,114,111,112,101,114,116,105,101,115,32,111,102,32,109,117,108,116,105,45,101,100,103,101,32,115,104,111,114,116,104,97,110,100,115,0,37,115,37,100,46,123,91,115,107,105,112,112,101,100,93,32,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,61,62,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,37,115,37,100,46,123,37,115,0,42,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,37,115,10,0,37,115,37,100,46,125,37,115,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,79,117,116,32,111,102,32,99,97,99,104,101,32,101,110,116,114,105,101,115,33,10,0,83,99,97,108,101,32,102,97,99,116,111,114,32,115,104,111,117,108,100,32,110,111,116,32,98,101,32,108,101,115,115,32,116,104,97,110,32,122,101,114,111,0,105,110,105,116,105,97,108,0,37,115,10,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,85,78,68,69,70,73,78,69,68,0,69,88,65,67,84,76,89,0,65,84,95,77,79,83,84,0,76,65,89,95,85,78,68,69,70,73,78,69,68,0,76,65,89,95,69,88,65,67,84,76,89,0,76,65,89,95,65,84,95,77,79,83,84,0,97,118,97,105,108,97,98,108,101,87,105,100,116,104,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,119,105,100,116,104,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,97,118,97,105,108,97,98,108,101,72,101,105,103,104,116,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,104,101,105,103,104,116,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,102,108,101,120,0,115,116,114,101,116,99,104,0,109,117,108,116,105,108,105,110,101,45,115,116,114,101,116,99,104,0,69,120,112,101,99,116,101,100,32,110,111,100,101,32,116,111,32,104,97,118,101,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,0,109,101,97,115,117,114,101,0,69,120,112,101,99,116,32,99,117,115,116,111,109,32,98,97,115,101,108,105,110,101,32,102,117,110,99,116,105,111,110,32,116,111,32,110,111,116,32,114,101,116,117,114,110,32,78,97,78,0,97,98,115,45,109,101,97,115,117,114,101,0,97,98,115,45,108,97,121,111,117,116,0,78,111,100,101,0,99,114,101,97,116,101,68,101,102,97,117,108,116,0,99,114,101,97,116,101,87,105,116,104,67,111,110,102,105,103,0,100,101,115,116,114,111,121,0,114,101,115,101,116,0,99,111,112,121,83,116,121,108,101,0,115,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,115,101,116,80,111,115,105,116,105,111,110,0,115,101,116,80,111,115,105,116,105,111,110,80,101,114,99,101,110,116,0,115,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,115,101,116,65,108,105,103,110,73,116,101,109,115,0,115,101,116,65,108,105,103,110,83,101,108,102,0,115,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,115,101,116,70,108,101,120,87,114,97,112,0,115,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,115,101,116,77,97,114,103,105,110,0,115,101,116,77,97,114,103,105,110,80,101,114,99,101,110,116,0,115,101,116,77,97,114,103,105,110,65,117,116,111,0,115,101,116,79,118,101,114,102,108,111,119,0,115,101,116,68,105,115,112,108,97,121,0,115,101,116,70,108,101,120,0,115,101,116,70,108,101,120,66,97,115,105,115,0,115,101,116,70,108,101,120,66,97,115,105,115,80,101,114,99,101,110,116,0,115,101,116,70,108,101,120,71,114,111,119,0,115,101,116,70,108,101,120,83,104,114,105,110,107,0,115,101,116,87,105,100,116,104,0,115,101,116,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,87,105,100,116,104,65,117,116,111,0,115,101,116,72,101,105,103,104,116,0,115,101,116,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,72,101,105,103,104,116,65,117,116,111,0,115,101,116,77,105,110,87,105,100,116,104,0,115,101,116,77,105,110,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,105,110,72,101,105,103,104,116,0,115,101,116,77,105,110,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,77,97,120,87,105,100,116,104,0,115,101,116,77,97,120,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,97,120,72,101,105,103,104,116,0,115,101,116,77,97,120,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,65,115,112,101,99,116,82,97,116,105,111,0,115,101,116,66,111,114,100,101,114,0,115,101,116,80,97,100,100,105,110,103,0,115,101,116,80,97,100,100,105,110,103,80,101,114,99,101,110,116,0,103,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,103,101,116,80,111,115,105,116,105,111,110,0,103,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,103,101,116,65,108,105,103,110,73,116,101,109,115,0,103,101,116,65,108,105,103,110,83,101,108,102,0,103,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,103,101,116,70,108,101,120,87,114,97,112,0,103,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,103,101,116,77,97,114,103,105,110,0,103,101,116,70,108,101,120,66,97,115,105,115,0,103,101,116,70,108,101,120,71,114,111,119,0,103,101,116,70,108,101,120,83,104,114,105,110,107,0,103,101,116,87,105,100,116,104,0,103,101,116,72,101,105,103,104,116,0,103,101,116,77,105,110,87,105,100,116,104,0,103,101,116,77,105,110,72,101,105,103,104,116,0,103,101,116,77,97,120,87,105,100,116,104,0,103,101,116,77,97,120,72,101,105,103,104,116,0,103,101,116,65,115,112,101,99,116,82,97,116,105,111,0,103,101,116,66,111,114,100,101,114,0,103,101,116,79,118,101,114,102,108,111,119,0,103,101,116,68,105,115,112,108,97,121,0,103,101,116,80,97,100,100,105,110,103,0,105,110,115,101,114,116,67,104,105,108,100,0,114,101,109,111,118,101,67,104,105,108,100,0,103,101,116,67,104,105,108,100,67,111,117,110,116,0,103,101,116,80,97,114,101,110,116,0,103,101,116,67,104,105,108,100,0,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,117,110,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,109,97,114,107,68,105,114,116,121,0,105,115,68,105,114,116,121,0,99,97,108,99,117,108,97,116,101,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,76,101,102,116,0,103,101,116,67,111,109,112,117,116,101,100,82,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,84,111,112,0,103,101,116,67,111,109,112,117,116,101,100,66,111,116,116,111,109,0,103,101,116,67,111,109,112,117,116,101,100,87,105,100,116,104,0,103,101,116,67,111,109,112,117,116,101,100,72,101,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,77,97,114,103,105,110,0,103,101,116,67,111,109,112,117,116,101,100,66,111,114,100,101,114,0,103,101,116,67,111,109,112,117,116,101,100,80,97,100,100,105,110,103,0,67,111,110,102,105,103,0,99,114,101,97,116,101,0,115,101,116,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,115,101,116,80,111,105,110,116,83,99,97,108,101,70,97,99,116,111,114,0,105,115,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,86,97,108,117,101,0,76,97,121,111,117,116,0,83,105,122,101,0,103,101,116,73,110,115,116,97,110,99,101,67,111,117,110,116,0,73,110,116,54,52,0,1,1,1,2,2,4,4,4,4,8,8,4,8,118,111,105,100,0,98,111,111,108,0,115,116,100,58,58,115,116,114,105,110,103,0,99,98,70,117,110,99,116,105,111,110,32,38,0,99,111,110,115,116,32,99,98,70,117,110,99,116,105,111,110,32,38,0,69,120,116,101,114,110,97,108,0,66,117,102,102,101,114,0,78,66,105,110,100,73,68,0,78,66,105,110,100,0,98,105,110,100,95,118,97,108,117,101,0,114,101,102,108,101,99,116,0,113,117,101,114,121,84,121,112,101,0,108,97,108,108,111,99,0,108,114,101,115,101,116,0,123,114,101,116,117,114,110,40,95,110,98,105,110,100,46,99,97,108,108,98,97,99,107,83,105,103,110,97,116,117,114,101,76,105,115,116,91,36,48,93,46,97,112,112,108,121,40,116,104,105,115,44,97,114,103,117,109,101,110,116,115,41,41,59,125,0,95,110,98,105,110,100,95,110,101,119,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0],\"i8\",ALLOC_NONE,Runtime.GLOBAL_BASE);var tempDoublePtr=STATICTOP;STATICTOP+=16;function _atexit(i,o){__ATEXIT__.unshift({func:i,arg:o})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}function _abort(){Module.abort()}function __ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj(){Module.printErr(\"missing function: _ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj\"),abort(-1)}function __decorate(i,o,a,p){var _=arguments.length,t=_<3?o:p===null?p=Object.getOwnPropertyDescriptor(o,a):p,k;if(typeof Reflect==\"object\"&&typeof Reflect.decorate==\"function\")t=Reflect.decorate(i,o,a,p);else for(var L=i.length-1;L>=0;L--)(k=i[L])&&(t=(_<3?k(t):_>3?k(o,a,t):k(o,a))||t);return _>3&&t&&Object.defineProperty(o,a,t),t}function _defineHidden(i){return function(o,a){Object.defineProperty(o,a,{configurable:!1,enumerable:!1,value:i,writable:!0})}}var _nbind={};function __nbind_free_external(i){_nbind.externalList[i].dereference(i)}function __nbind_reference_external(i){_nbind.externalList[i].reference()}function _llvm_stackrestore(i){var o=_llvm_stacksave,a=o.LLVM_SAVEDSTACKS[i];o.LLVM_SAVEDSTACKS.splice(i,1),Runtime.stackRestore(a)}function __nbind_register_pool(i,o,a,p){_nbind.Pool.pageSize=i,_nbind.Pool.usedPtr=o/4,_nbind.Pool.rootPtr=a,_nbind.Pool.pagePtr=p/4,HEAP32[o/4]=16909060,HEAP8[o]==1&&(_nbind.bigEndian=!0),HEAP32[o/4]=0,_nbind.makeTypeKindTbl=(t={},t[1024]=_nbind.PrimitiveType,t[64]=_nbind.Int64Type,t[2048]=_nbind.BindClass,t[3072]=_nbind.BindClassPtr,t[4096]=_nbind.SharedClassPtr,t[5120]=_nbind.ArrayType,t[6144]=_nbind.ArrayType,t[7168]=_nbind.CStringType,t[9216]=_nbind.CallbackType,t[10240]=_nbind.BindType,t),_nbind.makeTypeNameTbl={Buffer:_nbind.BufferType,External:_nbind.ExternalType,Int64:_nbind.Int64Type,_nbind_new:_nbind.CreateValueType,bool:_nbind.BooleanType,\"cbFunction &\":_nbind.CallbackType,\"const cbFunction &\":_nbind.CallbackType,\"const std::string &\":_nbind.StringType,\"std::string\":_nbind.StringType},Module.toggleLightGC=_nbind.toggleLightGC,_nbind.callUpcast=Module.dynCall_ii;var _=_nbind.makeType(_nbind.constructType,{flags:2048,id:0,name:\"\"});_.proto=Module,_nbind.BindClass.list.push(_);var t}function _emscripten_set_main_loop_timing(i,o){if(Browser.mainLoop.timingMode=i,Browser.mainLoop.timingValue=o,!Browser.mainLoop.func)return 1;if(i==0)Browser.mainLoop.scheduler=function(){var k=Math.max(0,Browser.mainLoop.tickStartTime+o-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,k)},Browser.mainLoop.method=\"timeout\";else if(i==1)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method=\"rAF\";else if(i==2){if(!window.setImmediate){let t=function(k){k.source===window&&k.data===p&&(k.stopPropagation(),a.shift()())};var _=t,a=[],p=\"setimmediate\";window.addEventListener(\"message\",t,!0),window.setImmediate=function(L){a.push(L),ENVIRONMENT_IS_WORKER?(Module.setImmediates===void 0&&(Module.setImmediates=[]),Module.setImmediates.push(L),window.postMessage({target:p})):window.postMessage(p,\"*\")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method=\"immediate\"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(i,o,a,p,_){Module.noExitRuntime=!0,assert(!Browser.mainLoop.func,\"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.\"),Browser.mainLoop.func=i,Browser.mainLoop.arg=p;var t;typeof p!=\"undefined\"?t=function(){Module.dynCall_vi(i,p)}:t=function(){Module.dynCall_v(i)};var k=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var O=Date.now(),C=Browser.mainLoop.queue.shift();if(C.func(C.arg),Browser.mainLoop.remainingBlockers){var U=Browser.mainLoop.remainingBlockers,H=U%1==0?U-1:Math.floor(U);C.counted?Browser.mainLoop.remainingBlockers=H:(H=H+.5,Browser.mainLoop.remainingBlockers=(8*U+H)/9)}if(console.log('main loop blocker \"'+C.name+'\" took '+(Date.now()-O)+\" ms\"),Browser.mainLoop.updateStatus(),k<Browser.mainLoop.currentlyRunningMainloop)return;setTimeout(Browser.mainLoop.runner,0);return}if(!(k<Browser.mainLoop.currentlyRunningMainloop)){if(Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0,Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else Browser.mainLoop.timingMode==0&&(Browser.mainLoop.tickStartTime=_emscripten_get_now());Browser.mainLoop.method===\"timeout\"&&Module.ctx&&(Module.printErr(\"Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!\"),Browser.mainLoop.method=\"\"),Browser.mainLoop.runIter(t),!(k<Browser.mainLoop.currentlyRunningMainloop)&&(typeof SDL==\"object\"&&SDL.audio&&SDL.audio.queueNewAudioData&&SDL.audio.queueNewAudioData(),Browser.mainLoop.scheduler())}}},_||(o&&o>0?_emscripten_set_main_loop_timing(0,1e3/o):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),a)throw\"SimulateInfiniteLoop\"}var Browser={mainLoop:{scheduler:null,method:\"\",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null,Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var i=Browser.mainLoop.timingMode,o=Browser.mainLoop.timingValue,a=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(a,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(i,o),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var i=Module.statusMessage||\"Please wait...\",o=Browser.mainLoop.remainingBlockers,a=Browser.mainLoop.expectedBlockers;o?o<a?Module.setStatus(i+\" (\"+(a-o)+\"/\"+a+\")\"):Module.setStatus(i):Module.setStatus(\"\")}},runIter:function(i){if(!ABORT){if(Module.preMainLoop){var o=Module.preMainLoop();if(o===!1)return}try{i()}catch(a){if(a instanceof ExitStatus)return;throw a&&typeof a==\"object\"&&a.stack&&Module.printErr(\"exception thrown: \"+[a,a.stack]),a}Module.postMainLoop&&Module.postMainLoop()}}},isFullscreen:!1,pointerLock:!1,moduleContextCreatedCallbacks:[],workers:[],init:function(){if(Module.preloadPlugins||(Module.preloadPlugins=[]),Browser.initted)return;Browser.initted=!0;try{new Blob,Browser.hasBlobConstructor=!0}catch(_){Browser.hasBlobConstructor=!1,console.log(\"warning: no blob constructor, cannot create blobs with mimetypes\")}Browser.BlobBuilder=typeof MozBlobBuilder!=\"undefined\"?MozBlobBuilder:typeof WebKitBlobBuilder!=\"undefined\"?WebKitBlobBuilder:Browser.hasBlobConstructor?null:console.log(\"warning: no BlobBuilder\"),Browser.URLObject=typeof window!=\"undefined\"?window.URL?window.URL:window.webkitURL:void 0,!Module.noImageDecoding&&typeof Browser.URLObject==\"undefined\"&&(console.log(\"warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available.\"),Module.noImageDecoding=!0);var i={};i.canHandle=function(t){return!Module.noImageDecoding&&/\\.(jpg|jpeg|png|bmp)$/i.test(t)},i.handle=function(t,k,L,O){var C=null;if(Browser.hasBlobConstructor)try{C=new Blob([t],{type:Browser.getMimetype(k)}),C.size!==t.length&&(C=new Blob([new Uint8Array(t).buffer],{type:Browser.getMimetype(k)}))}catch(ne){Runtime.warnOnce(\"Blob constructor present but fails: \"+ne+\"; falling back to blob builder\")}if(!C){var U=new Browser.BlobBuilder;U.append(new Uint8Array(t).buffer),C=U.getBlob()}var H=Browser.URLObject.createObjectURL(C),W=new Image;W.onload=function(){assert(W.complete,\"Image \"+k+\" could not be decoded\");var m=document.createElement(\"canvas\");m.width=W.width,m.height=W.height;var he=m.getContext(\"2d\");he.drawImage(W,0,0),Module.preloadedImages[k]=m,Browser.URLObject.revokeObjectURL(H),L&&L(t)},W.onerror=function(m){console.log(\"Image \"+H+\" could not be decoded\"),O&&O()},W.src=H},Module.preloadPlugins.push(i);var o={};o.canHandle=function(t){return!Module.noAudioDecoding&&t.substr(-4)in{\".ogg\":1,\".wav\":1,\".mp3\":1}},o.handle=function(t,k,L,O){var C=!1;function U(he){C||(C=!0,Module.preloadedAudios[k]=he,L&&L(t))}function H(){C||(C=!0,Module.preloadedAudios[k]=new Audio,O&&O())}if(Browser.hasBlobConstructor){try{var W=new Blob([t],{type:Browser.getMimetype(k)})}catch(he){return H()}var ne=Browser.URLObject.createObjectURL(W),m=new Audio;m.addEventListener(\"canplaythrough\",function(){U(m)},!1),m.onerror=function(Ee){if(C)return;console.log(\"warning: browser could not fully decode audio \"+k+\", trying slower base64 approach\");function ve(se){for(var De=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",pe=\"=\",me=\"\",ie=0,Oe=0,je=0;je<se.length;je++)for(ie=ie<<8|se[je],Oe+=8;Oe>=6;){var qe=ie>>Oe-6&63;Oe-=6,me+=De[qe]}return Oe==2?(me+=De[(ie&3)<<4],me+=pe+pe):Oe==4&&(me+=De[(ie&15)<<2],me+=pe),me}m.src=\"data:audio/x-\"+k.substr(-3)+\";base64,\"+ve(t),U(m)},m.src=ne,Browser.safeSetTimeout(function(){U(m)},1e4)}else return H()},Module.preloadPlugins.push(o);function a(){Browser.pointerLock=document.pointerLockElement===Module.canvas||document.mozPointerLockElement===Module.canvas||document.webkitPointerLockElement===Module.canvas||document.msPointerLockElement===Module.canvas}var p=Module.canvas;p&&(p.requestPointerLock=p.requestPointerLock||p.mozRequestPointerLock||p.webkitRequestPointerLock||p.msRequestPointerLock||function(){},p.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},p.exitPointerLock=p.exitPointerLock.bind(document),document.addEventListener(\"pointerlockchange\",a,!1),document.addEventListener(\"mozpointerlockchange\",a,!1),document.addEventListener(\"webkitpointerlockchange\",a,!1),document.addEventListener(\"mspointerlockchange\",a,!1),Module.elementPointerLock&&p.addEventListener(\"click\",function(_){!Browser.pointerLock&&Module.canvas.requestPointerLock&&(Module.canvas.requestPointerLock(),_.preventDefault())},!1))},createContext:function(i,o,a,p){if(o&&Module.ctx&&i==Module.canvas)return Module.ctx;var _,t;if(o){var k={antialias:!1,alpha:!1};if(p)for(var L in p)k[L]=p[L];t=GL.createContext(i,k),t&&(_=GL.getContext(t).GLctx)}else _=i.getContext(\"2d\");return _?(a&&(o||assert(typeof GLctx==\"undefined\",\"cannot set in module if GLctx is used, but we are a non-GL context that would replace it\"),Module.ctx=_,o&&GL.makeContextCurrent(t),Module.useWebGL=o,Browser.moduleContextCreatedCallbacks.forEach(function(O){O()}),Browser.init()),_):null},destroyContext:function(i,o,a){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(i,o,a){Browser.lockPointer=i,Browser.resizeCanvas=o,Browser.vrDevice=a,typeof Browser.lockPointer==\"undefined\"&&(Browser.lockPointer=!0),typeof Browser.resizeCanvas==\"undefined\"&&(Browser.resizeCanvas=!1),typeof Browser.vrDevice==\"undefined\"&&(Browser.vrDevice=null);var p=Module.canvas;function _(){Browser.isFullscreen=!1;var k=p.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===k?(p.exitFullscreen=document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){},p.exitFullscreen=p.exitFullscreen.bind(document),Browser.lockPointer&&p.requestPointerLock(),Browser.isFullscreen=!0,Browser.resizeCanvas&&Browser.setFullscreenCanvasSize()):(k.parentNode.insertBefore(p,k),k.parentNode.removeChild(k),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullscreen),Module.onFullscreen&&Module.onFullscreen(Browser.isFullscreen),Browser.updateCanvasDimensions(p)}Browser.fullscreenHandlersInstalled||(Browser.fullscreenHandlersInstalled=!0,document.addEventListener(\"fullscreenchange\",_,!1),document.addEventListener(\"mozfullscreenchange\",_,!1),document.addEventListener(\"webkitfullscreenchange\",_,!1),document.addEventListener(\"MSFullscreenChange\",_,!1));var t=document.createElement(\"div\");p.parentNode.insertBefore(t,p),t.appendChild(p),t.requestFullscreen=t.requestFullscreen||t.mozRequestFullScreen||t.msRequestFullscreen||(t.webkitRequestFullscreen?function(){t.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(t.webkitRequestFullScreen?function(){t.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),a?t.requestFullscreen({vrDisplay:a}):t.requestFullscreen()},requestFullScreen:function(i,o,a){return Module.printErr(\"Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.\"),Browser.requestFullScreen=function(p,_,t){return Browser.requestFullscreen(p,_,t)},Browser.requestFullscreen(i,o,a)},nextRAF:0,fakeRequestAnimationFrame:function(i){var o=Date.now();if(Browser.nextRAF===0)Browser.nextRAF=o+1e3/60;else for(;o+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var a=Math.max(Browser.nextRAF-o,0);setTimeout(i,a)},requestAnimationFrame:function(o){typeof window==\"undefined\"?Browser.fakeRequestAnimationFrame(o):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(o))},safeCallback:function(i){return function(){if(!ABORT)return i.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var i=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],i.forEach(function(o){o()})}},safeRequestAnimationFrame:function(i){return Browser.requestAnimationFrame(function(){ABORT||(Browser.allowAsyncCallbacks?i():Browser.queuedAsyncCallbacks.push(i))})},safeSetTimeout:function(i,o){return Module.noExitRuntime=!0,setTimeout(function(){ABORT||(Browser.allowAsyncCallbacks?i():Browser.queuedAsyncCallbacks.push(i))},o)},safeSetInterval:function(i,o){return Module.noExitRuntime=!0,setInterval(function(){ABORT||Browser.allowAsyncCallbacks&&i()},o)},getMimetype:function(i){return{jpg:\"image/jpeg\",jpeg:\"image/jpeg\",png:\"image/png\",bmp:\"image/bmp\",ogg:\"audio/ogg\",wav:\"audio/wav\",mp3:\"audio/mpeg\"}[i.substr(i.lastIndexOf(\".\")+1)]},getUserMedia:function(i){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(i)},getMovementX:function(i){return i.movementX||i.mozMovementX||i.webkitMovementX||0},getMovementY:function(i){return i.movementY||i.mozMovementY||i.webkitMovementY||0},getMouseWheelDelta:function(i){var o=0;switch(i.type){case\"DOMMouseScroll\":o=i.detail;break;case\"mousewheel\":o=i.wheelDelta;break;case\"wheel\":o=i.deltaY;break;default:throw\"unrecognized mouse wheel event: \"+i.type}return o},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(i){if(Browser.pointerLock)i.type!=\"mousemove\"&&\"mozMovementX\"in i?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(i),Browser.mouseMovementY=Browser.getMovementY(i)),typeof SDL!=\"undefined\"?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var o=Module.canvas.getBoundingClientRect(),a=Module.canvas.width,p=Module.canvas.height,_=typeof window.scrollX!=\"undefined\"?window.scrollX:window.pageXOffset,t=typeof window.scrollY!=\"undefined\"?window.scrollY:window.pageYOffset;if(i.type===\"touchstart\"||i.type===\"touchend\"||i.type===\"touchmove\"){var k=i.touch;if(k===void 0)return;var L=k.pageX-(_+o.left),O=k.pageY-(t+o.top);L=L*(a/o.width),O=O*(p/o.height);var C={x:L,y:O};if(i.type===\"touchstart\")Browser.lastTouches[k.identifier]=C,Browser.touches[k.identifier]=C;else if(i.type===\"touchend\"||i.type===\"touchmove\"){var U=Browser.touches[k.identifier];U||(U=C),Browser.lastTouches[k.identifier]=U,Browser.touches[k.identifier]=C}return}var H=i.pageX-(_+o.left),W=i.pageY-(t+o.top);H=H*(a/o.width),W=W*(p/o.height),Browser.mouseMovementX=H-Browser.mouseX,Browser.mouseMovementY=W-Browser.mouseY,Browser.mouseX=H,Browser.mouseY=W}},asyncLoad:function(i,o,a,p){var _=p?\"\":getUniqueRunDependency(\"al \"+i);Module.readAsync(i,function(t){assert(t,'Loading data file \"'+i+'\" failed (no arrayBuffer).'),o(new Uint8Array(t)),_&&removeRunDependency(_)},function(t){if(a)a();else throw'Loading data file \"'+i+'\" failed.'}),_&&addRunDependency(_)},resizeListeners:[],updateResizeListeners:function(){var i=Module.canvas;Browser.resizeListeners.forEach(function(o){o(i.width,i.height)})},setCanvasSize:function(i,o,a){var p=Module.canvas;Browser.updateCanvasDimensions(p,i,o),a||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!=\"undefined\"){var i=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];i=i|8388608,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=i}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!=\"undefined\"){var i=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];i=i&~8388608,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=i}Browser.updateResizeListeners()},updateCanvasDimensions:function(i,o,a){o&&a?(i.widthNative=o,i.heightNative=a):(o=i.widthNative,a=i.heightNative);var p=o,_=a;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(p/_<Module.forcedAspectRatio?p=Math.round(_*Module.forcedAspectRatio):_=Math.round(p/Module.forcedAspectRatio)),(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===i.parentNode&&typeof screen!=\"undefined\"){var t=Math.min(screen.width/p,screen.height/_);p=Math.round(p*t),_=Math.round(_*t)}Browser.resizeCanvas?(i.width!=p&&(i.width=p),i.height!=_&&(i.height=_),typeof i.style!=\"undefined\"&&(i.style.removeProperty(\"width\"),i.style.removeProperty(\"height\"))):(i.width!=o&&(i.width=o),i.height!=a&&(i.height=a),typeof i.style!=\"undefined\"&&(p!=o||_!=a?(i.style.setProperty(\"width\",p+\"px\",\"important\"),i.style.setProperty(\"height\",_+\"px\",\"important\")):(i.style.removeProperty(\"width\"),i.style.removeProperty(\"height\"))))},wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function(){var i=Browser.nextWgetRequestHandle;return Browser.nextWgetRequestHandle++,i}},SYSCALLS={varargs:0,get:function(i){SYSCALLS.varargs+=4;var o=HEAP32[SYSCALLS.varargs-4>>2];return o},getStr:function(){var i=Pointer_stringify(SYSCALLS.get());return i},get64:function(){var i=SYSCALLS.get(),o=SYSCALLS.get();return i>=0?assert(o===0):assert(o===-1),i},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall6(i,o){SYSCALLS.varargs=o;try{var a=SYSCALLS.getStreamFromFD();return FS.close(a),0}catch(p){return(typeof FS==\"undefined\"||!(p instanceof FS.ErrnoError))&&abort(p),-p.errno}}function ___syscall54(i,o){SYSCALLS.varargs=o;try{return 0}catch(a){return(typeof FS==\"undefined\"||!(a instanceof FS.ErrnoError))&&abort(a),-a.errno}}function _typeModule(i){var o=[[0,1,\"X\"],[1,1,\"const X\"],[128,1,\"X *\"],[256,1,\"X &\"],[384,1,\"X &&\"],[512,1,\"std::shared_ptr<X>\"],[640,1,\"std::unique_ptr<X>\"],[5120,1,\"std::vector<X>\"],[6144,2,\"std::array<X, Y>\"],[9216,-1,\"std::function<X (Y)>\"]];function a(O,C,U,H,W,ne){if(C==1){var m=H&896;(m==128||m==256||m==384)&&(O=\"X const\")}var he;return ne?he=U.replace(\"X\",O).replace(\"Y\",W):he=O.replace(\"X\",U).replace(\"Y\",W),he.replace(/([*&]) (?=[*&])/g,\"$1\")}function p(O,C,U,H,W){throw new Error(O+\" type \"+U.replace(\"X\",C+\"?\")+(H?\" with flag \"+H:\"\")+\" in \"+W)}function _(O,C,U,H,W,ne,m,he){ne===void 0&&(ne=\"X\"),he===void 0&&(he=1);var Ee=U(O);if(Ee)return Ee;var ve=H(O),se=ve.placeholderFlag,De=o[se];m&&De&&(ne=a(m[2],m[0],ne,De[0],\"?\",!0));var pe;se==0&&(pe=\"Unbound\"),se>=10&&(pe=\"Corrupt\"),he>20&&(pe=\"Deeply nested\"),pe&&p(pe,O,ne,se,W||\"?\");var me=ve.paramList[0],ie=_(me,C,U,H,W,ne,De,he+1),Oe,je={flags:De[0],id:O,name:\"\",paramList:[ie]},qe=[],yt=\"?\";switch(ve.placeholderFlag){case 1:Oe=ie.spec;break;case 2:if((ie.flags&15360)==1024&&ie.spec.ptrSize==1){je.flags=7168;break}case 3:case 6:case 5:Oe=ie.spec,(ie.flags&15360)!=2048;break;case 8:yt=\"\"+ve.paramList[1],je.paramList.push(ve.paramList[1]);break;case 9:for(var gt=0,Xe=ve.paramList[1];gt<Xe.length;gt++){var ut=Xe[gt],We=_(ut,C,U,H,W,ne,De,he+1);qe.push(We.name),je.paramList.push(We)}yt=qe.join(\", \");break;default:break}if(je.name=a(De[2],De[0],ie.name,ie.flags,yt),Oe){for(var Ft=0,Jt=Object.keys(Oe);Ft<Jt.length;Ft++){var rt=Jt[Ft];je[rt]=je[rt]||Oe[rt]}je.flags|=Oe.flags}return t(C,je)}function t(O,C){var U=C.flags,H=U&896,W=U&15360;return!C.name&&W==1024&&(C.ptrSize==1?C.name=(U&16?\"\":(U&8?\"un\":\"\")+\"signed \")+\"char\":C.name=(U&8?\"u\":\"\")+(U&32?\"float\":\"int\")+(C.ptrSize*8+\"_t\")),C.ptrSize==8&&!(U&32)&&(W=64),W==2048&&(H==512||H==640?W=4096:H&&(W=3072)),O(W,C)}var k=function(){function O(C){this.id=C.id,this.name=C.name,this.flags=C.flags,this.spec=C}return O.prototype.toString=function(){return this.name},O}(),L={Type:k,getComplexType:_,makeType:t,structureList:o};return i.output=L,i.output||L}function __nbind_register_type(i,o){var a=_nbind.readAsciiString(o),p={flags:10240,id:i,name:a};_nbind.makeType(_nbind.constructType,p)}function __nbind_register_callback_signature(i,o){var a=_nbind.readTypeIdList(i,o),p=_nbind.callbackSignatureList.length;return _nbind.callbackSignatureList[p]=_nbind.makeJSCaller(a),p}function __extends(i,o){for(var a in o)o.hasOwnProperty(a)&&(i[a]=o[a]);function p(){this.constructor=i}p.prototype=o.prototype,i.prototype=new p}function __nbind_register_class(i,o,a,p,_,t,k){var L=_nbind.readAsciiString(k),O=_nbind.readPolicyList(o),C=HEAPU32.subarray(i/4,i/4+2),U={flags:2048|(O.Value?2:0),id:C[0],name:L},H=_nbind.makeType(_nbind.constructType,U);H.ptrType=_nbind.getComplexType(C[1],_nbind.constructType,_nbind.getType,_nbind.queryType),H.destroy=_nbind.makeMethodCaller(H.ptrType,{boundID:U.id,flags:0,name:\"destroy\",num:0,ptr:t,title:H.name+\".free\",typeList:[\"void\",\"uint32_t\",\"uint32_t\"]}),_&&(H.superIdList=Array.prototype.slice.call(HEAPU32.subarray(a/4,a/4+_)),H.upcastList=Array.prototype.slice.call(HEAPU32.subarray(p/4,p/4+_))),Module[H.name]=H.makeBound(O),_nbind.BindClass.list.push(H)}function _removeAccessorPrefix(i){var o=/^[Gg]et_?([A-Z]?([A-Z]?))/;return i.replace(o,function(a,p,_){return _?p:p.toLowerCase()})}function __nbind_register_function(i,o,a,p,_,t,k,L,O,C){var U=_nbind.getType(i),H=_nbind.readPolicyList(o),W=_nbind.readTypeIdList(a,p),ne;if(k==5)ne=[{direct:_,name:\"__nbindConstructor\",ptr:0,title:U.name+\" constructor\",typeList:[\"uint32_t\"].concat(W.slice(1))},{direct:t,name:\"__nbindValueConstructor\",ptr:0,title:U.name+\" value constructor\",typeList:[\"void\",\"uint32_t\"].concat(W.slice(1))}];else{var m=_nbind.readAsciiString(L),he=(U.name&&U.name+\".\")+m;(k==3||k==4)&&(m=_removeAccessorPrefix(m)),ne=[{boundID:i,direct:t,name:m,ptr:_,title:he,typeList:W}]}for(var Ee=0,ve=ne;Ee<ve.length;Ee++){var se=ve[Ee];se.signatureType=k,se.policyTbl=H,se.num=O,se.flags=C,U.addMethod(se)}}function _nbind_value(i,o){_nbind.typeNameTbl[i]||_nbind.throwError(\"Unknown value type \"+i),Module.NBind.bind_value(i,o),_defineHidden(_nbind.typeNameTbl[i].proto.prototype.__nbindValueConstructor)(o.prototype,\"__nbindValueConstructor\")}Module._nbind_value=_nbind_value;function __nbind_get_value_object(i,o){var a=_nbind.popValue(i);if(!a.fromJS)throw new Error(\"Object \"+a+\" has no fromJS function\");a.fromJS(function(){a.__nbindValueConstructor.apply(this,Array.prototype.concat.apply([o],arguments))})}function _emscripten_memcpy_big(i,o,a){return HEAPU8.set(HEAPU8.subarray(o,o+a),i),i}function __nbind_register_primitive(i,o,a){var p={flags:1024|a,id:i,ptrSize:o};_nbind.makeType(_nbind.constructType,p)}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],\"i8\",ALLOC_STATIC);function ___setErrNo(i){return Module.___errno_location&&(HEAP32[Module.___errno_location()>>2]=i),i}function _llvm_stacksave(){var i=_llvm_stacksave;return i.LLVM_SAVEDSTACKS||(i.LLVM_SAVEDSTACKS=[]),i.LLVM_SAVEDSTACKS.push(Runtime.stackSave()),i.LLVM_SAVEDSTACKS.length-1}function ___syscall140(i,o){SYSCALLS.varargs=o;try{var a=SYSCALLS.getStreamFromFD(),p=SYSCALLS.get(),_=SYSCALLS.get(),t=SYSCALLS.get(),k=SYSCALLS.get(),L=_;return FS.llseek(a,L,k),HEAP32[t>>2]=a.position,a.getdents&&L===0&&k===0&&(a.getdents=null),0}catch(O){return(typeof FS==\"undefined\"||!(O instanceof FS.ErrnoError))&&abort(O),-O.errno}}function ___syscall146(i,o){SYSCALLS.varargs=o;try{var a=SYSCALLS.get(),p=SYSCALLS.get(),_=SYSCALLS.get(),t=0;___syscall146.buffer||(___syscall146.buffers=[null,[],[]],___syscall146.printChar=function(U,H){var W=___syscall146.buffers[U];assert(W),H===0||H===10?((U===1?Module.print:Module.printErr)(UTF8ArrayToString(W,0)),W.length=0):W.push(H)});for(var k=0;k<_;k++){for(var L=HEAP32[p+k*8>>2],O=HEAP32[p+(k*8+4)>>2],C=0;C<O;C++)___syscall146.printChar(a,HEAPU8[L+C]);t+=O}return t}catch(U){return(typeof FS==\"undefined\"||!(U instanceof FS.ErrnoError))&&abort(U),-U.errno}}function __nbind_finish(){for(var i=0,o=_nbind.BindClass.list;i<o.length;i++){var a=o[i];a.finish()}}var ___dso_handle=STATICTOP;STATICTOP+=16,function(_nbind){var typeIdTbl={};_nbind.typeNameTbl={};var Pool=function(){function i(){}return i.lalloc=function(o){o=o+7&~7;var a=HEAPU32[i.usedPtr];if(o>i.pageSize/2||o>i.pageSize-a){var p=_nbind.typeNameTbl.NBind.proto;return p.lalloc(o)}else return HEAPU32[i.usedPtr]=a+o,i.rootPtr+a},i.lreset=function(o,a){var p=HEAPU32[i.pagePtr];if(p){var _=_nbind.typeNameTbl.NBind.proto;_.lreset(o,a)}else HEAPU32[i.usedPtr]=o},i}();_nbind.Pool=Pool;function constructType(i,o){var a=i==10240?_nbind.makeTypeNameTbl[o.name]||_nbind.BindType:_nbind.makeTypeKindTbl[i],p=new a(o);return typeIdTbl[o.id]=p,_nbind.typeNameTbl[o.name]=p,p}_nbind.constructType=constructType;function getType(i){return typeIdTbl[i]}_nbind.getType=getType;function queryType(i){var o=HEAPU8[i],a=_nbind.structureList[o][1];i/=4,a<0&&(++i,a=HEAPU32[i]+1);var p=Array.prototype.slice.call(HEAPU32.subarray(i+1,i+1+a));return o==9&&(p=[p[0],p.slice(1)]),{paramList:p,placeholderFlag:o}}_nbind.queryType=queryType;function getTypes(i,o){return i.map(function(a){return typeof a==\"number\"?_nbind.getComplexType(a,constructType,getType,queryType,o):_nbind.typeNameTbl[a]})}_nbind.getTypes=getTypes;function readTypeIdList(i,o){return Array.prototype.slice.call(HEAPU32,i/4,i/4+o)}_nbind.readTypeIdList=readTypeIdList;function readAsciiString(i){for(var o=i;HEAPU8[o++];);return String.fromCharCode.apply(\"\",HEAPU8.subarray(i,o-1))}_nbind.readAsciiString=readAsciiString;function readPolicyList(i){var o={};if(i)for(;;){var a=HEAPU32[i/4];if(!a)break;o[readAsciiString(a)]=!0,i+=4}return o}_nbind.readPolicyList=readPolicyList;function getDynCall(i,o){var a={float32_t:\"d\",float64_t:\"d\",int64_t:\"d\",uint64_t:\"d\",void:\"v\"},p=i.map(function(t){return a[t.name]||\"i\"}).join(\"\"),_=Module[\"dynCall_\"+p];if(!_)throw new Error(\"dynCall_\"+p+\" not found for \"+o+\"(\"+i.map(function(t){return t.name}).join(\", \")+\")\");return _}_nbind.getDynCall=getDynCall;function addMethod(i,o,a,p){var _=i[o];i.hasOwnProperty(o)&&_?((_.arity||_.arity===0)&&(_=_nbind.makeOverloader(_,_.arity),i[o]=_),_.addMethod(a,p)):(a.arity=p,i[o]=a)}_nbind.addMethod=addMethod;function throwError(i){throw new Error(i)}_nbind.throwError=throwError,_nbind.bigEndian=!1,_a=_typeModule(_typeModule),_nbind.Type=_a.Type,_nbind.makeType=_a.makeType,_nbind.getComplexType=_a.getComplexType,_nbind.structureList=_a.structureList;var BindType=function(i){__extends(o,i);function o(){var a=i!==null&&i.apply(this,arguments)||this;return a.heap=HEAPU32,a.ptrSize=4,a}return o.prototype.needsWireRead=function(a){return!!this.wireRead||!!this.makeWireRead},o.prototype.needsWireWrite=function(a){return!!this.wireWrite||!!this.makeWireWrite},o}(_nbind.Type);_nbind.BindType=BindType;var PrimitiveType=function(i){__extends(o,i);function o(a){var p=i.call(this,a)||this,_=a.flags&32?{32:HEAPF32,64:HEAPF64}:a.flags&8?{8:HEAPU8,16:HEAPU16,32:HEAPU32}:{8:HEAP8,16:HEAP16,32:HEAP32};return p.heap=_[a.ptrSize*8],p.ptrSize=a.ptrSize,p}return o.prototype.needsWireWrite=function(a){return!!a&&!!a.Strict},o.prototype.makeWireWrite=function(a,p){return p&&p.Strict&&function(_){if(typeof _==\"number\")return _;throw new Error(\"Type mismatch\")}},o}(BindType);_nbind.PrimitiveType=PrimitiveType;function pushCString(i,o){if(i==null){if(o&&o.Nullable)return 0;throw new Error(\"Type mismatch\")}if(o&&o.Strict){if(typeof i!=\"string\")throw new Error(\"Type mismatch\")}else i=i.toString();var a=Module.lengthBytesUTF8(i)+1,p=_nbind.Pool.lalloc(a);return Module.stringToUTF8Array(i,HEAPU8,p,a),p}_nbind.pushCString=pushCString;function popCString(i){return i===0?null:Module.Pointer_stringify(i)}_nbind.popCString=popCString;var CStringType=function(i){__extends(o,i);function o(){var a=i!==null&&i.apply(this,arguments)||this;return a.wireRead=popCString,a.wireWrite=pushCString,a.readResources=[_nbind.resources.pool],a.writeResources=[_nbind.resources.pool],a}return o.prototype.makeWireWrite=function(a,p){return function(_){return pushCString(_,p)}},o}(BindType);_nbind.CStringType=CStringType;var BooleanType=function(i){__extends(o,i);function o(){var a=i!==null&&i.apply(this,arguments)||this;return a.wireRead=function(p){return!!p},a}return o.prototype.needsWireWrite=function(a){return!!a&&!!a.Strict},o.prototype.makeWireRead=function(a){return\"!!(\"+a+\")\"},o.prototype.makeWireWrite=function(a,p){return p&&p.Strict&&function(_){if(typeof _==\"boolean\")return _;throw new Error(\"Type mismatch\")}||a},o}(BindType);_nbind.BooleanType=BooleanType;var Wrapper=function(){function i(){}return i.prototype.persist=function(){this.__nbindState|=1},i}();_nbind.Wrapper=Wrapper;function makeBound(i,o){var a=function(p){__extends(_,p);function _(t,k,L,O){var C=p.call(this)||this;if(!(C instanceof _))return new(Function.prototype.bind.apply(_,Array.prototype.concat.apply([null],arguments)));var U=k,H=L,W=O;if(t!==_nbind.ptrMarker){var ne=C.__nbindConstructor.apply(C,arguments);U=4096|512,W=HEAPU32[ne/4],H=HEAPU32[ne/4+1]}var m={configurable:!0,enumerable:!1,value:null,writable:!1},he={__nbindFlags:U,__nbindPtr:H};W&&(he.__nbindShared=W,_nbind.mark(C));for(var Ee=0,ve=Object.keys(he);Ee<ve.length;Ee++){var se=ve[Ee];m.value=he[se],Object.defineProperty(C,se,m)}return _defineHidden(0)(C,\"__nbindState\"),C}return _.prototype.free=function(){o.destroy.call(this,this.__nbindShared,this.__nbindFlags),this.__nbindState|=2,disableMember(this,\"__nbindShared\"),disableMember(this,\"__nbindPtr\")},_}(Wrapper);return __decorate([_defineHidden()],a.prototype,\"__nbindConstructor\",void 0),__decorate([_defineHidden()],a.prototype,\"__nbindValueConstructor\",void 0),__decorate([_defineHidden(i)],a.prototype,\"__nbindPolicies\",void 0),a}_nbind.makeBound=makeBound;function disableMember(i,o){function a(){throw new Error(\"Accessing deleted object\")}Object.defineProperty(i,o,{configurable:!1,enumerable:!1,get:a,set:a})}_nbind.ptrMarker={};var BindClass=function(i){__extends(o,i);function o(a){var p=i.call(this,a)||this;return p.wireRead=function(_){return _nbind.popValue(_,p.ptrType)},p.wireWrite=function(_){return pushPointer(_,p.ptrType,!0)},p.pendingSuperCount=0,p.ready=!1,p.methodTbl={},a.paramList?(p.classType=a.paramList[0].classType,p.proto=p.classType.proto):p.classType=p,p}return o.prototype.makeBound=function(a){var p=_nbind.makeBound(a,this);return this.proto=p,this.ptrType.proto=p,p},o.prototype.addMethod=function(a){var p=this.methodTbl[a.name]||[];p.push(a),this.methodTbl[a.name]=p},o.prototype.registerMethods=function(a,p){for(var _,t=0,k=Object.keys(a.methodTbl);t<k.length;t++)for(var L=k[t],O=a.methodTbl[L],C=0,U=O;C<U.length;C++){var H=U[C],W=void 0,ne=void 0;if(W=this.proto.prototype,!(p&&H.signatureType!=1))switch(H.signatureType){case 1:W=this.proto;case 5:ne=_nbind.makeCaller(H),_nbind.addMethod(W,H.name,ne,H.typeList.length-1);break;case 4:_=_nbind.makeMethodCaller(a.ptrType,H);break;case 3:Object.defineProperty(W,H.name,{configurable:!0,enumerable:!1,get:_nbind.makeMethodCaller(a.ptrType,H),set:_});break;case 2:ne=_nbind.makeMethodCaller(a.ptrType,H),_nbind.addMethod(W,H.name,ne,H.typeList.length-1);break;default:break}}},o.prototype.registerSuperMethods=function(a,p,_){if(!_[a.name]){_[a.name]=!0;for(var t=0,k,L=0,O=a.superIdList||[];L<O.length;L++){var C=O[L],U=_nbind.getType(C);t++<p||p<0?k=-1:k=0,this.registerSuperMethods(U,k,_)}this.registerMethods(a,p<0)}},o.prototype.finish=function(){if(this.ready)return this;this.ready=!0,this.superList=(this.superIdList||[]).map(function(_){return _nbind.getType(_).finish()});var a=this.proto;if(this.superList.length){var p=function(){this.constructor=a};p.prototype=this.superList[0].proto.prototype,a.prototype=new p}return a!=Module&&(a.prototype.__nbindType=this),this.registerSuperMethods(this,1,{}),this},o.prototype.upcastStep=function(a,p){if(a==this)return p;for(var _=0;_<this.superList.length;++_){var t=this.superList[_].upcastStep(a,_nbind.callUpcast(this.upcastList[_],p));if(t)return t}return 0},o}(_nbind.BindType);BindClass.list=[],_nbind.BindClass=BindClass;function popPointer(i,o){return i?new o.proto(_nbind.ptrMarker,o.flags,i):null}_nbind.popPointer=popPointer;function pushPointer(i,o,a){if(!(i instanceof _nbind.Wrapper)){if(a)return _nbind.pushValue(i);throw new Error(\"Type mismatch\")}var p=i.__nbindPtr,_=i.__nbindType.classType,t=o.classType;if(i instanceof o.proto)for(;_!=t;)p=_nbind.callUpcast(_.upcastList[0],p),_=_.superList[0];else if(p=_.upcastStep(t,p),!p)throw new Error(\"Type mismatch\");return p}_nbind.pushPointer=pushPointer;function pushMutablePointer(i,o){var a=pushPointer(i,o);if(i.__nbindFlags&1)throw new Error(\"Passing a const value as a non-const argument\");return a}var BindClassPtr=function(i){__extends(o,i);function o(a){var p=i.call(this,a)||this;p.classType=a.paramList[0].classType,p.proto=p.classType.proto;var _=a.flags&1,t=(p.flags&896)==256&&a.flags&2,k=_?pushPointer:pushMutablePointer,L=t?_nbind.popValue:popPointer;return p.makeWireWrite=function(O,C){return C.Nullable?function(U){return U?k(U,p):0}:function(U){return k(U,p)}},p.wireRead=function(O){return L(O,p)},p.wireWrite=function(O){return k(O,p)},p}return o}(_nbind.BindType);_nbind.BindClassPtr=BindClassPtr;function popShared(i,o){var a=HEAPU32[i/4],p=HEAPU32[i/4+1];return p?new o.proto(_nbind.ptrMarker,o.flags,p,a):null}_nbind.popShared=popShared;function pushShared(i,o){if(!(i instanceof o.proto))throw new Error(\"Type mismatch\");return i.__nbindShared}function pushMutableShared(i,o){if(!(i instanceof o.proto))throw new Error(\"Type mismatch\");if(i.__nbindFlags&1)throw new Error(\"Passing a const value as a non-const argument\");return i.__nbindShared}var SharedClassPtr=function(i){__extends(o,i);function o(a){var p=i.call(this,a)||this;p.readResources=[_nbind.resources.pool],p.classType=a.paramList[0].classType,p.proto=p.classType.proto;var _=a.flags&1,t=_?pushShared:pushMutableShared;return p.wireRead=function(k){return popShared(k,p)},p.wireWrite=function(k){return t(k,p)},p}return o}(_nbind.BindType);_nbind.SharedClassPtr=SharedClassPtr,_nbind.externalList=[0];var firstFreeExternal=0,External=function(){function i(o){this.refCount=1,this.data=o}return i.prototype.register=function(){var o=firstFreeExternal;return o?firstFreeExternal=_nbind.externalList[o]:o=_nbind.externalList.length,_nbind.externalList[o]=this,o},i.prototype.reference=function(){++this.refCount},i.prototype.dereference=function(o){--this.refCount==0&&(this.free&&this.free(),_nbind.externalList[o]=firstFreeExternal,firstFreeExternal=o)},i}();_nbind.External=External;function popExternal(i){var o=_nbind.externalList[i];return o.dereference(i),o.data}function pushExternal(i){var o=new External(i);return o.reference(),o.register()}var ExternalType=function(i){__extends(o,i);function o(){var a=i!==null&&i.apply(this,arguments)||this;return a.wireRead=popExternal,a.wireWrite=pushExternal,a}return o}(_nbind.BindType);_nbind.ExternalType=ExternalType,_nbind.callbackSignatureList=[];var CallbackType=function(i){__extends(o,i);function o(){var a=i!==null&&i.apply(this,arguments)||this;return a.wireWrite=function(p){return typeof p!=\"function\"&&_nbind.throwError(\"Type mismatch\"),new _nbind.External(p).register()},a}return o}(_nbind.BindType);_nbind.CallbackType=CallbackType,_nbind.valueList=[0];var firstFreeValue=0;function pushValue(i){var o=firstFreeValue;return o?firstFreeValue=_nbind.valueList[o]:o=_nbind.valueList.length,_nbind.valueList[o]=i,o*2+1}_nbind.pushValue=pushValue;function popValue(i,o){if(i||_nbind.throwError(\"Value type JavaScript class is missing or not registered\"),i&1){i>>=1;var a=_nbind.valueList[i];return _nbind.valueList[i]=firstFreeValue,firstFreeValue=i,a}else{if(o)return _nbind.popShared(i,o);throw new Error(\"Invalid value slot \"+i)}}_nbind.popValue=popValue;var valueBase=18446744073709552e3;function push64(i){return typeof i==\"number\"?i:pushValue(i)*4096+valueBase}function pop64(i){return i<valueBase?i:popValue((i-valueBase)/4096)}var CreateValueType=function(i){__extends(o,i);function o(){return i!==null&&i.apply(this,arguments)||this}return o.prototype.makeWireWrite=function(a){return\"(_nbind.pushValue(new \"+a+\"))\"},o}(_nbind.BindType);_nbind.CreateValueType=CreateValueType;var Int64Type=function(i){__extends(o,i);function o(){var a=i!==null&&i.apply(this,arguments)||this;return a.wireWrite=push64,a.wireRead=pop64,a}return o}(_nbind.BindType);_nbind.Int64Type=Int64Type;function pushArray(i,o){if(!i)return 0;var a=i.length;if((o.size||o.size===0)&&a<o.size)throw new Error(\"Type mismatch\");var p=o.memberType.ptrSize,_=_nbind.Pool.lalloc(4+a*p);HEAPU32[_/4]=a;var t=o.memberType.heap,k=(_+4)/p,L=o.memberType.wireWrite,O=0;if(L)for(;O<a;)t[k++]=L(i[O++]);else for(;O<a;)t[k++]=i[O++];return _}_nbind.pushArray=pushArray;function popArray(i,o){if(i===0)return null;var a=HEAPU32[i/4],p=new Array(a),_=o.memberType.heap;i=(i+4)/o.memberType.ptrSize;var t=o.memberType.wireRead,k=0;if(t)for(;k<a;)p[k++]=t(_[i++]);else for(;k<a;)p[k++]=_[i++];return p}_nbind.popArray=popArray;var ArrayType=function(i){__extends(o,i);function o(a){var p=i.call(this,a)||this;return p.wireRead=function(_){return popArray(_,p)},p.wireWrite=function(_){return pushArray(_,p)},p.readResources=[_nbind.resources.pool],p.writeResources=[_nbind.resources.pool],p.memberType=a.paramList[0],a.paramList[1]&&(p.size=a.paramList[1]),p}return o}(_nbind.BindType);_nbind.ArrayType=ArrayType;function pushString(i,o){if(i==null)if(o&&o.Nullable)i=\"\";else throw new Error(\"Type mismatch\");if(o&&o.Strict){if(typeof i!=\"string\")throw new Error(\"Type mismatch\")}else i=i.toString();var a=Module.lengthBytesUTF8(i),p=_nbind.Pool.lalloc(4+a+1);return HEAPU32[p/4]=a,Module.stringToUTF8Array(i,HEAPU8,p+4,a+1),p}_nbind.pushString=pushString;function popString(i){if(i===0)return null;var o=HEAPU32[i/4];return Module.Pointer_stringify(i+4,o)}_nbind.popString=popString;var StringType=function(i){__extends(o,i);function o(){var a=i!==null&&i.apply(this,arguments)||this;return a.wireRead=popString,a.wireWrite=pushString,a.readResources=[_nbind.resources.pool],a.writeResources=[_nbind.resources.pool],a}return o.prototype.makeWireWrite=function(a,p){return function(_){return pushString(_,p)}},o}(_nbind.BindType);_nbind.StringType=StringType;function makeArgList(i){return Array.apply(null,Array(i)).map(function(o,a){return\"a\"+(a+1)})}function anyNeedsWireWrite(i,o){return i.reduce(function(a,p){return a||p.needsWireWrite(o)},!1)}function anyNeedsWireRead(i,o){return i.reduce(function(a,p){return a||!!p.needsWireRead(o)},!1)}function makeWireRead(i,o,a,p){var _=i.length;return a.makeWireRead?a.makeWireRead(p,i,_):a.wireRead?(i[_]=a.wireRead,\"(convertParamList[\"+_+\"](\"+p+\"))\"):p}function makeWireWrite(i,o,a,p){var _,t=i.length;return a.makeWireWrite?_=a.makeWireWrite(p,o,i,t):_=a.wireWrite,_?typeof _==\"string\"?_:(i[t]=_,\"(convertParamList[\"+t+\"](\"+p+\"))\"):p}function buildCallerFunction(dynCall,ptrType,ptr,num,policyTbl,needsWireWrite,prefix,returnType,argTypeList,mask,err){var argList=makeArgList(argTypeList.length),convertParamList=[],callExpression=makeWireRead(convertParamList,policyTbl,returnType,\"dynCall(\"+[prefix].concat(argList.map(function(i,o){return makeWireWrite(convertParamList,policyTbl,argTypeList[o],i)})).join(\",\")+\")\"),resourceSet=_nbind.listResources([returnType],argTypeList),sourceCode=\"function(\"+argList.join(\",\")+\"){\"+(mask?\"this.__nbindFlags&mask&&err();\":\"\")+resourceSet.makeOpen()+\"var r=\"+callExpression+\";\"+resourceSet.makeClose()+\"return r;}\";return eval(\"(\"+sourceCode+\")\")}function buildJSCallerFunction(returnType,argTypeList){var argList=makeArgList(argTypeList.length),convertParamList=[],callExpression=makeWireWrite(convertParamList,null,returnType,\"_nbind.externalList[num].data(\"+argList.map(function(i,o){return makeWireRead(convertParamList,null,argTypeList[o],i)}).join(\",\")+\")\"),resourceSet=_nbind.listResources(argTypeList,[returnType]);resourceSet.remove(_nbind.resources.pool);var sourceCode=\"function(\"+[\"dummy\",\"num\"].concat(argList).join(\",\")+\"){\"+resourceSet.makeOpen()+\"var r=\"+callExpression+\";\"+resourceSet.makeClose()+\"return r;}\";return eval(\"(\"+sourceCode+\")\")}_nbind.buildJSCallerFunction=buildJSCallerFunction;function makeJSCaller(i){var o=i.length-1,a=_nbind.getTypes(i,\"callback\"),p=a[0],_=a.slice(1),t=anyNeedsWireRead(_,null),k=p.needsWireWrite(null);if(!k&&!t)switch(o){case 0:return function(L,O){return _nbind.externalList[O].data()};case 1:return function(L,O,C){return _nbind.externalList[O].data(C)};case 2:return function(L,O,C,U){return _nbind.externalList[O].data(C,U)};case 3:return function(L,O,C,U,H){return _nbind.externalList[O].data(C,U,H)};default:break}return buildJSCallerFunction(p,_)}_nbind.makeJSCaller=makeJSCaller;function makeMethodCaller(i,o){var a=o.typeList.length-1,p=o.typeList.slice(0);p.splice(1,0,\"uint32_t\",o.boundID);var _=_nbind.getTypes(p,o.title),t=_[0],k=_.slice(3),L=t.needsWireRead(o.policyTbl),O=anyNeedsWireWrite(k,o.policyTbl),C=o.ptr,U=o.num,H=_nbind.getDynCall(_,o.title),W=~o.flags&1;function ne(){throw new Error(\"Calling a non-const method on a const object\")}if(!L&&!O)switch(a){case 0:return function(){return this.__nbindFlags&W?ne():H(C,U,_nbind.pushPointer(this,i))};case 1:return function(m){return this.__nbindFlags&W?ne():H(C,U,_nbind.pushPointer(this,i),m)};case 2:return function(m,he){return this.__nbindFlags&W?ne():H(C,U,_nbind.pushPointer(this,i),m,he)};case 3:return function(m,he,Ee){return this.__nbindFlags&W?ne():H(C,U,_nbind.pushPointer(this,i),m,he,Ee)};default:break}return buildCallerFunction(H,i,C,U,o.policyTbl,O,\"ptr,num,pushPointer(this,ptrType)\",t,k,W,ne)}_nbind.makeMethodCaller=makeMethodCaller;function makeCaller(i){var o=i.typeList.length-1,a=_nbind.getTypes(i.typeList,i.title),p=a[0],_=a.slice(1),t=p.needsWireRead(i.policyTbl),k=anyNeedsWireWrite(_,i.policyTbl),L=i.direct,O=i.ptr;if(i.direct&&!t&&!k){var C=_nbind.getDynCall(a,i.title);switch(o){case 0:return function(){return C(L)};case 1:return function(ne){return C(L,ne)};case 2:return function(ne,m){return C(L,ne,m)};case 3:return function(ne,m,he){return C(L,ne,m,he)};default:break}O=0}var U;if(O){var H=i.typeList.slice(0);H.splice(1,0,\"uint32_t\"),a=_nbind.getTypes(H,i.title),U=\"ptr,num\"}else O=L,U=\"ptr\";var W=_nbind.getDynCall(a,i.title);return buildCallerFunction(W,null,O,i.num,i.policyTbl,k,U,p,_)}_nbind.makeCaller=makeCaller;function makeOverloader(i,o){var a=[];function p(){return a[arguments.length].apply(this,arguments)}return p.addMethod=function(_,t){a[t]=_},p.addMethod(i,o),p}_nbind.makeOverloader=makeOverloader;var Resource=function(){function i(o,a){var p=this;this.makeOpen=function(){return Object.keys(p.openTbl).join(\"\")},this.makeClose=function(){return Object.keys(p.closeTbl).join(\"\")},this.openTbl={},this.closeTbl={},o&&(this.openTbl[o]=!0),a&&(this.closeTbl[a]=!0)}return i.prototype.add=function(o){for(var a=0,p=Object.keys(o.openTbl);a<p.length;a++){var _=p[a];this.openTbl[_]=!0}for(var t=0,k=Object.keys(o.closeTbl);t<k.length;t++){var _=k[t];this.closeTbl[_]=!0}},i.prototype.remove=function(o){for(var a=0,p=Object.keys(o.openTbl);a<p.length;a++){var _=p[a];delete this.openTbl[_]}for(var t=0,k=Object.keys(o.closeTbl);t<k.length;t++){var _=k[t];delete this.closeTbl[_]}},i}();_nbind.Resource=Resource;function listResources(i,o){for(var a=new Resource,p=0,_=i;p<_.length;p++)for(var t=_[p],k=0,L=t.readResources||[];k<L.length;k++){var O=L[k];a.add(O)}for(var C=0,U=o;C<U.length;C++)for(var t=U[C],H=0,W=t.writeResources||[];H<W.length;H++){var O=W[H];a.add(O)}return a}_nbind.listResources=listResources,_nbind.resources={pool:new Resource(\"var used=HEAPU32[_nbind.Pool.usedPtr],page=HEAPU32[_nbind.Pool.pagePtr];\",\"_nbind.Pool.lreset(used,page);\")};var ExternalBuffer=function(i){__extends(o,i);function o(a,p){var _=i.call(this,a)||this;return _.ptr=p,_}return o.prototype.free=function(){_free(this.ptr)},o}(_nbind.External);function getBuffer(i){return i instanceof ArrayBuffer?new Uint8Array(i):i instanceof DataView?new Uint8Array(i.buffer,i.byteOffset,i.byteLength):i}function pushBuffer(i,o){if(i==null&&o&&o.Nullable&&(i=[]),typeof i!=\"object\")throw new Error(\"Type mismatch\");var a=i,p=a.byteLength||a.length;if(!p&&p!==0&&a.byteLength!==0)throw new Error(\"Type mismatch\");var _=_nbind.Pool.lalloc(8),t=_malloc(p),k=_/4;return HEAPU32[k++]=p,HEAPU32[k++]=t,HEAPU32[k++]=new ExternalBuffer(i,t).register(),HEAPU8.set(getBuffer(i),t),_}var BufferType=function(i){__extends(o,i);function o(){var a=i!==null&&i.apply(this,arguments)||this;return a.wireWrite=pushBuffer,a.readResources=[_nbind.resources.pool],a.writeResources=[_nbind.resources.pool],a}return o.prototype.makeWireWrite=function(a,p){return function(_){return pushBuffer(_,p)}},o}(_nbind.BindType);_nbind.BufferType=BufferType;function commitBuffer(i,o,a){var p=_nbind.externalList[i].data,_=Buffer;if(typeof Buffer!=\"function\"&&(_=function(){}),!(p instanceof Array)){var t=HEAPU8.subarray(o,o+a);if(p instanceof _){var k=void 0;typeof Buffer.from==\"function\"&&Buffer.from.length>=3?k=Buffer.from(t):k=new Buffer(t),k.copy(p)}else getBuffer(p).set(t)}}_nbind.commitBuffer=commitBuffer;var dirtyList=[],gcTimer=0;function sweep(){for(var i=0,o=dirtyList;i<o.length;i++){var a=o[i];a.__nbindState&(1|2)||a.free()}dirtyList=[],gcTimer=0}_nbind.mark=function(i){};function toggleLightGC(i){i?_nbind.mark=function(o){dirtyList.push(o),gcTimer||(gcTimer=setTimeout(sweep,0))}:_nbind.mark=function(o){}}_nbind.toggleLightGC=toggleLightGC}(_nbind),Module.requestFullScreen=function(o,a,p){Module.printErr(\"Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.\"),Module.requestFullScreen=Module.requestFullscreen,Browser.requestFullScreen(o,a,p)},Module.requestFullscreen=function(o,a,p){Browser.requestFullscreen(o,a,p)},Module.requestAnimationFrame=function(o){Browser.requestAnimationFrame(o)},Module.setCanvasSize=function(o,a,p){Browser.setCanvasSize(o,a,p)},Module.pauseMainLoop=function(){Browser.mainLoop.pause()},Module.resumeMainLoop=function(){Browser.mainLoop.resume()},Module.getUserMedia=function(){Browser.getUserMedia()},Module.createContext=function(o,a,p,_){return Browser.createContext(o,a,p,_)},ENVIRONMENT_IS_NODE?_emscripten_get_now=function(){var o=process.hrtime();return o[0]*1e3+o[1]/1e6}:typeof dateNow!=\"undefined\"?_emscripten_get_now=dateNow:typeof self==\"object\"&&self.performance&&typeof self.performance.now==\"function\"?_emscripten_get_now=function(){return self.performance.now()}:typeof performance==\"object\"&&typeof performance.now==\"function\"?_emscripten_get_now=function(){return performance.now()}:_emscripten_get_now=Date.now,__ATEXIT__.push(function(){var i=Module._fflush;i&&i(0);var o=___syscall146.printChar;if(!!o){var a=___syscall146.buffers;a[1].length&&o(1,10),a[2].length&&o(2,10)}}),DYNAMICTOP_PTR=allocate(1,\"i32\",ALLOC_STATIC),STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP),STACK_MAX=STACK_BASE+TOTAL_STACK,DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX),HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE,staticSealed=!0;function invoke_viiiii(i,o,a,p,_,t){try{Module.dynCall_viiiii(i,o,a,p,_,t)}catch(k){if(typeof k!=\"number\"&&k!==\"longjmp\")throw k;Module.setThrew(1,0)}}function invoke_vif(i,o,a){try{Module.dynCall_vif(i,o,a)}catch(p){if(typeof p!=\"number\"&&p!==\"longjmp\")throw p;Module.setThrew(1,0)}}function invoke_vid(i,o,a){try{Module.dynCall_vid(i,o,a)}catch(p){if(typeof p!=\"number\"&&p!==\"longjmp\")throw p;Module.setThrew(1,0)}}function invoke_fiff(i,o,a,p){try{return Module.dynCall_fiff(i,o,a,p)}catch(_){if(typeof _!=\"number\"&&_!==\"longjmp\")throw _;Module.setThrew(1,0)}}function invoke_vi(i,o){try{Module.dynCall_vi(i,o)}catch(a){if(typeof a!=\"number\"&&a!==\"longjmp\")throw a;Module.setThrew(1,0)}}function invoke_vii(i,o,a){try{Module.dynCall_vii(i,o,a)}catch(p){if(typeof p!=\"number\"&&p!==\"longjmp\")throw p;Module.setThrew(1,0)}}function invoke_ii(i,o){try{return Module.dynCall_ii(i,o)}catch(a){if(typeof a!=\"number\"&&a!==\"longjmp\")throw a;Module.setThrew(1,0)}}function invoke_viddi(i,o,a,p,_){try{Module.dynCall_viddi(i,o,a,p,_)}catch(t){if(typeof t!=\"number\"&&t!==\"longjmp\")throw t;Module.setThrew(1,0)}}function invoke_vidd(i,o,a,p){try{Module.dynCall_vidd(i,o,a,p)}catch(_){if(typeof _!=\"number\"&&_!==\"longjmp\")throw _;Module.setThrew(1,0)}}function invoke_iiii(i,o,a,p){try{return Module.dynCall_iiii(i,o,a,p)}catch(_){if(typeof _!=\"number\"&&_!==\"longjmp\")throw _;Module.setThrew(1,0)}}function invoke_diii(i,o,a,p){try{return Module.dynCall_diii(i,o,a,p)}catch(_){if(typeof _!=\"number\"&&_!==\"longjmp\")throw _;Module.setThrew(1,0)}}function invoke_di(i,o){try{return Module.dynCall_di(i,o)}catch(a){if(typeof a!=\"number\"&&a!==\"longjmp\")throw a;Module.setThrew(1,0)}}function invoke_iid(i,o,a){try{return Module.dynCall_iid(i,o,a)}catch(p){if(typeof p!=\"number\"&&p!==\"longjmp\")throw p;Module.setThrew(1,0)}}function invoke_iii(i,o,a){try{return Module.dynCall_iii(i,o,a)}catch(p){if(typeof p!=\"number\"&&p!==\"longjmp\")throw p;Module.setThrew(1,0)}}function invoke_viiddi(i,o,a,p,_,t){try{Module.dynCall_viiddi(i,o,a,p,_,t)}catch(k){if(typeof k!=\"number\"&&k!==\"longjmp\")throw k;Module.setThrew(1,0)}}function invoke_viiiiii(i,o,a,p,_,t,k){try{Module.dynCall_viiiiii(i,o,a,p,_,t,k)}catch(L){if(typeof L!=\"number\"&&L!==\"longjmp\")throw L;Module.setThrew(1,0)}}function invoke_dii(i,o,a){try{return Module.dynCall_dii(i,o,a)}catch(p){if(typeof p!=\"number\"&&p!==\"longjmp\")throw p;Module.setThrew(1,0)}}function invoke_i(i){try{return Module.dynCall_i(i)}catch(o){if(typeof o!=\"number\"&&o!==\"longjmp\")throw o;Module.setThrew(1,0)}}function invoke_iiiiii(i,o,a,p,_,t){try{return Module.dynCall_iiiiii(i,o,a,p,_,t)}catch(k){if(typeof k!=\"number\"&&k!==\"longjmp\")throw k;Module.setThrew(1,0)}}function invoke_viiid(i,o,a,p,_){try{Module.dynCall_viiid(i,o,a,p,_)}catch(t){if(typeof t!=\"number\"&&t!==\"longjmp\")throw t;Module.setThrew(1,0)}}function invoke_viififi(i,o,a,p,_,t,k){try{Module.dynCall_viififi(i,o,a,p,_,t,k)}catch(L){if(typeof L!=\"number\"&&L!==\"longjmp\")throw L;Module.setThrew(1,0)}}function invoke_viii(i,o,a,p){try{Module.dynCall_viii(i,o,a,p)}catch(_){if(typeof _!=\"number\"&&_!==\"longjmp\")throw _;Module.setThrew(1,0)}}function invoke_v(i){try{Module.dynCall_v(i)}catch(o){if(typeof o!=\"number\"&&o!==\"longjmp\")throw o;Module.setThrew(1,0)}}function invoke_viid(i,o,a,p){try{Module.dynCall_viid(i,o,a,p)}catch(_){if(typeof _!=\"number\"&&_!==\"longjmp\")throw _;Module.setThrew(1,0)}}function invoke_idd(i,o,a){try{return Module.dynCall_idd(i,o,a)}catch(p){if(typeof p!=\"number\"&&p!==\"longjmp\")throw p;Module.setThrew(1,0)}}function invoke_viiii(i,o,a,p,_){try{Module.dynCall_viiii(i,o,a,p,_)}catch(t){if(typeof t!=\"number\"&&t!==\"longjmp\")throw t;Module.setThrew(1,0)}}Module.asmGlobalArg={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array,Float64Array,NaN:NaN,Infinity:Infinity},Module.asmLibraryArg={abort,assert,enlargeMemory,getTotalMemory,abortOnCannotGrowMemory,invoke_viiiii,invoke_vif,invoke_vid,invoke_fiff,invoke_vi,invoke_vii,invoke_ii,invoke_viddi,invoke_vidd,invoke_iiii,invoke_diii,invoke_di,invoke_iid,invoke_iii,invoke_viiddi,invoke_viiiiii,invoke_dii,invoke_i,invoke_iiiiii,invoke_viiid,invoke_viififi,invoke_viii,invoke_v,invoke_viid,invoke_idd,invoke_viiii,_emscripten_asm_const_iiiii,_emscripten_asm_const_iiidddddd,_emscripten_asm_const_iiiid,__nbind_reference_external,_emscripten_asm_const_iiiiiiii,_removeAccessorPrefix,_typeModule,__nbind_register_pool,__decorate,_llvm_stackrestore,___cxa_atexit,__extends,__nbind_get_value_object,__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,_emscripten_set_main_loop_timing,__nbind_register_primitive,__nbind_register_type,_emscripten_memcpy_big,__nbind_register_function,___setErrNo,__nbind_register_class,__nbind_finish,_abort,_nbind_value,_llvm_stacksave,___syscall54,_defineHidden,_emscripten_set_main_loop,_emscripten_get_now,__nbind_register_callback_signature,_emscripten_asm_const_iiiiii,__nbind_free_external,_emscripten_asm_const_iiii,_emscripten_asm_const_iiididi,___syscall6,_atexit,___syscall140,___syscall146,DYNAMICTOP_PTR,tempDoublePtr,ABORT,STACKTOP,STACK_MAX,cttz_i8,___dso_handle};var asm=function(i,o,a){var p=new i.Int8Array(a),_=new i.Int16Array(a),t=new i.Int32Array(a),k=new i.Uint8Array(a),L=new i.Uint16Array(a),O=new i.Uint32Array(a),C=new i.Float32Array(a),U=new i.Float64Array(a),H=o.DYNAMICTOP_PTR|0,W=o.tempDoublePtr|0,ne=o.ABORT|0,m=o.STACKTOP|0,he=o.STACK_MAX|0,Ee=o.cttz_i8|0,ve=o.___dso_handle|0,se=0,De=0,pe=0,me=0,ie=i.NaN,Oe=i.Infinity,je=0,qe=0,yt=0,gt=0,Xe=0,ut=0,We=i.Math.floor,Ft=i.Math.abs,Jt=i.Math.sqrt,rt=i.Math.pow,Q=i.Math.cos,fe=i.Math.sin,xe=i.Math.tan,oe=i.Math.acos,ze=i.Math.asin,ct=i.Math.atan,Rt=i.Math.atan2,nn=i.Math.exp,an=i.Math.log,Mn=i.Math.ceil,lr=i.Math.imul,ln=i.Math.min,Vt=i.Math.max,Er=i.Math.clz32,w=i.Math.fround,jt=o.abort,Xn=o.assert,vr=o.enlargeMemory,jr=o.getTotalMemory,fr=o.abortOnCannotGrowMemory,zr=o.invoke_viiiii,Xt=o.invoke_vif,wu=o.invoke_vid,d0=o.invoke_fiff,Ro=o.invoke_vi,Qo=o.invoke_vii,Fs=o.invoke_ii,Jo=o.invoke_viddi,Zo=o.invoke_vidd,qt=o.invoke_iiii,xi=o.invoke_diii,lu=o.invoke_di,mi=o.invoke_iid,Dr=o.invoke_iii,$o=o.invoke_viiddi,G0=o.invoke_viiiiii,Uu=o.invoke_dii,Y0=o.invoke_i,Xr=o.invoke_iiiiii,Ao=o.invoke_viiid,Oo=o.invoke_viififi,F0=o.invoke_viii,su=o.invoke_v,ki=o.invoke_viid,Ps=o.invoke_idd,Kl=o.invoke_viiii,P0=o._emscripten_asm_const_iiiii,p0=o._emscripten_asm_const_iiidddddd,Hr=o._emscripten_asm_const_iiiid,Ri=o.__nbind_reference_external,K0=o._emscripten_asm_const_iiiiiiii,yi=o._removeAccessorPrefix,en=o._typeModule,bn=o.__nbind_register_pool,Ai=o.__decorate,gi=o._llvm_stackrestore,Wt=o.___cxa_atexit,Au=o.__extends,eu=o.__nbind_get_value_object,X0=o.__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,Yi=o._emscripten_set_main_loop_timing,Xl=o.__nbind_register_primitive,Mo=o.__nbind_register_type,ai=o._emscripten_memcpy_big,so=o.__nbind_register_function,Ql=o.___setErrNo,ko=o.__nbind_register_class,Is=o.__nbind_finish,$n=o._abort,el=o._nbind_value,ao=o._llvm_stacksave,I0=o.___syscall54,wl=o._defineHidden,No=o._emscripten_set_main_loop,wt=o._emscripten_get_now,bt=o.__nbind_register_callback_signature,Hn=o._emscripten_asm_const_iiiiii,qr=o.__nbind_free_external,Ki=o._emscripten_asm_const_iiii,Qr=o._emscripten_asm_const_iiididi,Ou=o.___syscall6,h0=o._atexit,Ni=o.___syscall140,v0=o.___syscall146,hs=w(0);let Tt=w(0);function fo(e){e=e|0;var n=0;return n=m,m=m+e|0,m=m+15&-16,n|0}function tl(){return m|0}function Jl(e){e=e|0,m=e}function ju(e,n){e=e|0,n=n|0,m=e,he=n}function vs(e,n){e=e|0,n=n|0,se||(se=e,De=n)}function b0(e){e=e|0,ut=e}function X(){return ut|0}function we(){var e=0,n=0;gr(8104,8,400)|0,gr(8504,408,540)|0,e=9044,n=e+44|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));p[9088]=0,p[9089]=1,t[2273]=0,t[2274]=948,t[2275]=948,Wt(17,8104,ve|0)|0}function Le(e){e=e|0,ac(e+948|0)}function Ne(e){return e=w(e),((mr(e)|0)&2147483647)>>>0>2139095040|0}function dt(e,n,r){e=e|0,n=n|0,r=r|0;e:do if(t[e+(n<<3)+4>>2]|0)e=e+(n<<3)|0;else{if((n|2|0)==3?t[e+60>>2]|0:0){e=e+56|0;break}switch(n|0){case 0:case 2:case 4:case 5:{if(t[e+52>>2]|0){e=e+48|0;break e}break}default:}if(t[e+68>>2]|0){e=e+64|0;break}else{e=(n|1|0)==5?948:r;break}}while(0);return e|0}function Yn(e){e=e|0;var n=0;return n=c_(1e3)|0,Cn(e,(n|0)!=0,2456),t[2276]=(t[2276]|0)+1,gr(n|0,8104,1e3)|0,p[e+2>>0]|0&&(t[n+4>>2]=2,t[n+12>>2]=4),t[n+976>>2]=e,n|0}function Cn(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;l=m,m=m+16|0,u=l,n||(t[u>>2]=r,Tl(e,5,3197,u)),m=l}function cr(){return Yn(956)|0}function Si(e){e=e|0;var n=0;return n=pn(1e3)|0,Mu(n,e),Cn(t[e+976>>2]|0,1,2456),t[2276]=(t[2276]|0)+1,t[n+944>>2]=0,n|0}function Mu(e,n){e=e|0,n=n|0;var r=0;gr(e|0,n|0,948)|0,sa(e+948|0,n+948|0),r=e+960|0,e=n+960|0,n=r+40|0;do t[r>>2]=t[e>>2],r=r+4|0,e=e+4|0;while((r|0)<(n|0))}function zu(e){e=e|0;var n=0,r=0,u=0,l=0;if(n=e+944|0,r=t[n>>2]|0,r|0&&(Hu(r+948|0,e)|0,t[n>>2]=0),r=Su(e)|0,r|0){n=0;do t[(Ti(e,n)|0)+944>>2]=0,n=n+1|0;while((n|0)!=(r|0))}r=e+948|0,u=t[r>>2]|0,l=e+952|0,n=t[l>>2]|0,(n|0)!=(u|0)&&(t[l>>2]=n+(~((n+-4-u|0)>>>2)<<2)),Lo(r),d_(e),t[2276]=(t[2276]|0)+-1}function Hu(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0;u=t[e>>2]|0,D=e+4|0,r=t[D>>2]|0,s=r;e:do if((u|0)==(r|0))l=u,h=4;else for(e=u;;){if((t[e>>2]|0)==(n|0)){l=e,h=4;break e}if(e=e+4|0,(e|0)==(r|0)){e=0;break}}while(0);return(h|0)==4&&((l|0)!=(r|0)?(u=l+4|0,e=s-u|0,n=e>>2,n&&(Ty(l|0,u|0,e|0)|0,r=t[D>>2]|0),e=l+(n<<2)|0,(r|0)==(e|0)||(t[D>>2]=r+(~((r+-4-e|0)>>>2)<<2)),e=1):e=0),e|0}function Su(e){return e=e|0,(t[e+952>>2]|0)-(t[e+948>>2]|0)>>2|0}function Ti(e,n){e=e|0,n=n|0;var r=0;return r=t[e+948>>2]|0,(t[e+952>>2]|0)-r>>2>>>0>n>>>0?e=t[r+(n<<2)>>2]|0:e=0,e|0}function Lo(e){e=e|0;var n=0,r=0,u=0,l=0;u=m,m=m+32|0,n=u,l=t[e>>2]|0,r=(t[e+4>>2]|0)-l|0,((t[e+8>>2]|0)-l|0)>>>0>r>>>0&&(l=r>>2,Y(n,l,l,e+8|0),ri(e,n),ii(n)),m=u}function ku(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0;N=Su(e)|0;do if(N|0){if((t[(Ti(e,0)|0)+944>>2]|0)==(e|0)){if(!(Hu(e+948|0,n)|0))break;gr(n+400|0,8504,540)|0,t[n+944>>2]=0,Qn(e);break}h=t[(t[e+976>>2]|0)+12>>2]|0,D=e+948|0,S=(h|0)==0,r=0,s=0;do u=t[(t[D>>2]|0)+(s<<2)>>2]|0,(u|0)==(n|0)?Qn(e):(l=Si(u)|0,t[(t[D>>2]|0)+(r<<2)>>2]=l,t[l+944>>2]=e,S||PE[h&15](u,l,e,r),r=r+1|0),s=s+1|0;while((s|0)!=(N|0));if(r>>>0<N>>>0){S=e+948|0,D=e+952|0,h=r,r=t[D>>2]|0;do s=(t[S>>2]|0)+(h<<2)|0,u=s+4|0,l=r-u|0,n=l>>2,n&&(Ty(s|0,u|0,l|0)|0,r=t[D>>2]|0),l=r,u=s+(n<<2)|0,(l|0)!=(u|0)&&(r=l+(~((l+-4-u|0)>>>2)<<2)|0,t[D>>2]=r),h=h+1|0;while((h|0)!=(N|0))}}while(0)}function co(e){e=e|0;var n=0,r=0,u=0,l=0;qu(e,(Su(e)|0)==0,2491),qu(e,(t[e+944>>2]|0)==0,2545),n=e+948|0,r=t[n>>2]|0,u=e+952|0,l=t[u>>2]|0,(l|0)!=(r|0)&&(t[u>>2]=l+(~((l+-4-r|0)>>>2)<<2)),Lo(n),n=e+976|0,r=t[n>>2]|0,gr(e|0,8104,1e3)|0,p[r+2>>0]|0&&(t[e+4>>2]=2,t[e+12>>2]=4),t[n>>2]=r}function qu(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;l=m,m=m+16|0,u=l,n||(t[u>>2]=r,pr(e,5,3197,u)),m=l}function Pa(){return t[2276]|0}function m0(){var e=0;return e=c_(20)|0,ia((e|0)!=0,2592),t[2277]=(t[2277]|0)+1,t[e>>2]=t[239],t[e+4>>2]=t[240],t[e+8>>2]=t[241],t[e+12>>2]=t[242],t[e+16>>2]=t[243],e|0}function ia(e,n){e=e|0,n=n|0;var r=0,u=0;u=m,m=m+16|0,r=u,e||(t[r>>2]=n,pr(0,5,3197,r)),m=u}function Q0(e){e=e|0,d_(e),t[2277]=(t[2277]|0)+-1}function ua(e,n){e=e|0,n=n|0;var r=0;n?(qu(e,(Su(e)|0)==0,2629),r=1):(r=0,n=0),t[e+964>>2]=n,t[e+988>>2]=r}function Ia(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,s=u+8|0,l=u+4|0,h=u,t[l>>2]=n,qu(e,(t[n+944>>2]|0)==0,2709),qu(e,(t[e+964>>2]|0)==0,2763),ms(e),n=e+948|0,t[h>>2]=(t[n>>2]|0)+(r<<2),t[s>>2]=t[h>>2],S0(n,s,l)|0,t[(t[l>>2]|0)+944>>2]=e,Qn(e),m=u}function ms(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0;if(r=Su(e)|0,r|0?(t[(Ti(e,0)|0)+944>>2]|0)!=(e|0):0){u=t[(t[e+976>>2]|0)+12>>2]|0,l=e+948|0,s=(u|0)==0,n=0;do h=t[(t[l>>2]|0)+(n<<2)>>2]|0,D=Si(h)|0,t[(t[l>>2]|0)+(n<<2)>>2]=D,t[D+944>>2]=e,s||PE[u&15](h,D,e,n),n=n+1|0;while((n|0)!=(r|0))}}function S0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0,be=0,Se=0,ye=0,Je=0,Ge=0;Je=m,m=m+64|0,I=Je+52|0,D=Je+48|0,K=Je+28|0,be=Je+24|0,Se=Je+20|0,ye=Je,u=t[e>>2]|0,s=u,n=u+((t[n>>2]|0)-s>>2<<2)|0,u=e+4|0,l=t[u>>2]|0,h=e+8|0;do if(l>>>0<(t[h>>2]|0)>>>0){if((n|0)==(l|0)){t[n>>2]=t[r>>2],t[u>>2]=(t[u>>2]|0)+4;break}Vr(e,n,l,n+4|0),n>>>0<=r>>>0&&(r=(t[u>>2]|0)>>>0>r>>>0?r+4|0:r),t[n>>2]=t[r>>2]}else{u=(l-s>>2)+1|0,l=R0(e)|0,l>>>0<u>>>0&&hi(e),M=t[e>>2]|0,N=(t[h>>2]|0)-M|0,s=N>>1,Y(ye,N>>2>>>0<l>>>1>>>0?s>>>0<u>>>0?u:s:l,n-M>>2,e+8|0),M=ye+8|0,u=t[M>>2]|0,s=ye+12|0,N=t[s>>2]|0,h=N,S=u;do if((u|0)==(N|0)){if(N=ye+4|0,u=t[N>>2]|0,Ge=t[ye>>2]|0,l=Ge,u>>>0<=Ge>>>0){u=h-l>>1,u=(u|0)==0?1:u,Y(K,u,u>>>2,t[ye+16>>2]|0),t[be>>2]=t[N>>2],t[Se>>2]=t[M>>2],t[D>>2]=t[be>>2],t[I>>2]=t[Se>>2],Di(K,D,I),u=t[ye>>2]|0,t[ye>>2]=t[K>>2],t[K>>2]=u,u=K+4|0,Ge=t[N>>2]|0,t[N>>2]=t[u>>2],t[u>>2]=Ge,u=K+8|0,Ge=t[M>>2]|0,t[M>>2]=t[u>>2],t[u>>2]=Ge,u=K+12|0,Ge=t[s>>2]|0,t[s>>2]=t[u>>2],t[u>>2]=Ge,ii(K),u=t[M>>2]|0;break}s=u,h=((s-l>>2)+1|0)/-2|0,D=u+(h<<2)|0,l=S-s|0,s=l>>2,s&&(Ty(D|0,u|0,l|0)|0,u=t[N>>2]|0),Ge=D+(s<<2)|0,t[M>>2]=Ge,t[N>>2]=u+(h<<2),u=Ge}while(0);t[u>>2]=t[r>>2],t[M>>2]=(t[M>>2]|0)+4,n=at(e,ye,n)|0,ii(ye)}while(0);return m=Je,n|0}function Qn(e){e=e|0;var n=0;do{if(n=e+984|0,p[n>>0]|0)break;p[n>>0]=1,C[e+504>>2]=w(ie),e=t[e+944>>2]|0}while((e|0)!=0)}function ac(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-4-u|0)>>>2)<<2)),_t(r))}function fi(e){return e=e|0,t[e+944>>2]|0}function $r(e){e=e|0,qu(e,(t[e+964>>2]|0)!=0,2832),Qn(e)}function Zl(e){return e=e|0,(p[e+984>>0]|0)!=0|0}function oa(e,n){e=e|0,n=n|0,gL(e,n,400)|0&&(gr(e|0,n|0,400)|0,Qn(e))}function pf(e){e=e|0;var n=Tt;return n=w(C[e+44>>2]),e=Ne(n)|0,w(e?w(0):n)}function bs(e){e=e|0;var n=Tt;return n=w(C[e+48>>2]),Ne(n)|0&&(n=p[(t[e+976>>2]|0)+2>>0]|0?w(1):w(0)),w(n)}function ba(e,n){e=e|0,n=n|0,t[e+980>>2]=n}function Bs(e){return e=e|0,t[e+980>>2]|0}function y0(e,n){e=e|0,n=n|0;var r=0;r=e+4|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Qn(e))}function Us(e){return e=e|0,t[e+4>>2]|0}function ji(e,n){e=e|0,n=n|0;var r=0;r=e+8|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Qn(e))}function B(e){return e=e|0,t[e+8>>2]|0}function z(e,n){e=e|0,n=n|0;var r=0;r=e+12|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Qn(e))}function G(e){return e=e|0,t[e+12>>2]|0}function $(e,n){e=e|0,n=n|0;var r=0;r=e+16|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Qn(e))}function Te(e){return e=e|0,t[e+16>>2]|0}function ge(e,n){e=e|0,n=n|0;var r=0;r=e+20|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Qn(e))}function Re(e){return e=e|0,t[e+20>>2]|0}function Z(e,n){e=e|0,n=n|0;var r=0;r=e+24|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Qn(e))}function ke(e){return e=e|0,t[e+24>>2]|0}function Qe(e,n){e=e|0,n=n|0;var r=0;r=e+28|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Qn(e))}function ht(e){return e=e|0,t[e+28>>2]|0}function ue(e,n){e=e|0,n=n|0;var r=0;r=e+32|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Qn(e))}function He(e){return e=e|0,t[e+32>>2]|0}function nt(e,n){e=e|0,n=n|0;var r=0;r=e+36|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Qn(e))}function Ct(e){return e=e|0,t[e+36>>2]|0}function Mt(e,n){e=e|0,n=w(n);var r=0;r=e+40|0,w(C[r>>2])!=n&&(C[r>>2]=n,Qn(e))}function It(e,n){e=e|0,n=w(n);var r=0;r=e+44|0,w(C[r>>2])!=n&&(C[r>>2]=n,Qn(e))}function sn(e,n){e=e|0,n=w(n);var r=0;r=e+48|0,w(C[r>>2])!=n&&(C[r>>2]=n,Qn(e))}function rn(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Ne(n)|0,r=(s^1)&1,u=e+52|0,l=e+56|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Qn(e))}function Lt(e,n){e=e|0,n=w(n);var r=0,u=0;u=e+52|0,r=e+56|0,(w(C[u>>2])==n?(t[r>>2]|0)==2:0)||(C[u>>2]=n,u=Ne(n)|0,t[r>>2]=u?3:2,Qn(e))}function Dn(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+52|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function dr(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Ne(r)|0,u=(s^1)&1,l=e+132+(n<<3)|0,n=e+132+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Qn(e))}function er(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Ne(r)|0,u=s?0:2,l=e+132+(n<<3)|0,n=e+132+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Qn(e))}function Cr(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=n+132+(r<<3)|0,n=t[u+4>>2]|0,r=e,t[r>>2]=t[u>>2],t[r+4>>2]=n}function An(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Ne(r)|0,u=(s^1)&1,l=e+60+(n<<3)|0,n=e+60+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Qn(e))}function Nr(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Ne(r)|0,u=s?0:2,l=e+60+(n<<3)|0,n=e+60+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Qn(e))}function g0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=n+60+(r<<3)|0,n=t[u+4>>2]|0,r=e,t[r>>2]=t[u>>2],t[r+4>>2]=n}function Lr(e,n){e=e|0,n=n|0;var r=0;r=e+60+(n<<3)+4|0,(t[r>>2]|0)!=3&&(C[e+60+(n<<3)>>2]=w(ie),t[r>>2]=3,Qn(e))}function it(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Ne(r)|0,u=(s^1)&1,l=e+204+(n<<3)|0,n=e+204+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Qn(e))}function Dt(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Ne(r)|0,u=s?0:2,l=e+204+(n<<3)|0,n=e+204+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Qn(e))}function $e(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=n+204+(r<<3)|0,n=t[u+4>>2]|0,r=e,t[r>>2]=t[u>>2],t[r+4>>2]=n}function Pt(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Ne(r)|0,u=(s^1)&1,l=e+276+(n<<3)|0,n=e+276+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Qn(e))}function un(e,n){return e=e|0,n=n|0,w(C[e+276+(n<<3)>>2])}function fn(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Ne(n)|0,r=(s^1)&1,u=e+348|0,l=e+352|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Qn(e))}function Jn(e,n){e=e|0,n=w(n);var r=0,u=0;u=e+348|0,r=e+352|0,(w(C[u>>2])==n?(t[r>>2]|0)==2:0)||(C[u>>2]=n,u=Ne(n)|0,t[r>>2]=u?3:2,Qn(e))}function wr(e){e=e|0;var n=0;n=e+352|0,(t[n>>2]|0)!=3&&(C[e+348>>2]=w(ie),t[n>>2]=3,Qn(e))}function au(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+348|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function Nu(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Ne(n)|0,r=(s^1)&1,u=e+356|0,l=e+360|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Qn(e))}function T0(e,n){e=e|0,n=w(n);var r=0,u=0;u=e+356|0,r=e+360|0,(w(C[u>>2])==n?(t[r>>2]|0)==2:0)||(C[u>>2]=n,u=Ne(n)|0,t[r>>2]=u?3:2,Qn(e))}function J0(e){e=e|0;var n=0;n=e+360|0,(t[n>>2]|0)!=3&&(C[e+356>>2]=w(ie),t[n>>2]=3,Qn(e))}function Lu(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+356|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function _i(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Ne(n)|0,r=(s^1)&1,u=e+364|0,l=e+368|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Qn(e))}function Fo(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Ne(n)|0,r=s?0:2,u=e+364|0,l=e+368|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Qn(e))}function nl(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+364|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function hf(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Ne(n)|0,r=(s^1)&1,u=e+372|0,l=e+376|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Qn(e))}function Sl(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Ne(n)|0,r=s?0:2,u=e+372|0,l=e+376|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Qn(e))}function vf(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+372|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function Po(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Ne(n)|0,r=(s^1)&1,u=e+380|0,l=e+384|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Qn(e))}function ys(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Ne(n)|0,r=s?0:2,u=e+380|0,l=e+384|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Qn(e))}function js(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+380|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function Io(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Ne(n)|0,r=(s^1)&1,u=e+388|0,l=e+392|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Qn(e))}function bo(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Ne(n)|0,r=s?0:2,u=e+388|0,l=e+392|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Qn(e))}function gs(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+388|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function Qu(e,n){e=e|0,n=w(n);var r=0;r=e+396|0,w(C[r>>2])!=n&&(C[r>>2]=n,Qn(e))}function Tu(e){return e=e|0,w(C[e+396>>2])}function Ei(e){return e=e|0,w(C[e+400>>2])}function C0(e){return e=e|0,w(C[e+404>>2])}function Z0(e){return e=e|0,w(C[e+408>>2])}function Bo(e){return e=e|0,w(C[e+412>>2])}function la(e){return e=e|0,w(C[e+416>>2])}function $l(e){return e=e|0,w(C[e+420>>2])}function tu(e,n){switch(e=e|0,n=n|0,qu(e,(n|0)<6,2918),n|0){case 0:{n=(t[e+496>>2]|0)==2?5:4;break}case 2:{n=(t[e+496>>2]|0)==2?4:5;break}default:}return w(C[e+424+(n<<2)>>2])}function ei(e,n){switch(e=e|0,n=n|0,qu(e,(n|0)<6,2918),n|0){case 0:{n=(t[e+496>>2]|0)==2?5:4;break}case 2:{n=(t[e+496>>2]|0)==2?4:5;break}default:}return w(C[e+448+(n<<2)>>2])}function po(e,n){switch(e=e|0,n=n|0,qu(e,(n|0)<6,2918),n|0){case 0:{n=(t[e+496>>2]|0)==2?5:4;break}case 2:{n=(t[e+496>>2]|0)==2?4:5;break}default:}return w(C[e+472+(n<<2)>>2])}function Bi(e,n){e=e|0,n=n|0;var r=0,u=Tt;return r=t[e+4>>2]|0,(r|0)==(t[n+4>>2]|0)?r?(u=w(C[e>>2]),e=w(Ft(w(u-w(C[n>>2]))))<w(999999974e-13)):e=1:e=0,e|0}function Ci(e,n){e=w(e),n=w(n);var r=0;return Ne(e)|0?r=Ne(n)|0:r=w(Ft(w(e-n)))<w(999999974e-13),r|0}function mf(e,n){e=e|0,n=n|0,yf(e,n)}function yf(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r+4|0,t[u>>2]=0,t[u+4>>2]=0,t[u+8>>2]=0,X0(u|0,e|0,n|0,0),pr(e,3,(p[u+11>>0]|0)<0?t[u>>2]|0:u,r),zL(u),m=r}function $0(e,n,r,u){e=w(e),n=w(n),r=r|0,u=u|0;var l=Tt;e=w(e*n),l=w(OE(e,w(1)));do if(Ci(l,w(0))|0)e=w(e-l);else{if(e=w(e-l),Ci(l,w(1))|0){e=w(e+w(1));break}if(r){e=w(e+w(1));break}u||(l>w(.5)?l=w(1):(u=Ci(l,w(.5))|0,l=w(u?1:0)),e=w(e+l))}while(0);return w(e/n)}function eo(e,n,r,u,l,s,h,D,S,N,M,I,K){e=e|0,n=w(n),r=r|0,u=w(u),l=l|0,s=w(s),h=h|0,D=w(D),S=w(S),N=w(N),M=w(M),I=w(I),K=K|0;var be=0,Se=Tt,ye=Tt,Je=Tt,Ge=Tt,ft=Tt,Me=Tt;return S<w(0)|N<w(0)?K=0:(((K|0)!=0?(Se=w(C[K+4>>2]),Se!=w(0)):0)?(Je=w($0(n,Se,0,0)),Ge=w($0(u,Se,0,0)),ye=w($0(s,Se,0,0)),Se=w($0(D,Se,0,0))):(ye=s,Je=n,Se=D,Ge=u),(l|0)==(e|0)?be=Ci(ye,Je)|0:be=0,(h|0)==(r|0)?K=Ci(Se,Ge)|0:K=0,((be?0:(ft=w(n-M),!(Ce(e,ft,S)|0)))?!(et(e,ft,l,S)|0):0)?be=Ye(e,ft,l,s,S)|0:be=1,((K?0:(Me=w(u-I),!(Ce(r,Me,N)|0)))?!(et(r,Me,h,N)|0):0)?K=Ye(r,Me,h,D,N)|0:K=1,K=be&K),K|0}function Ce(e,n,r){return e=e|0,n=w(n),r=w(r),(e|0)==1?e=Ci(n,r)|0:e=0,e|0}function et(e,n,r,u){return e=e|0,n=w(n),r=r|0,u=w(u),(e|0)==2&(r|0)==0?n>=u?e=1:e=Ci(n,u)|0:e=0,e|0}function Ye(e,n,r,u,l){return e=e|0,n=w(n),r=r|0,u=w(u),l=w(l),(e|0)==2&(r|0)==2&u>n?l<=n?e=1:e=Ci(n,l)|0:e=0,e|0}function Yt(e,n,r,u,l,s,h,D,S,N,M){e=e|0,n=w(n),r=w(r),u=u|0,l=l|0,s=s|0,h=w(h),D=w(D),S=S|0,N=N|0,M=M|0;var I=0,K=0,be=0,Se=0,ye=Tt,Je=Tt,Ge=0,ft=0,Me=0,Pe=0,Zt=0,Br=0,In=0,gn=0,_r=0,Pr=0,Nn=0,uu=Tt,os=Tt,ls=Tt,ss=0,ea=0;Nn=m,m=m+160|0,gn=Nn+152|0,In=Nn+120|0,Br=Nn+104|0,Me=Nn+72|0,Se=Nn+56|0,Zt=Nn+8|0,ft=Nn,Pe=(t[2279]|0)+1|0,t[2279]=Pe,_r=e+984|0,((p[_r>>0]|0)!=0?(t[e+512>>2]|0)!=(t[2278]|0):0)?Ge=4:(t[e+516>>2]|0)==(u|0)?Pr=0:Ge=4,(Ge|0)==4&&(t[e+520>>2]=0,t[e+924>>2]=-1,t[e+928>>2]=-1,C[e+932>>2]=w(-1),C[e+936>>2]=w(-1),Pr=1);e:do if(t[e+964>>2]|0)if(ye=w(Kt(e,2,h)),Je=w(Kt(e,0,h)),I=e+916|0,ls=w(C[I>>2]),os=w(C[e+920>>2]),uu=w(C[e+932>>2]),eo(l,n,s,r,t[e+924>>2]|0,ls,t[e+928>>2]|0,os,uu,w(C[e+936>>2]),ye,Je,M)|0)Ge=22;else if(be=t[e+520>>2]|0,!be)Ge=21;else for(K=0;;){if(I=e+524+(K*24|0)|0,uu=w(C[I>>2]),os=w(C[e+524+(K*24|0)+4>>2]),ls=w(C[e+524+(K*24|0)+16>>2]),eo(l,n,s,r,t[e+524+(K*24|0)+8>>2]|0,uu,t[e+524+(K*24|0)+12>>2]|0,os,ls,w(C[e+524+(K*24|0)+20>>2]),ye,Je,M)|0){Ge=22;break e}if(K=K+1|0,K>>>0>=be>>>0){Ge=21;break}}else{if(S){if(I=e+916|0,!(Ci(w(C[I>>2]),n)|0)){Ge=21;break}if(!(Ci(w(C[e+920>>2]),r)|0)){Ge=21;break}if((t[e+924>>2]|0)!=(l|0)){Ge=21;break}I=(t[e+928>>2]|0)==(s|0)?I:0,Ge=22;break}if(be=t[e+520>>2]|0,!be)Ge=21;else for(K=0;;){if(I=e+524+(K*24|0)|0,((Ci(w(C[I>>2]),n)|0?Ci(w(C[e+524+(K*24|0)+4>>2]),r)|0:0)?(t[e+524+(K*24|0)+8>>2]|0)==(l|0):0)?(t[e+524+(K*24|0)+12>>2]|0)==(s|0):0){Ge=22;break e}if(K=K+1|0,K>>>0>=be>>>0){Ge=21;break}}}while(0);do if((Ge|0)==21)p[11697]|0?(I=0,Ge=28):(I=0,Ge=31);else if((Ge|0)==22){if(K=(p[11697]|0)!=0,!((I|0)!=0&(Pr^1)))if(K){Ge=28;break}else{Ge=31;break}Se=I+16|0,t[e+908>>2]=t[Se>>2],be=I+20|0,t[e+912>>2]=t[be>>2],(p[11698]|0)==0|K^1||(t[ft>>2]=Wr(Pe)|0,t[ft+4>>2]=Pe,pr(e,4,2972,ft),K=t[e+972>>2]|0,K|0&&F1[K&127](e),l=xn(l,S)|0,s=xn(s,S)|0,ea=+w(C[Se>>2]),ss=+w(C[be>>2]),t[Zt>>2]=l,t[Zt+4>>2]=s,U[Zt+8>>3]=+n,U[Zt+16>>3]=+r,U[Zt+24>>3]=ea,U[Zt+32>>3]=ss,t[Zt+40>>2]=N,pr(e,4,2989,Zt))}while(0);return(Ge|0)==28&&(K=Wr(Pe)|0,t[Se>>2]=K,t[Se+4>>2]=Pe,t[Se+8>>2]=Pr?3047:11699,pr(e,4,3038,Se),K=t[e+972>>2]|0,K|0&&F1[K&127](e),Zt=xn(l,S)|0,Ge=xn(s,S)|0,t[Me>>2]=Zt,t[Me+4>>2]=Ge,U[Me+8>>3]=+n,U[Me+16>>3]=+r,t[Me+24>>2]=N,pr(e,4,3049,Me),Ge=31),(Ge|0)==31&&(yu(e,n,r,u,l,s,h,D,S,M),p[11697]|0&&(K=t[2279]|0,Zt=Wr(K)|0,t[Br>>2]=Zt,t[Br+4>>2]=K,t[Br+8>>2]=Pr?3047:11699,pr(e,4,3083,Br),K=t[e+972>>2]|0,K|0&&F1[K&127](e),Zt=xn(l,S)|0,Br=xn(s,S)|0,ss=+w(C[e+908>>2]),ea=+w(C[e+912>>2]),t[In>>2]=Zt,t[In+4>>2]=Br,U[In+8>>3]=ss,U[In+16>>3]=ea,t[In+24>>2]=N,pr(e,4,3092,In)),t[e+516>>2]=u,I||(K=e+520|0,I=t[K>>2]|0,(I|0)==16&&(p[11697]|0&&pr(e,4,3124,gn),t[K>>2]=0,I=0),S?I=e+916|0:(t[K>>2]=I+1,I=e+524+(I*24|0)|0),C[I>>2]=n,C[I+4>>2]=r,t[I+8>>2]=l,t[I+12>>2]=s,t[I+16>>2]=t[e+908>>2],t[I+20>>2]=t[e+912>>2],I=0)),S&&(t[e+416>>2]=t[e+908>>2],t[e+420>>2]=t[e+912>>2],p[e+985>>0]=1,p[_r>>0]=0),t[2279]=(t[2279]|0)+-1,t[e+512>>2]=t[2278],m=Nn,Pr|(I|0)==0|0}function Kt(e,n,r){e=e|0,n=n|0,r=w(r);var u=Tt;return u=w(zi(e,n,r)),w(u+w(A0(e,n,r)))}function pr(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=m,m=m+16|0,l=s,t[l>>2]=u,e?u=t[e+976>>2]|0:u=0,zs(u,e,n,r,l),m=s}function Wr(e){return e=e|0,(e>>>0>60?3201:3201+(60-e)|0)|0}function xn(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;return l=m,m=m+32|0,r=l+12|0,u=l,t[r>>2]=t[254],t[r+4>>2]=t[255],t[r+8>>2]=t[256],t[u>>2]=t[257],t[u+4>>2]=t[258],t[u+8>>2]=t[259],(e|0)>2?e=11699:e=t[(n?u:r)+(e<<2)>>2]|0,m=l,e|0}function yu(e,n,r,u,l,s,h,D,S,N){e=e|0,n=w(n),r=w(r),u=u|0,l=l|0,s=s|0,h=w(h),D=w(D),S=S|0,N=N|0;var M=0,I=0,K=0,be=0,Se=Tt,ye=Tt,Je=Tt,Ge=Tt,ft=Tt,Me=Tt,Pe=Tt,Zt=0,Br=0,In=0,gn=Tt,_r=Tt,Pr=0,Nn=Tt,uu=0,os=0,ls=0,ss=0,ea=0,n2=0,r2=0,uf=0,i2=0,Fc=0,Pc=0,u2=0,o2=0,l2=0,vi=0,of=0,s2=0,Yf=0,a2=Tt,f2=Tt,Ic=Tt,bc=Tt,Kf=Tt,Hl=0,La=0,Ns=0,lf=0,I1=0,b1=Tt,Bc=Tt,B1=Tt,U1=Tt,ql=Tt,_l=Tt,sf=0,hu=Tt,j1=Tt,as=Tt,Xf=Tt,fs=Tt,Qf=Tt,z1=0,H1=0,Jf=Tt,Wl=Tt,af=0,q1=0,W1=0,V1=0,Sr=Tt,Bu=0,El=0,cs=0,Vl=0,Or=0,Bn=0,ff=0,mn=Tt,G1=0,f0=0;ff=m,m=m+16|0,Hl=ff+12|0,La=ff+8|0,Ns=ff+4|0,lf=ff,qu(e,(l|0)==0|(Ne(n)|0)^1,3326),qu(e,(s|0)==0|(Ne(r)|0)^1,3406),El=Cl(e,u)|0,t[e+496>>2]=El,Or=B0(2,El)|0,Bn=B0(0,El)|0,C[e+440>>2]=w(zi(e,Or,h)),C[e+444>>2]=w(A0(e,Or,h)),C[e+428>>2]=w(zi(e,Bn,h)),C[e+436>>2]=w(A0(e,Bn,h)),C[e+464>>2]=w(O0(e,Or)),C[e+468>>2]=w(ho(e,Or)),C[e+452>>2]=w(O0(e,Bn)),C[e+460>>2]=w(ho(e,Bn)),C[e+488>>2]=w(Pu(e,Or,h)),C[e+492>>2]=w(Zu(e,Or,h)),C[e+476>>2]=w(Pu(e,Bn,h)),C[e+484>>2]=w(Zu(e,Bn,h));do if(t[e+964>>2]|0)es(e,n,r,l,s,h,D);else{if(cs=e+948|0,Vl=(t[e+952>>2]|0)-(t[cs>>2]|0)>>2,!Vl){_s(e,n,r,l,s,h,D);break}if(S?0:aa(e,n,r,l,s,h,D)|0)break;ms(e),of=e+508|0,p[of>>0]=0,Or=B0(t[e+4>>2]|0,El)|0,Bn=gf(Or,El)|0,Bu=Hi(Or)|0,s2=t[e+8>>2]|0,q1=e+28|0,Yf=(t[q1>>2]|0)!=0,fs=Bu?h:D,Jf=Bu?D:h,a2=w($u(e,Or,h)),f2=w(Es(e,Or,h)),Se=w($u(e,Bn,h)),Qf=w(Rr(e,Or,h)),Wl=w(Rr(e,Bn,h)),In=Bu?l:s,af=Bu?s:l,Sr=Bu?Qf:Wl,ft=Bu?Wl:Qf,Xf=w(Kt(e,2,h)),Ge=w(Kt(e,0,h)),ye=w(w(Rn(e+364|0,h))-Sr),Je=w(w(Rn(e+380|0,h))-Sr),Me=w(w(Rn(e+372|0,D))-ft),Pe=w(w(Rn(e+388|0,D))-ft),Ic=Bu?ye:Me,bc=Bu?Je:Pe,Xf=w(n-Xf),n=w(Xf-Sr),Ne(n)|0?Sr=n:Sr=w(Ru(w(Xp(n,Je)),ye)),j1=w(r-Ge),n=w(j1-ft),Ne(n)|0?as=n:as=w(Ru(w(Xp(n,Pe)),Me)),ye=Bu?Sr:as,hu=Bu?as:Sr;e:do if((In|0)==1)for(u=0,I=0;;){if(M=Ti(e,I)|0,!u)(w(nu(M))>w(0)?w(fu(M))>w(0):0)?u=M:u=0;else if(to(M)|0){be=0;break e}if(I=I+1|0,I>>>0>=Vl>>>0){be=u;break}}else be=0;while(0);Zt=be+500|0,Br=be+504|0,u=0,M=0,n=w(0),K=0;do{if(I=t[(t[cs>>2]|0)+(K<<2)>>2]|0,(t[I+36>>2]|0)==1)Li(I),p[I+985>>0]=1,p[I+984>>0]=0;else{Jr(I),S&&x0(I,Cl(I,El)|0,ye,hu,Sr);do if((t[I+24>>2]|0)!=1)if((I|0)==(be|0)){t[Zt>>2]=t[2278],C[Br>>2]=w(0);break}else{ni(e,I,Sr,l,as,Sr,as,s,El,N);break}else M|0&&(t[M+960>>2]=I),t[I+960>>2]=0,M=I,u=(u|0)==0?I:u;while(0);_l=w(C[I+504>>2]),n=w(n+w(_l+w(Kt(I,Or,Sr))))}K=K+1|0}while((K|0)!=(Vl|0));for(ls=n>ye,sf=Yf&((In|0)==2&ls)?1:In,uu=(af|0)==1,ea=uu&(S^1),n2=(sf|0)==1,r2=(sf|0)==2,uf=976+(Or<<2)|0,i2=(af|2|0)==2,l2=uu&(Yf^1),Fc=1040+(Bn<<2)|0,Pc=1040+(Or<<2)|0,u2=976+(Bn<<2)|0,o2=(af|0)!=1,ls=Yf&((In|0)!=0&ls),os=e+976|0,uu=uu^1,n=ye,Pr=0,ss=0,_l=w(0),Kf=w(0);;){e:do if(Pr>>>0<Vl>>>0)for(Br=t[cs>>2]|0,K=0,Pe=w(0),Me=w(0),Je=w(0),ye=w(0),I=0,M=0,be=Pr;;){if(Zt=t[Br+(be<<2)>>2]|0,(t[Zt+36>>2]|0)!=1?(t[Zt+940>>2]=ss,(t[Zt+24>>2]|0)!=1):0){if(Ge=w(Kt(Zt,Or,Sr)),vi=t[uf>>2]|0,r=w(Rn(Zt+380+(vi<<3)|0,fs)),ft=w(C[Zt+504>>2]),r=w(Xp(r,ft)),r=w(Ru(w(Rn(Zt+364+(vi<<3)|0,fs)),r)),Yf&(K|0)!=0&w(Ge+w(Me+r))>n){s=K,Ge=Pe,In=be;break e}Ge=w(Ge+r),r=w(Me+Ge),Ge=w(Pe+Ge),to(Zt)|0&&(Je=w(Je+w(nu(Zt))),ye=w(ye-w(ft*w(fu(Zt))))),M|0&&(t[M+960>>2]=Zt),t[Zt+960>>2]=0,K=K+1|0,M=Zt,I=(I|0)==0?Zt:I}else Ge=Pe,r=Me;if(be=be+1|0,be>>>0<Vl>>>0)Pe=Ge,Me=r;else{s=K,In=be;break}}else s=0,Ge=w(0),Je=w(0),ye=w(0),I=0,In=Pr;while(0);vi=Je>w(0)&Je<w(1),gn=vi?w(1):Je,vi=ye>w(0)&ye<w(1),Pe=vi?w(1):ye;do if(n2)vi=51;else if(Ge<Ic&((Ne(Ic)|0)^1))n=Ic,vi=51;else if(Ge>bc&((Ne(bc)|0)^1))n=bc,vi=51;else if(p[(t[os>>2]|0)+3>>0]|0)vi=51;else{if(gn!=w(0)?w(nu(e))!=w(0):0){vi=53;break}n=Ge,vi=53}while(0);if((vi|0)==51&&(vi=0,Ne(n)|0?vi=53:(_r=w(n-Ge),Nn=n)),(vi|0)==53&&(vi=0,Ge<w(0)?(_r=w(-Ge),Nn=n):(_r=w(0),Nn=n)),ea?0:(I1=(I|0)==0,!I1)){K=t[uf>>2]|0,be=_r<w(0),ft=w(_r/Pe),Zt=_r>w(0),Me=w(_r/gn),Je=w(0),Ge=w(0),n=w(0),M=I;do r=w(Rn(M+380+(K<<3)|0,fs)),ye=w(Rn(M+364+(K<<3)|0,fs)),ye=w(Xp(r,w(Ru(ye,w(C[M+504>>2]))))),be?(r=w(ye*w(fu(M))),(r!=w(-0)?(mn=w(ye-w(ft*r)),b1=w(Kn(M,Or,mn,Nn,Sr)),mn!=b1):0)&&(Je=w(Je-w(b1-ye)),n=w(n+r))):((Zt?(Bc=w(nu(M)),Bc!=w(0)):0)?(mn=w(ye+w(Me*Bc)),B1=w(Kn(M,Or,mn,Nn,Sr)),mn!=B1):0)&&(Je=w(Je-w(B1-ye)),Ge=w(Ge-Bc)),M=t[M+960>>2]|0;while((M|0)!=0);if(n=w(Pe+n),ye=w(_r+Je),I1)n=w(0);else{ft=w(gn+Ge),be=t[uf>>2]|0,Zt=ye<w(0),Br=n==w(0),Me=w(ye/n),K=ye>w(0),ft=w(ye/ft),n=w(0);do{mn=w(Rn(I+380+(be<<3)|0,fs)),Je=w(Rn(I+364+(be<<3)|0,fs)),Je=w(Xp(mn,w(Ru(Je,w(C[I+504>>2]))))),Zt?(mn=w(Je*w(fu(I))),ye=w(-mn),mn!=w(-0)?(mn=w(Me*ye),ye=w(Kn(I,Or,w(Je+(Br?ye:mn)),Nn,Sr))):ye=Je):(K?(U1=w(nu(I)),U1!=w(0)):0)?ye=w(Kn(I,Or,w(Je+w(ft*U1)),Nn,Sr)):ye=Je,n=w(n-w(ye-Je)),Ge=w(Kt(I,Or,Sr)),r=w(Kt(I,Bn,Sr)),ye=w(ye+Ge),C[La>>2]=ye,t[lf>>2]=1,Je=w(C[I+396>>2]);e:do if(Ne(Je)|0){M=Ne(hu)|0;do if(!M){if(ls|(Wu(I,Bn,hu)|0|uu)||(e0(e,I)|0)!=4||(t[(_0(I,Bn)|0)+4>>2]|0)==3||(t[(E0(I,Bn)|0)+4>>2]|0)==3)break;C[Hl>>2]=hu,t[Ns>>2]=1;break e}while(0);if(Wu(I,Bn,hu)|0){M=t[I+992+(t[u2>>2]<<2)>>2]|0,mn=w(r+w(Rn(M,hu))),C[Hl>>2]=mn,M=o2&(t[M+4>>2]|0)==2,t[Ns>>2]=((Ne(mn)|0|M)^1)&1;break}else{C[Hl>>2]=hu,t[Ns>>2]=M?0:2;break}}else mn=w(ye-Ge),gn=w(mn/Je),mn=w(Je*mn),t[Ns>>2]=1,C[Hl>>2]=w(r+(Bu?gn:mn));while(0);Fn(I,Or,Nn,Sr,lf,La),Fn(I,Bn,hu,Sr,Ns,Hl);do if(Wu(I,Bn,hu)|0?0:(e0(e,I)|0)==4){if((t[(_0(I,Bn)|0)+4>>2]|0)==3){M=0;break}M=(t[(E0(I,Bn)|0)+4>>2]|0)!=3}else M=0;while(0);mn=w(C[La>>2]),gn=w(C[Hl>>2]),G1=t[lf>>2]|0,f0=t[Ns>>2]|0,Yt(I,Bu?mn:gn,Bu?gn:mn,El,Bu?G1:f0,Bu?f0:G1,Sr,as,S&(M^1),3488,N)|0,p[of>>0]=p[of>>0]|p[I+508>>0],I=t[I+960>>2]|0}while((I|0)!=0)}}else n=w(0);if(n=w(_r+n),f0=n<w(0)&1,p[of>>0]=f0|k[of>>0],r2&n>w(0)?(M=t[uf>>2]|0,((t[e+364+(M<<3)+4>>2]|0)!=0?(ql=w(Rn(e+364+(M<<3)|0,fs)),ql>=w(0)):0)?ye=w(Ru(w(0),w(ql-w(Nn-n)))):ye=w(0)):ye=n,Zt=Pr>>>0<In>>>0,Zt){be=t[cs>>2]|0,K=Pr,M=0;do I=t[be+(K<<2)>>2]|0,t[I+24>>2]|0||(M=((t[(_0(I,Or)|0)+4>>2]|0)==3&1)+M|0,M=M+((t[(E0(I,Or)|0)+4>>2]|0)==3&1)|0),K=K+1|0;while((K|0)!=(In|0));M?(Ge=w(0),r=w(0)):vi=101}else vi=101;e:do if((vi|0)==101)switch(vi=0,s2|0){case 1:{M=0,Ge=w(ye*w(.5)),r=w(0);break e}case 2:{M=0,Ge=ye,r=w(0);break e}case 3:{if(s>>>0<=1){M=0,Ge=w(0),r=w(0);break e}r=w((s+-1|0)>>>0),M=0,Ge=w(0),r=w(w(Ru(ye,w(0)))/r);break e}case 5:{r=w(ye/w((s+1|0)>>>0)),M=0,Ge=r;break e}case 4:{r=w(ye/w(s>>>0)),M=0,Ge=w(r*w(.5));break e}default:{M=0,Ge=w(0),r=w(0);break e}}while(0);if(n=w(a2+Ge),Zt){Je=w(ye/w(M|0)),K=t[cs>>2]|0,I=Pr,ye=w(0);do{M=t[K+(I<<2)>>2]|0;e:do if((t[M+36>>2]|0)!=1){switch(t[M+24>>2]|0){case 1:{if(ae(M,Or)|0){if(!S)break e;mn=w(re(M,Or,Nn)),mn=w(mn+w(O0(e,Or))),mn=w(mn+w(zi(M,Or,Sr))),C[M+400+(t[Pc>>2]<<2)>>2]=mn;break e}break}case 0:if(f0=(t[(_0(M,Or)|0)+4>>2]|0)==3,mn=w(Je+n),n=f0?mn:n,S&&(f0=M+400+(t[Pc>>2]<<2)|0,C[f0>>2]=w(n+w(C[f0>>2]))),f0=(t[(E0(M,Or)|0)+4>>2]|0)==3,mn=w(Je+n),n=f0?mn:n,ea){mn=w(r+w(Kt(M,Or,Sr))),ye=hu,n=w(n+w(mn+w(C[M+504>>2])));break e}else{n=w(n+w(r+w(Fe(M,Or,Sr)))),ye=w(Ru(ye,w(Fe(M,Bn,Sr))));break e}default:}S&&(mn=w(Ge+w(O0(e,Or))),f0=M+400+(t[Pc>>2]<<2)|0,C[f0>>2]=w(mn+w(C[f0>>2])))}while(0);I=I+1|0}while((I|0)!=(In|0))}else ye=w(0);if(r=w(f2+n),i2?Ge=w(w(Kn(e,Bn,w(Wl+ye),Jf,h))-Wl):Ge=hu,Je=w(w(Kn(e,Bn,w(Wl+(l2?hu:ye)),Jf,h))-Wl),Zt&S){I=Pr;do{K=t[(t[cs>>2]|0)+(I<<2)>>2]|0;do if((t[K+36>>2]|0)!=1){if((t[K+24>>2]|0)==1){if(ae(K,Bn)|0){if(mn=w(re(K,Bn,hu)),mn=w(mn+w(O0(e,Bn))),mn=w(mn+w(zi(K,Bn,Sr))),M=t[Fc>>2]|0,C[K+400+(M<<2)>>2]=mn,!(Ne(mn)|0))break}else M=t[Fc>>2]|0;mn=w(O0(e,Bn)),C[K+400+(M<<2)>>2]=w(mn+w(zi(K,Bn,Sr)));break}M=e0(e,K)|0;do if((M|0)==4){if((t[(_0(K,Bn)|0)+4>>2]|0)==3){vi=139;break}if((t[(E0(K,Bn)|0)+4>>2]|0)==3){vi=139;break}if(Wu(K,Bn,hu)|0){n=Se;break}G1=t[K+908+(t[uf>>2]<<2)>>2]|0,t[Hl>>2]=G1,n=w(C[K+396>>2]),f0=Ne(n)|0,ye=(t[W>>2]=G1,w(C[W>>2])),f0?n=Je:(_r=w(Kt(K,Bn,Sr)),mn=w(ye/n),n=w(n*ye),n=w(_r+(Bu?mn:n))),C[La>>2]=n,C[Hl>>2]=w(w(Kt(K,Or,Sr))+ye),t[Ns>>2]=1,t[lf>>2]=1,Fn(K,Or,Nn,Sr,Ns,Hl),Fn(K,Bn,hu,Sr,lf,La),n=w(C[Hl>>2]),_r=w(C[La>>2]),mn=Bu?n:_r,n=Bu?_r:n,f0=((Ne(mn)|0)^1)&1,Yt(K,mn,n,El,f0,((Ne(n)|0)^1)&1,Sr,as,1,3493,N)|0,n=Se}else vi=139;while(0);e:do if((vi|0)==139){vi=0,n=w(Ge-w(Fe(K,Bn,Sr)));do if((t[(_0(K,Bn)|0)+4>>2]|0)==3){if((t[(E0(K,Bn)|0)+4>>2]|0)!=3)break;n=w(Se+w(Ru(w(0),w(n*w(.5)))));break e}while(0);if((t[(E0(K,Bn)|0)+4>>2]|0)==3){n=Se;break}if((t[(_0(K,Bn)|0)+4>>2]|0)==3){n=w(Se+w(Ru(w(0),n)));break}switch(M|0){case 1:{n=Se;break e}case 2:{n=w(Se+w(n*w(.5)));break e}default:{n=w(Se+n);break e}}}while(0);mn=w(_l+n),f0=K+400+(t[Fc>>2]<<2)|0,C[f0>>2]=w(mn+w(C[f0>>2]))}while(0);I=I+1|0}while((I|0)!=(In|0))}if(_l=w(_l+Je),Kf=w(Ru(Kf,r)),s=ss+1|0,In>>>0>=Vl>>>0)break;n=Nn,Pr=In,ss=s}do if(S){if(M=s>>>0>1,M?0:!(Ae(e)|0))break;if(!(Ne(hu)|0)){n=w(hu-_l);e:do switch(t[e+12>>2]|0){case 3:{Se=w(Se+n),Me=w(0);break}case 2:{Se=w(Se+w(n*w(.5))),Me=w(0);break}case 4:{hu>_l?Me=w(n/w(s>>>0)):Me=w(0);break}case 7:if(hu>_l){Se=w(Se+w(n/w(s<<1>>>0))),Me=w(n/w(s>>>0)),Me=M?Me:w(0);break e}else{Se=w(Se+w(n*w(.5))),Me=w(0);break e}case 6:{Me=w(n/w(ss>>>0)),Me=hu>_l&M?Me:w(0);break}default:Me=w(0)}while(0);if(s|0)for(Zt=1040+(Bn<<2)|0,Br=976+(Bn<<2)|0,be=0,I=0;;){e:do if(I>>>0<Vl>>>0)for(ye=w(0),Je=w(0),n=w(0),K=I;;){M=t[(t[cs>>2]|0)+(K<<2)>>2]|0;do if((t[M+36>>2]|0)!=1?(t[M+24>>2]|0)==0:0){if((t[M+940>>2]|0)!=(be|0))break e;if(st(M,Bn)|0&&(mn=w(C[M+908+(t[Br>>2]<<2)>>2]),n=w(Ru(n,w(mn+w(Kt(M,Bn,Sr)))))),(e0(e,M)|0)!=5)break;ql=w(vt(M)),ql=w(ql+w(zi(M,0,Sr))),mn=w(C[M+912>>2]),mn=w(w(mn+w(Kt(M,0,Sr)))-ql),ql=w(Ru(Je,ql)),mn=w(Ru(ye,mn)),ye=mn,Je=ql,n=w(Ru(n,w(ql+mn)))}while(0);if(M=K+1|0,M>>>0<Vl>>>0)K=M;else{K=M;break}}else Je=w(0),n=w(0),K=I;while(0);if(ft=w(Me+n),r=Se,Se=w(Se+ft),I>>>0<K>>>0){Ge=w(r+Je),M=I;do{I=t[(t[cs>>2]|0)+(M<<2)>>2]|0;e:do if((t[I+36>>2]|0)!=1?(t[I+24>>2]|0)==0:0)switch(e0(e,I)|0){case 1:{mn=w(r+w(zi(I,Bn,Sr))),C[I+400+(t[Zt>>2]<<2)>>2]=mn;break e}case 3:{mn=w(w(Se-w(A0(I,Bn,Sr)))-w(C[I+908+(t[Br>>2]<<2)>>2])),C[I+400+(t[Zt>>2]<<2)>>2]=mn;break e}case 2:{mn=w(r+w(w(ft-w(C[I+908+(t[Br>>2]<<2)>>2]))*w(.5))),C[I+400+(t[Zt>>2]<<2)>>2]=mn;break e}case 4:{if(mn=w(r+w(zi(I,Bn,Sr))),C[I+400+(t[Zt>>2]<<2)>>2]=mn,Wu(I,Bn,hu)|0||(Bu?(ye=w(C[I+908>>2]),n=w(ye+w(Kt(I,Or,Sr))),Je=ft):(Je=w(C[I+912>>2]),Je=w(Je+w(Kt(I,Bn,Sr))),n=ft,ye=w(C[I+908>>2])),Ci(n,ye)|0?Ci(Je,w(C[I+912>>2]))|0:0))break e;Yt(I,n,Je,El,1,1,Sr,as,1,3501,N)|0;break e}case 5:{C[I+404>>2]=w(w(Ge-w(vt(I)))+w(re(I,0,hu)));break e}default:break e}while(0);M=M+1|0}while((M|0)!=(K|0))}if(be=be+1|0,(be|0)==(s|0))break;I=K}}}while(0);if(C[e+908>>2]=w(Kn(e,2,Xf,h,h)),C[e+912>>2]=w(Kn(e,0,j1,D,h)),((sf|0)!=0?(z1=t[e+32>>2]|0,H1=(sf|0)==2,!(H1&(z1|0)!=2)):0)?H1&(z1|0)==2&&(n=w(Qf+Nn),n=w(Ru(w(Xp(n,w(Qt(e,Or,Kf,fs)))),Qf)),vi=198):(n=w(Kn(e,Or,Kf,fs,h)),vi=198),(vi|0)==198&&(C[e+908+(t[976+(Or<<2)>>2]<<2)>>2]=n),((af|0)!=0?(W1=t[e+32>>2]|0,V1=(af|0)==2,!(V1&(W1|0)!=2)):0)?V1&(W1|0)==2&&(n=w(Wl+hu),n=w(Ru(w(Xp(n,w(Qt(e,Bn,w(Wl+_l),Jf)))),Wl)),vi=204):(n=w(Kn(e,Bn,w(Wl+_l),Jf,h)),vi=204),(vi|0)==204&&(C[e+908+(t[976+(Bn<<2)>>2]<<2)>>2]=n),S){if((t[q1>>2]|0)==2){I=976+(Bn<<2)|0,K=1040+(Bn<<2)|0,M=0;do be=Ti(e,M)|0,t[be+24>>2]|0||(G1=t[I>>2]|0,mn=w(C[e+908+(G1<<2)>>2]),f0=be+400+(t[K>>2]<<2)|0,mn=w(mn-w(C[f0>>2])),C[f0>>2]=w(mn-w(C[be+908+(G1<<2)>>2]))),M=M+1|0;while((M|0)!=(Vl|0))}if(u|0){M=Bu?sf:l;do On(e,u,Sr,M,as,El,N),u=t[u+960>>2]|0;while((u|0)!=0)}if(M=(Or|2|0)==3,I=(Bn|2|0)==3,M|I){u=0;do K=t[(t[cs>>2]|0)+(u<<2)>>2]|0,(t[K+36>>2]|0)!=1&&(M&&Sn(e,K,Or),I&&Sn(e,K,Bn)),u=u+1|0;while((u|0)!=(Vl|0))}}}while(0);m=ff}function Ju(e,n){e=e|0,n=w(n);var r=0;Cn(e,n>=w(0),3147),r=n==w(0),C[e+4>>2]=r?w(0):n}function ti(e,n,r,u){e=e|0,n=w(n),r=w(r),u=u|0;var l=Tt,s=Tt,h=0,D=0,S=0;t[2278]=(t[2278]|0)+1,Jr(e),Wu(e,2,n)|0?(l=w(Rn(t[e+992>>2]|0,n)),S=1,l=w(l+w(Kt(e,2,n)))):(l=w(Rn(e+380|0,n)),l>=w(0)?S=2:(S=((Ne(n)|0)^1)&1,l=n)),Wu(e,0,r)|0?(s=w(Rn(t[e+996>>2]|0,r)),D=1,s=w(s+w(Kt(e,0,n)))):(s=w(Rn(e+388|0,r)),s>=w(0)?D=2:(D=((Ne(r)|0)^1)&1,s=r)),h=e+976|0,(Yt(e,l,s,u,S,D,n,r,1,3189,t[h>>2]|0)|0?(x0(e,t[e+496>>2]|0,n,r,n),Fu(e,w(C[(t[h>>2]|0)+4>>2]),w(0),w(0)),p[11696]|0):0)&&mf(e,7)}function Jr(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0;D=m,m=m+32|0,h=D+24|0,s=D+16|0,u=D+8|0,l=D,r=0;do n=e+380+(r<<3)|0,((t[e+380+(r<<3)+4>>2]|0)!=0?(S=n,N=t[S+4>>2]|0,M=u,t[M>>2]=t[S>>2],t[M+4>>2]=N,M=e+364+(r<<3)|0,N=t[M+4>>2]|0,S=l,t[S>>2]=t[M>>2],t[S+4>>2]=N,t[s>>2]=t[u>>2],t[s+4>>2]=t[u+4>>2],t[h>>2]=t[l>>2],t[h+4>>2]=t[l+4>>2],Bi(s,h)|0):0)||(n=e+348+(r<<3)|0),t[e+992+(r<<2)>>2]=n,r=r+1|0;while((r|0)!=2);m=D}function Wu(e,n,r){e=e|0,n=n|0,r=w(r);var u=0;switch(e=t[e+992+(t[976+(n<<2)>>2]<<2)>>2]|0,t[e+4>>2]|0){case 0:case 3:{e=0;break}case 1:{w(C[e>>2])<w(0)?e=0:u=5;break}case 2:{w(C[e>>2])<w(0)?e=0:e=(Ne(r)|0)^1;break}default:u=5}return(u|0)==5&&(e=1),e|0}function Rn(e,n){switch(e=e|0,n=w(n),t[e+4>>2]|0){case 2:{n=w(w(w(C[e>>2])*n)/w(100));break}case 1:{n=w(C[e>>2]);break}default:n=w(ie)}return w(n)}function x0(e,n,r,u,l){e=e|0,n=n|0,r=w(r),u=w(u),l=w(l);var s=0,h=Tt;n=t[e+944>>2]|0?n:1,s=B0(t[e+4>>2]|0,n)|0,n=gf(s,n)|0,r=w(Ar(e,s,r)),u=w(Ar(e,n,u)),h=w(r+w(zi(e,s,l))),C[e+400+(t[1040+(s<<2)>>2]<<2)>>2]=h,r=w(r+w(A0(e,s,l))),C[e+400+(t[1e3+(s<<2)>>2]<<2)>>2]=r,r=w(u+w(zi(e,n,l))),C[e+400+(t[1040+(n<<2)>>2]<<2)>>2]=r,l=w(u+w(A0(e,n,l))),C[e+400+(t[1e3+(n<<2)>>2]<<2)>>2]=l}function Fu(e,n,r,u){e=e|0,n=w(n),r=w(r),u=w(u);var l=0,s=0,h=Tt,D=Tt,S=0,N=0,M=Tt,I=0,K=Tt,be=Tt,Se=Tt,ye=Tt;if(n!=w(0)&&(l=e+400|0,ye=w(C[l>>2]),s=e+404|0,Se=w(C[s>>2]),I=e+416|0,be=w(C[I>>2]),N=e+420|0,h=w(C[N>>2]),K=w(ye+r),M=w(Se+u),u=w(K+be),D=w(M+h),S=(t[e+988>>2]|0)==1,C[l>>2]=w($0(ye,n,0,S)),C[s>>2]=w($0(Se,n,0,S)),r=w(OE(w(be*n),w(1))),Ci(r,w(0))|0?s=0:s=(Ci(r,w(1))|0)^1,r=w(OE(w(h*n),w(1))),Ci(r,w(0))|0?l=0:l=(Ci(r,w(1))|0)^1,ye=w($0(u,n,S&s,S&(s^1))),C[I>>2]=w(ye-w($0(K,n,0,S))),ye=w($0(D,n,S&l,S&(l^1))),C[N>>2]=w(ye-w($0(M,n,0,S))),s=(t[e+952>>2]|0)-(t[e+948>>2]|0)>>2,s|0)){l=0;do Fu(Ti(e,l)|0,n,K,M),l=l+1|0;while((l|0)!=(s|0))}}function li(e,n,r,u,l){switch(e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,r|0){case 5:case 0:{e=i8(t[489]|0,u,l)|0;break}default:e=bL(u,l)|0}return e|0}function Tl(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;l=m,m=m+16|0,s=l,t[s>>2]=u,zs(e,0,n,r,s),m=l}function zs(e,n,r,u,l){if(e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,e=e|0?e:956,C8[t[e+8>>2]&1](e,n,r,u,l)|0,(r|0)==5)$n();else return}function Vu(e,n,r){e=e|0,n=n|0,r=r|0,p[e+n>>0]=r&1}function sa(e,n){e=e|0,n=n|0;var r=0,u=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,r=n+4|0,u=(t[r>>2]|0)-(t[n>>2]|0)>>2,u|0&&(Xi(e,u),Hs(e,t[n>>2]|0,t[r>>2]|0,u))}function Xi(e,n){e=e|0,n=n|0;var r=0;if((R0(e)|0)>>>0<n>>>0&&hi(e),n>>>0>1073741823)$n();else{r=pn(n<<2)|0,t[e+4>>2]=r,t[e>>2]=r,t[e+8>>2]=r+(n<<2);return}}function Hs(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,u=e+4|0,e=r-n|0,(e|0)>0&&(gr(t[u>>2]|0,n|0,e|0)|0,t[u>>2]=(t[u>>2]|0)+(e>>>2<<2))}function R0(e){return e=e|0,1073741823}function zi(e,n,r){return e=e|0,n=n|0,r=w(r),(Hi(n)|0?(t[e+96>>2]|0)!=0:0)?e=e+92|0:e=dt(e+60|0,t[1040+(n<<2)>>2]|0,992)|0,w(rl(e,r))}function A0(e,n,r){return e=e|0,n=n|0,r=w(r),(Hi(n)|0?(t[e+104>>2]|0)!=0:0)?e=e+100|0:e=dt(e+60|0,t[1e3+(n<<2)>>2]|0,992)|0,w(rl(e,r))}function Hi(e){return e=e|0,(e|1|0)==3|0}function rl(e,n){return e=e|0,n=w(n),(t[e+4>>2]|0)==3?n=w(0):n=w(Rn(e,n)),w(n)}function Cl(e,n){return e=e|0,n=n|0,e=t[e>>2]|0,((e|0)==0?(n|0)>1?n:1:e)|0}function B0(e,n){e=e|0,n=n|0;var r=0;e:do if((n|0)==2){switch(e|0){case 2:{e=3;break e}case 3:break;default:{r=4;break e}}e=2}else r=4;while(0);return e|0}function O0(e,n){e=e|0,n=n|0;var r=Tt;return((Hi(n)|0?(t[e+312>>2]|0)!=0:0)?(r=w(C[e+308>>2]),r>=w(0)):0)||(r=w(Ru(w(C[(dt(e+276|0,t[1040+(n<<2)>>2]|0,992)|0)>>2]),w(0)))),w(r)}function ho(e,n){e=e|0,n=n|0;var r=Tt;return((Hi(n)|0?(t[e+320>>2]|0)!=0:0)?(r=w(C[e+316>>2]),r>=w(0)):0)||(r=w(Ru(w(C[(dt(e+276|0,t[1e3+(n<<2)>>2]|0,992)|0)>>2]),w(0)))),w(r)}function Pu(e,n,r){e=e|0,n=n|0,r=w(r);var u=Tt;return((Hi(n)|0?(t[e+240>>2]|0)!=0:0)?(u=w(Rn(e+236|0,r)),u>=w(0)):0)||(u=w(Ru(w(Rn(dt(e+204|0,t[1040+(n<<2)>>2]|0,992)|0,r)),w(0)))),w(u)}function Zu(e,n,r){e=e|0,n=n|0,r=w(r);var u=Tt;return((Hi(n)|0?(t[e+248>>2]|0)!=0:0)?(u=w(Rn(e+244|0,r)),u>=w(0)):0)||(u=w(Ru(w(Rn(dt(e+204|0,t[1e3+(n<<2)>>2]|0,992)|0,r)),w(0)))),w(u)}function es(e,n,r,u,l,s,h){e=e|0,n=w(n),r=w(r),u=u|0,l=l|0,s=w(s),h=w(h);var D=Tt,S=Tt,N=Tt,M=Tt,I=Tt,K=Tt,be=0,Se=0,ye=0;ye=m,m=m+16|0,be=ye,Se=e+964|0,qu(e,(t[Se>>2]|0)!=0,3519),D=w(Rr(e,2,n)),S=w(Rr(e,0,n)),N=w(Kt(e,2,n)),M=w(Kt(e,0,n)),Ne(n)|0?I=n:I=w(Ru(w(0),w(w(n-N)-D))),Ne(r)|0?K=r:K=w(Ru(w(0),w(w(r-M)-S))),(u|0)==1&(l|0)==1?(C[e+908>>2]=w(Kn(e,2,w(n-N),s,s)),n=w(Kn(e,0,w(r-M),h,s))):(x8[t[Se>>2]&1](be,e,I,u,K,l),I=w(D+w(C[be>>2])),K=w(n-N),C[e+908>>2]=w(Kn(e,2,(u|2|0)==2?I:K,s,s)),K=w(S+w(C[be+4>>2])),n=w(r-M),n=w(Kn(e,0,(l|2|0)==2?K:n,h,s))),C[e+912>>2]=n,m=ye}function _s(e,n,r,u,l,s,h){e=e|0,n=w(n),r=w(r),u=u|0,l=l|0,s=w(s),h=w(h);var D=Tt,S=Tt,N=Tt,M=Tt;N=w(Rr(e,2,s)),D=w(Rr(e,0,s)),M=w(Kt(e,2,s)),S=w(Kt(e,0,s)),n=w(n-M),C[e+908>>2]=w(Kn(e,2,(u|2|0)==2?N:n,s,s)),r=w(r-S),C[e+912>>2]=w(Kn(e,0,(l|2|0)==2?D:r,h,s))}function aa(e,n,r,u,l,s,h){e=e|0,n=w(n),r=w(r),u=u|0,l=l|0,s=w(s),h=w(h);var D=0,S=Tt,N=Tt;return D=(u|0)==2,((n<=w(0)&D?0:!(r<=w(0)&(l|0)==2))?!((u|0)==1&(l|0)==1):0)?e=0:(S=w(Kt(e,0,s)),N=w(Kt(e,2,s)),D=n<w(0)&D|(Ne(n)|0),n=w(n-N),C[e+908>>2]=w(Kn(e,2,D?w(0):n,s,s)),n=w(r-S),D=r<w(0)&(l|0)==2|(Ne(r)|0),C[e+912>>2]=w(Kn(e,0,D?w(0):n,h,s)),e=1),e|0}function gf(e,n){return e=e|0,n=n|0,_n(e)|0?e=B0(2,n)|0:e=0,e|0}function $u(e,n,r){return e=e|0,n=n|0,r=w(r),r=w(Pu(e,n,r)),w(r+w(O0(e,n)))}function Es(e,n,r){return e=e|0,n=n|0,r=w(r),r=w(Zu(e,n,r)),w(r+w(ho(e,n)))}function Rr(e,n,r){e=e|0,n=n|0,r=w(r);var u=Tt;return u=w($u(e,n,r)),w(u+w(Es(e,n,r)))}function to(e){return e=e|0,t[e+24>>2]|0?e=0:w(nu(e))!=w(0)?e=1:e=w(fu(e))!=w(0),e|0}function nu(e){e=e|0;var n=Tt;if(t[e+944>>2]|0){if(n=w(C[e+44>>2]),Ne(n)|0)return n=w(C[e+40>>2]),e=n>w(0)&((Ne(n)|0)^1),w(e?n:w(0))}else n=w(0);return w(n)}function fu(e){e=e|0;var n=Tt,r=0,u=Tt;do if(t[e+944>>2]|0){if(n=w(C[e+48>>2]),Ne(n)|0){if(r=p[(t[e+976>>2]|0)+2>>0]|0,r<<24>>24==0?(u=w(C[e+40>>2]),u<w(0)&((Ne(u)|0)^1)):0){n=w(-u);break}n=r<<24>>24?w(1):w(0)}}else n=w(0);while(0);return w(n)}function Li(e){e=e|0;var n=0,r=0;if(bv(e+400|0,0,540)|0,p[e+985>>0]=1,ms(e),r=Su(e)|0,r|0){n=e+948|0,e=0;do Li(t[(t[n>>2]|0)+(e<<2)>>2]|0),e=e+1|0;while((e|0)!=(r|0))}}function ni(e,n,r,u,l,s,h,D,S,N){e=e|0,n=n|0,r=w(r),u=u|0,l=w(l),s=w(s),h=w(h),D=D|0,S=S|0,N=N|0;var M=0,I=Tt,K=0,be=0,Se=Tt,ye=Tt,Je=0,Ge=Tt,ft=0,Me=Tt,Pe=0,Zt=0,Br=0,In=0,gn=0,_r=0,Pr=0,Nn=0,uu=0,os=0;uu=m,m=m+16|0,Br=uu+12|0,In=uu+8|0,gn=uu+4|0,_r=uu,Nn=B0(t[e+4>>2]|0,S)|0,Pe=Hi(Nn)|0,I=w(Rn(Tn(n)|0,Pe?s:h)),Zt=Wu(n,2,s)|0,Pr=Wu(n,0,h)|0;do if(Ne(I)|0?0:!(Ne(Pe?r:l)|0)){if(M=n+504|0,!(Ne(w(C[M>>2]))|0)&&(!(ir(t[n+976>>2]|0,0)|0)||(t[n+500>>2]|0)==(t[2278]|0)))break;C[M>>2]=w(Ru(I,w(Rr(n,Nn,s))))}else K=7;while(0);do if((K|0)==7){if(ft=Pe^1,!(ft|Zt^1)){h=w(Rn(t[n+992>>2]|0,s)),C[n+504>>2]=w(Ru(h,w(Rr(n,2,s))));break}if(!(Pe|Pr^1)){h=w(Rn(t[n+996>>2]|0,h)),C[n+504>>2]=w(Ru(h,w(Rr(n,0,s))));break}C[Br>>2]=w(ie),C[In>>2]=w(ie),t[gn>>2]=0,t[_r>>2]=0,Ge=w(Kt(n,2,s)),Me=w(Kt(n,0,s)),Zt?(Se=w(Ge+w(Rn(t[n+992>>2]|0,s))),C[Br>>2]=Se,t[gn>>2]=1,be=1):(be=0,Se=w(ie)),Pr?(I=w(Me+w(Rn(t[n+996>>2]|0,h))),C[In>>2]=I,t[_r>>2]=1,M=1):(M=0,I=w(ie)),K=t[e+32>>2]|0,Pe&(K|0)==2?K=2:(Ne(Se)|0?!(Ne(r)|0):0)&&(C[Br>>2]=r,t[gn>>2]=2,be=2,Se=r),(((K|0)==2&ft?0:Ne(I)|0)?!(Ne(l)|0):0)&&(C[In>>2]=l,t[_r>>2]=2,M=2,I=l),ye=w(C[n+396>>2]),Je=Ne(ye)|0;do if(Je)K=be;else{if((be|0)==1&ft){C[In>>2]=w(w(Se-Ge)/ye),t[_r>>2]=1,M=1,K=1;break}Pe&(M|0)==1?(C[Br>>2]=w(ye*w(I-Me)),t[gn>>2]=1,M=1,K=1):K=be}while(0);os=Ne(r)|0,be=(e0(e,n)|0)!=4,(Pe|Zt|((u|0)!=1|os)|(be|(K|0)==1)?0:(C[Br>>2]=r,t[gn>>2]=1,!Je))&&(C[In>>2]=w(w(r-Ge)/ye),t[_r>>2]=1,M=1),(Pr|ft|((D|0)!=1|(Ne(l)|0))|(be|(M|0)==1)?0:(C[In>>2]=l,t[_r>>2]=1,!Je))&&(C[Br>>2]=w(ye*w(l-Me)),t[gn>>2]=1),Fn(n,2,s,s,gn,Br),Fn(n,0,h,s,_r,In),r=w(C[Br>>2]),l=w(C[In>>2]),Yt(n,r,l,S,t[gn>>2]|0,t[_r>>2]|0,s,h,0,3565,N)|0,h=w(C[n+908+(t[976+(Nn<<2)>>2]<<2)>>2]),C[n+504>>2]=w(Ru(h,w(Rr(n,Nn,s))))}while(0);t[n+500>>2]=t[2278],m=uu}function Kn(e,n,r,u,l){return e=e|0,n=n|0,r=w(r),u=w(u),l=w(l),u=w(Qt(e,n,r,u)),w(Ru(u,w(Rr(e,n,l))))}function e0(e,n){return e=e|0,n=n|0,n=n+20|0,n=t[((t[n>>2]|0)==0?e+16|0:n)>>2]|0,((n|0)==5?_n(t[e+4>>2]|0)|0:0)&&(n=1),n|0}function _0(e,n){return e=e|0,n=n|0,(Hi(n)|0?(t[e+96>>2]|0)!=0:0)?n=4:n=t[1040+(n<<2)>>2]|0,e+60+(n<<3)|0}function E0(e,n){return e=e|0,n=n|0,(Hi(n)|0?(t[e+104>>2]|0)!=0:0)?n=5:n=t[1e3+(n<<2)>>2]|0,e+60+(n<<3)|0}function Fn(e,n,r,u,l,s){switch(e=e|0,n=n|0,r=w(r),u=w(u),l=l|0,s=s|0,r=w(Rn(e+380+(t[976+(n<<2)>>2]<<3)|0,r)),r=w(r+w(Kt(e,n,u))),t[l>>2]|0){case 2:case 1:{l=Ne(r)|0,u=w(C[s>>2]),C[s>>2]=l|u<r?u:r;break}case 0:{Ne(r)|0||(t[l>>2]=2,C[s>>2]=r);break}default:}}function ae(e,n){return e=e|0,n=n|0,e=e+132|0,(Hi(n)|0?(t[(dt(e,4,948)|0)+4>>2]|0)!=0:0)?e=1:e=(t[(dt(e,t[1040+(n<<2)>>2]|0,948)|0)+4>>2]|0)!=0,e|0}function re(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0;return e=e+132|0,(Hi(n)|0?(u=dt(e,4,948)|0,(t[u+4>>2]|0)!=0):0)?l=4:(u=dt(e,t[1040+(n<<2)>>2]|0,948)|0,t[u+4>>2]|0?l=4:r=w(0)),(l|0)==4&&(r=w(Rn(u,r))),w(r)}function Fe(e,n,r){e=e|0,n=n|0,r=w(r);var u=Tt;return u=w(C[e+908+(t[976+(n<<2)>>2]<<2)>>2]),u=w(u+w(zi(e,n,r))),w(u+w(A0(e,n,r)))}function Ae(e){e=e|0;var n=0,r=0,u=0;e:do if(_n(t[e+4>>2]|0)|0)n=0;else if((t[e+16>>2]|0)!=5)if(r=Su(e)|0,!r)n=0;else for(n=0;;){if(u=Ti(e,n)|0,(t[u+24>>2]|0)==0?(t[u+20>>2]|0)==5:0){n=1;break e}if(n=n+1|0,n>>>0>=r>>>0){n=0;break}}else n=1;while(0);return n|0}function st(e,n){e=e|0,n=n|0;var r=Tt;return r=w(C[e+908+(t[976+(n<<2)>>2]<<2)>>2]),r>=w(0)&((Ne(r)|0)^1)|0}function vt(e){e=e|0;var n=Tt,r=0,u=0,l=0,s=0,h=0,D=0,S=Tt;if(r=t[e+968>>2]|0,r)S=w(C[e+908>>2]),n=w(C[e+912>>2]),n=w(D8[r&0](e,S,n)),qu(e,(Ne(n)|0)^1,3573);else{s=Su(e)|0;do if(s|0){for(r=0,l=0;;){if(u=Ti(e,l)|0,t[u+940>>2]|0){h=8;break}if((t[u+24>>2]|0)!=1)if(D=(e0(e,u)|0)==5,D){r=u;break}else r=(r|0)==0?u:r;if(l=l+1|0,l>>>0>=s>>>0){h=8;break}}if((h|0)==8&&!r)break;return n=w(vt(r)),w(n+w(C[r+404>>2]))}while(0);n=w(C[e+912>>2])}return w(n)}function Qt(e,n,r,u){e=e|0,n=n|0,r=w(r),u=w(u);var l=Tt,s=0;return _n(n)|0?(n=1,s=3):Hi(n)|0?(n=0,s=3):(u=w(ie),l=w(ie)),(s|0)==3&&(l=w(Rn(e+364+(n<<3)|0,u)),u=w(Rn(e+380+(n<<3)|0,u))),s=u<r&(u>=w(0)&((Ne(u)|0)^1)),r=s?u:r,s=l>=w(0)&((Ne(l)|0)^1)&r<l,w(s?l:r)}function On(e,n,r,u,l,s,h){e=e|0,n=n|0,r=w(r),u=u|0,l=w(l),s=s|0,h=h|0;var D=Tt,S=Tt,N=0,M=0,I=Tt,K=Tt,be=Tt,Se=0,ye=0,Je=0,Ge=0,ft=Tt,Me=0;Je=B0(t[e+4>>2]|0,s)|0,Se=gf(Je,s)|0,ye=Hi(Je)|0,I=w(Kt(n,2,r)),K=w(Kt(n,0,r)),Wu(n,2,r)|0?D=w(I+w(Rn(t[n+992>>2]|0,r))):(ae(n,2)|0?Bt(n,2)|0:0)?(D=w(C[e+908>>2]),S=w(O0(e,2)),S=w(D-w(S+w(ho(e,2)))),D=w(re(n,2,r)),D=w(Kn(n,2,w(S-w(D+w(Fi(n,2,r)))),r,r))):D=w(ie),Wu(n,0,l)|0?S=w(K+w(Rn(t[n+996>>2]|0,l))):(ae(n,0)|0?Bt(n,0)|0:0)?(S=w(C[e+912>>2]),ft=w(O0(e,0)),ft=w(S-w(ft+w(ho(e,0)))),S=w(re(n,0,l)),S=w(Kn(n,0,w(ft-w(S+w(Fi(n,0,l)))),l,r))):S=w(ie),N=Ne(D)|0,M=Ne(S)|0;do if(N^M?(be=w(C[n+396>>2]),!(Ne(be)|0)):0)if(N){D=w(I+w(w(S-K)*be));break}else{ft=w(K+w(w(D-I)/be)),S=M?ft:S;break}while(0);M=Ne(D)|0,N=Ne(S)|0,M|N&&(Me=(M^1)&1,u=r>w(0)&((u|0)!=0&M),D=ye?D:u?r:D,Yt(n,D,S,s,ye?Me:u?2:Me,M&(N^1)&1,D,S,0,3623,h)|0,D=w(C[n+908>>2]),D=w(D+w(Kt(n,2,r))),S=w(C[n+912>>2]),S=w(S+w(Kt(n,0,r)))),Yt(n,D,S,s,1,1,D,S,1,3635,h)|0,(Bt(n,Je)|0?!(ae(n,Je)|0):0)?(Me=t[976+(Je<<2)>>2]|0,ft=w(C[e+908+(Me<<2)>>2]),ft=w(ft-w(C[n+908+(Me<<2)>>2])),ft=w(ft-w(ho(e,Je))),ft=w(ft-w(A0(n,Je,r))),ft=w(ft-w(Fi(n,Je,ye?r:l))),C[n+400+(t[1040+(Je<<2)>>2]<<2)>>2]=ft):Ge=21;do if((Ge|0)==21){if(ae(n,Je)|0?0:(t[e+8>>2]|0)==1){Me=t[976+(Je<<2)>>2]|0,ft=w(C[e+908+(Me<<2)>>2]),ft=w(w(ft-w(C[n+908+(Me<<2)>>2]))*w(.5)),C[n+400+(t[1040+(Je<<2)>>2]<<2)>>2]=ft;break}(ae(n,Je)|0?0:(t[e+8>>2]|0)==2)&&(Me=t[976+(Je<<2)>>2]|0,ft=w(C[e+908+(Me<<2)>>2]),ft=w(ft-w(C[n+908+(Me<<2)>>2])),C[n+400+(t[1040+(Je<<2)>>2]<<2)>>2]=ft)}while(0);(Bt(n,Se)|0?!(ae(n,Se)|0):0)?(Me=t[976+(Se<<2)>>2]|0,ft=w(C[e+908+(Me<<2)>>2]),ft=w(ft-w(C[n+908+(Me<<2)>>2])),ft=w(ft-w(ho(e,Se))),ft=w(ft-w(A0(n,Se,r))),ft=w(ft-w(Fi(n,Se,ye?l:r))),C[n+400+(t[1040+(Se<<2)>>2]<<2)>>2]=ft):Ge=30;do if((Ge|0)==30?!(ae(n,Se)|0):0){if((e0(e,n)|0)==2){Me=t[976+(Se<<2)>>2]|0,ft=w(C[e+908+(Me<<2)>>2]),ft=w(w(ft-w(C[n+908+(Me<<2)>>2]))*w(.5)),C[n+400+(t[1040+(Se<<2)>>2]<<2)>>2]=ft;break}Me=(e0(e,n)|0)==3,Me^(t[e+28>>2]|0)==2&&(Me=t[976+(Se<<2)>>2]|0,ft=w(C[e+908+(Me<<2)>>2]),ft=w(ft-w(C[n+908+(Me<<2)>>2])),C[n+400+(t[1040+(Se<<2)>>2]<<2)>>2]=ft)}while(0)}function Sn(e,n,r){e=e|0,n=n|0,r=r|0;var u=Tt,l=0;l=t[976+(r<<2)>>2]|0,u=w(C[n+908+(l<<2)>>2]),u=w(w(C[e+908+(l<<2)>>2])-u),u=w(u-w(C[n+400+(t[1040+(r<<2)>>2]<<2)>>2])),C[n+400+(t[1e3+(r<<2)>>2]<<2)>>2]=u}function _n(e){return e=e|0,(e|1|0)==1|0}function Tn(e){e=e|0;var n=Tt;switch(t[e+56>>2]|0){case 0:case 3:{n=w(C[e+40>>2]),n>w(0)&((Ne(n)|0)^1)?e=p[(t[e+976>>2]|0)+2>>0]|0?1056:992:e=1056;break}default:e=e+52|0}return e|0}function ir(e,n){return e=e|0,n=n|0,(p[e+n>>0]|0)!=0|0}function Bt(e,n){return e=e|0,n=n|0,e=e+132|0,(Hi(n)|0?(t[(dt(e,5,948)|0)+4>>2]|0)!=0:0)?e=1:e=(t[(dt(e,t[1e3+(n<<2)>>2]|0,948)|0)+4>>2]|0)!=0,e|0}function Fi(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0;return e=e+132|0,(Hi(n)|0?(u=dt(e,5,948)|0,(t[u+4>>2]|0)!=0):0)?l=4:(u=dt(e,t[1e3+(n<<2)>>2]|0,948)|0,t[u+4>>2]|0?l=4:r=w(0)),(l|0)==4&&(r=w(Rn(u,r))),w(r)}function Ar(e,n,r){return e=e|0,n=n|0,r=w(r),ae(e,n)|0?r=w(re(e,n,r)):r=w(-w(Fi(e,n,r))),w(r)}function mr(e){return e=w(e),C[W>>2]=e,t[W>>2]|0|0}function Y(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>1073741823)$n();else{l=pn(n<<2)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<2)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<2)}function ri(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>2)<<2)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function ii(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-4-n|0)>>>2)<<2)),e=t[e>>2]|0,e|0&&_t(e)}function Vr(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;if(h=e+4|0,D=t[h>>2]|0,l=D-u|0,s=l>>2,e=n+(s<<2)|0,e>>>0<r>>>0){u=D;do t[u>>2]=t[e>>2],e=e+4|0,u=(t[h>>2]|0)+4|0,t[h>>2]=u;while(e>>>0<r>>>0)}s|0&&Ty(D+(0-s<<2)|0,n|0,l|0)|0}function at(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0;return D=n+4|0,S=t[D>>2]|0,l=t[e>>2]|0,h=r,s=h-l|0,u=S+(0-(s>>2)<<2)|0,t[D>>2]=u,(s|0)>0&&gr(u|0,l|0,s|0)|0,l=e+4|0,s=n+8|0,u=(t[l>>2]|0)-h|0,(u|0)>0&&(gr(t[s>>2]|0,r|0,u|0)|0,t[s>>2]=(t[s>>2]|0)+(u>>>2<<2)),h=t[e>>2]|0,t[e>>2]=t[D>>2],t[D>>2]=h,h=t[l>>2]|0,t[l>>2]=t[s>>2],t[s>>2]=h,h=e+8|0,r=n+12|0,e=t[h>>2]|0,t[h>>2]=t[r>>2],t[r>>2]=e,t[n>>2]=t[D>>2],S|0}function Di(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;if(h=t[n>>2]|0,s=t[r>>2]|0,(h|0)!=(s|0)){l=e+8|0,r=((s+-4-h|0)>>>2)+1|0,e=h,u=t[l>>2]|0;do t[u>>2]=t[e>>2],u=(t[l>>2]|0)+4|0,t[l>>2]=u,e=e+4|0;while((e|0)!=(s|0));t[n>>2]=h+(r<<2)}}function ru(){we()}function D0(){var e=0;return e=pn(4)|0,Un(e),e|0}function Un(e){e=e|0,t[e>>2]=m0()|0}function t0(e){e=e|0,e|0&&(no(e),_t(e))}function no(e){e=e|0,Q0(t[e>>2]|0)}function vo(e,n,r){e=e|0,n=n|0,r=r|0,Vu(t[e>>2]|0,n,r)}function n0(e,n){e=e|0,n=w(n),Ju(t[e>>2]|0,n)}function Uo(e,n){return e=e|0,n=n|0,ir(t[e>>2]|0,n)|0}function ro(){var e=0;return e=pn(8)|0,Ba(e,0),e|0}function Ba(e,n){e=e|0,n=n|0,n?n=Yn(t[n>>2]|0)|0:n=cr()|0,t[e>>2]=n,t[e+4>>2]=0,ba(n,e)}function _f(e){e=e|0;var n=0;return n=pn(8)|0,Ba(n,e),n|0}function fc(e){e=e|0,e|0&&(Ds(e),_t(e))}function Ds(e){e=e|0;var n=0;zu(t[e>>2]|0),n=e+4|0,e=t[n>>2]|0,t[n>>2]=0,e|0&&(fa(e),_t(e))}function fa(e){e=e|0,U0(e)}function U0(e){e=e|0,e=t[e>>2]|0,e|0&&qr(e|0)}function cc(e){return e=e|0,Bs(e)|0}function Ua(e){e=e|0;var n=0,r=0;r=e+4|0,n=t[r>>2]|0,t[r>>2]=0,n|0&&(fa(n),_t(n)),co(t[e>>2]|0)}function E2(e,n){e=e|0,n=n|0,oa(t[e>>2]|0,t[n>>2]|0)}function nd(e,n){e=e|0,n=n|0,Z(t[e>>2]|0,n)}function rd(e,n,r){e=e|0,n=n|0,r=+r,dr(t[e>>2]|0,n,w(r))}function mo(e,n,r){e=e|0,n=n|0,r=+r,er(t[e>>2]|0,n,w(r))}function Hc(e,n){e=e|0,n=n|0,z(t[e>>2]|0,n)}function xl(e,n){e=e|0,n=n|0,$(t[e>>2]|0,n)}function il(e,n){e=e|0,n=n|0,ge(t[e>>2]|0,n)}function D2(e,n){e=e|0,n=n|0,y0(t[e>>2]|0,n)}function qs(e,n){e=e|0,n=n|0,Qe(t[e>>2]|0,n)}function Rl(e,n){e=e|0,n=n|0,ji(t[e>>2]|0,n)}function id(e,n,r){e=e|0,n=n|0,r=+r,An(t[e>>2]|0,n,w(r))}function jo(e,n,r){e=e|0,n=n|0,r=+r,Nr(t[e>>2]|0,n,w(r))}function ja(e,n){e=e|0,n=n|0,Lr(t[e>>2]|0,n)}function za(e,n){e=e|0,n=n|0,ue(t[e>>2]|0,n)}function Ha(e,n){e=e|0,n=n|0,nt(t[e>>2]|0,n)}function ca(e,n){e=e|0,n=+n,Mt(t[e>>2]|0,w(n))}function ws(e,n){e=e|0,n=+n,rn(t[e>>2]|0,w(n))}function Ss(e,n){e=e|0,n=+n,Lt(t[e>>2]|0,w(n))}function ts(e,n){e=e|0,n=+n,It(t[e>>2]|0,w(n))}function zo(e,n){e=e|0,n=+n,sn(t[e>>2]|0,w(n))}function Ef(e,n){e=e|0,n=+n,fn(t[e>>2]|0,w(n))}function ul(e,n){e=e|0,n=+n,Jn(t[e>>2]|0,w(n))}function Gu(e){e=e|0,wr(t[e>>2]|0)}function qa(e,n){e=e|0,n=+n,Nu(t[e>>2]|0,w(n))}function r0(e,n){e=e|0,n=+n,T0(t[e>>2]|0,w(n))}function j0(e){e=e|0,J0(t[e>>2]|0)}function Df(e,n){e=e|0,n=+n,_i(t[e>>2]|0,w(n))}function qc(e,n){e=e|0,n=+n,Fo(t[e>>2]|0,w(n))}function dc(e,n){e=e|0,n=+n,hf(t[e>>2]|0,w(n))}function Al(e,n){e=e|0,n=+n,Sl(t[e>>2]|0,w(n))}function Ts(e,n){e=e|0,n=+n,Po(t[e>>2]|0,w(n))}function da(e,n){e=e|0,n=+n,ys(t[e>>2]|0,w(n))}function ud(e,n){e=e|0,n=+n,Io(t[e>>2]|0,w(n))}function pa(e,n){e=e|0,n=+n,bo(t[e>>2]|0,w(n))}function pc(e,n){e=e|0,n=+n,Qu(t[e>>2]|0,w(n))}function Wc(e,n,r){e=e|0,n=n|0,r=+r,Pt(t[e>>2]|0,n,w(r))}function qi(e,n,r){e=e|0,n=n|0,r=+r,it(t[e>>2]|0,n,w(r))}function g(e,n,r){e=e|0,n=n|0,r=+r,Dt(t[e>>2]|0,n,w(r))}function y(e){return e=e|0,ke(t[e>>2]|0)|0}function R(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;u=m,m=m+16|0,l=u,Cr(l,t[n>>2]|0,r),F(e,l),m=u}function F(e,n){e=e|0,n=n|0,b(e,t[n+4>>2]|0,+w(C[n>>2]))}function b(e,n,r){e=e|0,n=n|0,r=+r,t[e>>2]=n,U[e+8>>3]=r}function J(e){return e=e|0,G(t[e>>2]|0)|0}function ce(e){return e=e|0,Te(t[e>>2]|0)|0}function mt(e){return e=e|0,Re(t[e>>2]|0)|0}function xt(e){return e=e|0,Us(t[e>>2]|0)|0}function kt(e){return e=e|0,ht(t[e>>2]|0)|0}function xr(e){return e=e|0,B(t[e>>2]|0)|0}function i0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;u=m,m=m+16|0,l=u,g0(l,t[n>>2]|0,r),F(e,l),m=u}function cu(e){return e=e|0,He(t[e>>2]|0)|0}function z0(e){return e=e|0,Ct(t[e>>2]|0)|0}function Ol(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,Dn(u,t[n>>2]|0),F(e,u),m=r}function u0(e){return e=e|0,+ +w(pf(t[e>>2]|0))}function Ve(e){return e=e|0,+ +w(bs(t[e>>2]|0))}function Ue(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,au(u,t[n>>2]|0),F(e,u),m=r}function lt(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,Lu(u,t[n>>2]|0),F(e,u),m=r}function $t(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,nl(u,t[n>>2]|0),F(e,u),m=r}function Wn(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,vf(u,t[n>>2]|0),F(e,u),m=r}function si(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,js(u,t[n>>2]|0),F(e,u),m=r}function ur(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,gs(u,t[n>>2]|0),F(e,u),m=r}function ci(e){return e=e|0,+ +w(Tu(t[e>>2]|0))}function Qi(e,n){return e=e|0,n=n|0,+ +w(un(t[e>>2]|0,n))}function Gr(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;u=m,m=m+16|0,l=u,$e(l,t[n>>2]|0,r),F(e,l),m=u}function Cu(e,n,r){e=e|0,n=n|0,r=r|0,Ia(t[e>>2]|0,t[n>>2]|0,r)}function Wa(e,n){e=e|0,n=n|0,ku(t[e>>2]|0,t[n>>2]|0)}function Va(e){return e=e|0,Su(t[e>>2]|0)|0}function od(e){return e=e|0,e=fi(t[e>>2]|0)|0,e?e=cc(e)|0:e=0,e|0}function w2(e,n){return e=e|0,n=n|0,e=Ti(t[e>>2]|0,n)|0,e?e=cc(e)|0:e=0,e|0}function S2(e,n){e=e|0,n=n|0;var r=0,u=0;u=pn(4)|0,wf(u,n),r=e+4|0,n=t[r>>2]|0,t[r>>2]=u,n|0&&(fa(n),_t(n)),ua(t[e>>2]|0,1)}function wf(e,n){e=e|0,n=n|0,ll(e,n)}function ld(e,n,r,u,l,s){e=e|0,n=n|0,r=w(r),u=u|0,l=w(l),s=s|0;var h=0,D=0;h=m,m=m+16|0,D=h,ch(D,Bs(n)|0,+r,u,+l,s),C[e>>2]=w(+U[D>>3]),C[e+4>>2]=w(+U[D+8>>3]),m=h}function ch(e,n,r,u,l,s){e=e|0,n=n|0,r=+r,u=u|0,l=+l,s=s|0;var h=0,D=0,S=0,N=0,M=0;h=m,m=m+32|0,M=h+8|0,N=h+20|0,S=h,D=h+16|0,U[M>>3]=r,t[N>>2]=u,U[S>>3]=l,t[D>>2]=s,Vc(e,t[n+4>>2]|0,M,N,S,D),m=h}function Vc(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0;var h=0,D=0;h=m,m=m+16|0,D=h,Ma(D),n=yo(n)|0,dh(e,n,+U[r>>3],t[u>>2]|0,+U[l>>3],t[s>>2]|0),ka(D),m=h}function yo(e){return e=e|0,t[e>>2]|0}function dh(e,n,r,u,l,s){e=e|0,n=n|0,r=+r,u=u|0,l=+l,s=s|0;var h=0;h=go(ph()|0)|0,r=+Ml(r),u=sd(u)|0,l=+Ml(l),ad(e,Qr(0,h|0,n|0,+r,u|0,+l,sd(s)|0)|0)}function ph(){var e=0;return p[7608]|0||(Yc(9120),e=7608,t[e>>2]=1,t[e+4>>2]=0),9120}function go(e){return e=e|0,t[e+8>>2]|0}function Ml(e){return e=+e,+ +Ga(e)}function sd(e){return e=e|0,cd(e)|0}function ad(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;l=m,m=m+32|0,r=l,u=n,u&1?(T2(r,0),eu(u|0,r|0)|0,Gc(e,r),Ir(r)):(t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=t[n+8>>2],t[e+12>>2]=t[n+12>>2]),m=l}function T2(e,n){e=e|0,n=n|0,fd(e,n),t[e+8>>2]=0,p[e+24>>0]=0}function Gc(e,n){e=e|0,n=n|0,n=n+8|0,t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=t[n+8>>2],t[e+12>>2]=t[n+12>>2]}function Ir(e){e=e|0,p[e+24>>0]=0}function fd(e,n){e=e|0,n=n|0,t[e>>2]=n}function cd(e){return e=e|0,e|0}function Ga(e){return e=+e,+e}function Yc(e){e=e|0,ol(e,C2()|0,4)}function C2(){return 1064}function ol(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r,t[e+8>>2]=bt(n|0,r+1|0)|0}function ll(e,n){e=e|0,n=n|0,n=t[n>>2]|0,t[e>>2]=n,Ri(n|0)}function hh(e){e=e|0;var n=0,r=0;r=e+4|0,n=t[r>>2]|0,t[r>>2]=0,n|0&&(fa(n),_t(n)),ua(t[e>>2]|0,0)}function Sf(e){e=e|0,$r(t[e>>2]|0)}function Kc(e){return e=e|0,Zl(t[e>>2]|0)|0}function x2(e,n,r,u){e=e|0,n=+n,r=+r,u=u|0,ti(t[e>>2]|0,w(n),w(r),u)}function vh(e){return e=e|0,+ +w(Ei(t[e>>2]|0))}function sl(e){return e=e|0,+ +w(Z0(t[e>>2]|0))}function ha(e){return e=e|0,+ +w(C0(t[e>>2]|0))}function R2(e){return e=e|0,+ +w(Bo(t[e>>2]|0))}function A2(e){return e=e|0,+ +w(la(t[e>>2]|0))}function hc(e){return e=e|0,+ +w($l(t[e>>2]|0))}function mh(e,n){e=e|0,n=n|0,U[e>>3]=+w(Ei(t[n>>2]|0)),U[e+8>>3]=+w(Z0(t[n>>2]|0)),U[e+16>>3]=+w(C0(t[n>>2]|0)),U[e+24>>3]=+w(Bo(t[n>>2]|0)),U[e+32>>3]=+w(la(t[n>>2]|0)),U[e+40>>3]=+w($l(t[n>>2]|0))}function O2(e,n){return e=e|0,n=n|0,+ +w(tu(t[e>>2]|0,n))}function dd(e,n){return e=e|0,n=n|0,+ +w(ei(t[e>>2]|0,n))}function Xc(e,n){return e=e|0,n=n|0,+ +w(po(t[e>>2]|0,n))}function Qc(){return Pa()|0}function Ws(){M2(),va(),Jc(),vc(),mc(),pd()}function M2(){S7(11713,4938,1)}function va(){HA(10448)}function Jc(){SA(10408)}function vc(){GR(10324)}function mc(){$4(10096)}function pd(){yh(9132)}function yh(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0,be=0,Se=0,ye=0,Je=0,Ge=0,ft=0,Me=0,Pe=0,Zt=0,Br=0,In=0,gn=0,_r=0,Pr=0,Nn=0,uu=0,os=0,ls=0,ss=0,ea=0,n2=0,r2=0,uf=0,i2=0,Fc=0,Pc=0,u2=0,o2=0,l2=0,vi=0,of=0,s2=0,Yf=0,a2=0,f2=0,Ic=0,bc=0,Kf=0,Hl=0,La=0,Ns=0,lf=0,I1=0,b1=0,Bc=0,B1=0,U1=0,ql=0,_l=0,sf=0,hu=0,j1=0,as=0,Xf=0,fs=0,Qf=0,z1=0,H1=0,Jf=0,Wl=0,af=0,q1=0,W1=0,V1=0,Sr=0,Bu=0,El=0,cs=0,Vl=0,Or=0,Bn=0,ff=0;n=m,m=m+672|0,r=n+656|0,ff=n+648|0,Bn=n+640|0,Or=n+632|0,Vl=n+624|0,cs=n+616|0,El=n+608|0,Bu=n+600|0,Sr=n+592|0,V1=n+584|0,W1=n+576|0,q1=n+568|0,af=n+560|0,Wl=n+552|0,Jf=n+544|0,H1=n+536|0,z1=n+528|0,Qf=n+520|0,fs=n+512|0,Xf=n+504|0,as=n+496|0,j1=n+488|0,hu=n+480|0,sf=n+472|0,_l=n+464|0,ql=n+456|0,U1=n+448|0,B1=n+440|0,Bc=n+432|0,b1=n+424|0,I1=n+416|0,lf=n+408|0,Ns=n+400|0,La=n+392|0,Hl=n+384|0,Kf=n+376|0,bc=n+368|0,Ic=n+360|0,f2=n+352|0,a2=n+344|0,Yf=n+336|0,s2=n+328|0,of=n+320|0,vi=n+312|0,l2=n+304|0,o2=n+296|0,u2=n+288|0,Pc=n+280|0,Fc=n+272|0,i2=n+264|0,uf=n+256|0,r2=n+248|0,n2=n+240|0,ea=n+232|0,ss=n+224|0,ls=n+216|0,os=n+208|0,uu=n+200|0,Nn=n+192|0,Pr=n+184|0,_r=n+176|0,gn=n+168|0,In=n+160|0,Br=n+152|0,Zt=n+144|0,Pe=n+136|0,Me=n+128|0,ft=n+120|0,Ge=n+112|0,Je=n+104|0,ye=n+96|0,Se=n+88|0,be=n+80|0,K=n+72|0,I=n+64|0,M=n+56|0,N=n+48|0,S=n+40|0,D=n+32|0,h=n+24|0,s=n+16|0,l=n+8|0,u=n,Tf(e,3646),Zc(e,3651,2)|0,gh(e,3665,2)|0,nm(e,3682,18)|0,t[ff>>2]=19,t[ff+4>>2]=0,t[r>>2]=t[ff>>2],t[r+4>>2]=t[ff+4>>2],Vs(e,3690,r)|0,t[Bn>>2]=1,t[Bn+4>>2]=0,t[r>>2]=t[Bn>>2],t[r+4>>2]=t[Bn+4>>2],ma(e,3696,r)|0,t[Or>>2]=2,t[Or+4>>2]=0,t[r>>2]=t[Or>>2],t[r+4>>2]=t[Or+4>>2],iu(e,3706,r)|0,t[Vl>>2]=1,t[Vl+4>>2]=0,t[r>>2]=t[Vl>>2],t[r+4>>2]=t[Vl+4>>2],M0(e,3722,r)|0,t[cs>>2]=2,t[cs+4>>2]=0,t[r>>2]=t[cs>>2],t[r+4>>2]=t[cs+4>>2],M0(e,3734,r)|0,t[El>>2]=3,t[El+4>>2]=0,t[r>>2]=t[El>>2],t[r+4>>2]=t[El+4>>2],iu(e,3753,r)|0,t[Bu>>2]=4,t[Bu+4>>2]=0,t[r>>2]=t[Bu>>2],t[r+4>>2]=t[Bu+4>>2],iu(e,3769,r)|0,t[Sr>>2]=5,t[Sr+4>>2]=0,t[r>>2]=t[Sr>>2],t[r+4>>2]=t[Sr+4>>2],iu(e,3783,r)|0,t[V1>>2]=6,t[V1+4>>2]=0,t[r>>2]=t[V1>>2],t[r+4>>2]=t[V1+4>>2],iu(e,3796,r)|0,t[W1>>2]=7,t[W1+4>>2]=0,t[r>>2]=t[W1>>2],t[r+4>>2]=t[W1+4>>2],iu(e,3813,r)|0,t[q1>>2]=8,t[q1+4>>2]=0,t[r>>2]=t[q1>>2],t[r+4>>2]=t[q1+4>>2],iu(e,3825,r)|0,t[af>>2]=3,t[af+4>>2]=0,t[r>>2]=t[af>>2],t[r+4>>2]=t[af+4>>2],M0(e,3843,r)|0,t[Wl>>2]=4,t[Wl+4>>2]=0,t[r>>2]=t[Wl>>2],t[r+4>>2]=t[Wl+4>>2],M0(e,3853,r)|0,t[Jf>>2]=9,t[Jf+4>>2]=0,t[r>>2]=t[Jf>>2],t[r+4>>2]=t[Jf+4>>2],iu(e,3870,r)|0,t[H1>>2]=10,t[H1+4>>2]=0,t[r>>2]=t[H1>>2],t[r+4>>2]=t[H1+4>>2],iu(e,3884,r)|0,t[z1>>2]=11,t[z1+4>>2]=0,t[r>>2]=t[z1>>2],t[r+4>>2]=t[z1+4>>2],iu(e,3896,r)|0,t[Qf>>2]=1,t[Qf+4>>2]=0,t[r>>2]=t[Qf>>2],t[r+4>>2]=t[Qf+4>>2],o0(e,3907,r)|0,t[fs>>2]=2,t[fs+4>>2]=0,t[r>>2]=t[fs>>2],t[r+4>>2]=t[fs+4>>2],o0(e,3915,r)|0,t[Xf>>2]=3,t[Xf+4>>2]=0,t[r>>2]=t[Xf>>2],t[r+4>>2]=t[Xf+4>>2],o0(e,3928,r)|0,t[as>>2]=4,t[as+4>>2]=0,t[r>>2]=t[as>>2],t[r+4>>2]=t[as+4>>2],o0(e,3948,r)|0,t[j1>>2]=5,t[j1+4>>2]=0,t[r>>2]=t[j1>>2],t[r+4>>2]=t[j1+4>>2],o0(e,3960,r)|0,t[hu>>2]=6,t[hu+4>>2]=0,t[r>>2]=t[hu>>2],t[r+4>>2]=t[hu+4>>2],o0(e,3974,r)|0,t[sf>>2]=7,t[sf+4>>2]=0,t[r>>2]=t[sf>>2],t[r+4>>2]=t[sf+4>>2],o0(e,3983,r)|0,t[_l>>2]=20,t[_l+4>>2]=0,t[r>>2]=t[_l>>2],t[r+4>>2]=t[_l+4>>2],Vs(e,3999,r)|0,t[ql>>2]=8,t[ql+4>>2]=0,t[r>>2]=t[ql>>2],t[r+4>>2]=t[ql+4>>2],o0(e,4012,r)|0,t[U1>>2]=9,t[U1+4>>2]=0,t[r>>2]=t[U1>>2],t[r+4>>2]=t[U1+4>>2],o0(e,4022,r)|0,t[B1>>2]=21,t[B1+4>>2]=0,t[r>>2]=t[B1>>2],t[r+4>>2]=t[B1+4>>2],Vs(e,4039,r)|0,t[Bc>>2]=10,t[Bc+4>>2]=0,t[r>>2]=t[Bc>>2],t[r+4>>2]=t[Bc+4>>2],o0(e,4053,r)|0,t[b1>>2]=11,t[b1+4>>2]=0,t[r>>2]=t[b1>>2],t[r+4>>2]=t[b1+4>>2],o0(e,4065,r)|0,t[I1>>2]=12,t[I1+4>>2]=0,t[r>>2]=t[I1>>2],t[r+4>>2]=t[I1+4>>2],o0(e,4084,r)|0,t[lf>>2]=13,t[lf+4>>2]=0,t[r>>2]=t[lf>>2],t[r+4>>2]=t[lf+4>>2],o0(e,4097,r)|0,t[Ns>>2]=14,t[Ns+4>>2]=0,t[r>>2]=t[Ns>>2],t[r+4>>2]=t[Ns+4>>2],o0(e,4117,r)|0,t[La>>2]=15,t[La+4>>2]=0,t[r>>2]=t[La>>2],t[r+4>>2]=t[La+4>>2],o0(e,4129,r)|0,t[Hl>>2]=16,t[Hl+4>>2]=0,t[r>>2]=t[Hl>>2],t[r+4>>2]=t[Hl+4>>2],o0(e,4148,r)|0,t[Kf>>2]=17,t[Kf+4>>2]=0,t[r>>2]=t[Kf>>2],t[r+4>>2]=t[Kf+4>>2],o0(e,4161,r)|0,t[bc>>2]=18,t[bc+4>>2]=0,t[r>>2]=t[bc>>2],t[r+4>>2]=t[bc+4>>2],o0(e,4181,r)|0,t[Ic>>2]=5,t[Ic+4>>2]=0,t[r>>2]=t[Ic>>2],t[r+4>>2]=t[Ic+4>>2],M0(e,4196,r)|0,t[f2>>2]=6,t[f2+4>>2]=0,t[r>>2]=t[f2>>2],t[r+4>>2]=t[f2+4>>2],M0(e,4206,r)|0,t[a2>>2]=7,t[a2+4>>2]=0,t[r>>2]=t[a2>>2],t[r+4>>2]=t[a2+4>>2],M0(e,4217,r)|0,t[Yf>>2]=3,t[Yf+4>>2]=0,t[r>>2]=t[Yf>>2],t[r+4>>2]=t[Yf+4>>2],ns(e,4235,r)|0,t[s2>>2]=1,t[s2+4>>2]=0,t[r>>2]=t[s2>>2],t[r+4>>2]=t[s2+4>>2],Ya(e,4251,r)|0,t[of>>2]=4,t[of+4>>2]=0,t[r>>2]=t[of>>2],t[r+4>>2]=t[of+4>>2],ns(e,4263,r)|0,t[vi>>2]=5,t[vi+4>>2]=0,t[r>>2]=t[vi>>2],t[r+4>>2]=t[vi+4>>2],ns(e,4279,r)|0,t[l2>>2]=6,t[l2+4>>2]=0,t[r>>2]=t[l2>>2],t[r+4>>2]=t[l2+4>>2],ns(e,4293,r)|0,t[o2>>2]=7,t[o2+4>>2]=0,t[r>>2]=t[o2>>2],t[r+4>>2]=t[o2+4>>2],ns(e,4306,r)|0,t[u2>>2]=8,t[u2+4>>2]=0,t[r>>2]=t[u2>>2],t[r+4>>2]=t[u2+4>>2],ns(e,4323,r)|0,t[Pc>>2]=9,t[Pc+4>>2]=0,t[r>>2]=t[Pc>>2],t[r+4>>2]=t[Pc+4>>2],ns(e,4335,r)|0,t[Fc>>2]=2,t[Fc+4>>2]=0,t[r>>2]=t[Fc>>2],t[r+4>>2]=t[Fc+4>>2],Ya(e,4353,r)|0,t[i2>>2]=12,t[i2+4>>2]=0,t[r>>2]=t[i2>>2],t[r+4>>2]=t[i2+4>>2],io(e,4363,r)|0,t[uf>>2]=1,t[uf+4>>2]=0,t[r>>2]=t[uf>>2],t[r+4>>2]=t[uf+4>>2],al(e,4376,r)|0,t[r2>>2]=2,t[r2+4>>2]=0,t[r>>2]=t[r2>>2],t[r+4>>2]=t[r2+4>>2],al(e,4388,r)|0,t[n2>>2]=13,t[n2+4>>2]=0,t[r>>2]=t[n2>>2],t[r+4>>2]=t[n2+4>>2],io(e,4402,r)|0,t[ea>>2]=14,t[ea+4>>2]=0,t[r>>2]=t[ea>>2],t[r+4>>2]=t[ea+4>>2],io(e,4411,r)|0,t[ss>>2]=15,t[ss+4>>2]=0,t[r>>2]=t[ss>>2],t[r+4>>2]=t[ss+4>>2],io(e,4421,r)|0,t[ls>>2]=16,t[ls+4>>2]=0,t[r>>2]=t[ls>>2],t[r+4>>2]=t[ls+4>>2],io(e,4433,r)|0,t[os>>2]=17,t[os+4>>2]=0,t[r>>2]=t[os>>2],t[r+4>>2]=t[os+4>>2],io(e,4446,r)|0,t[uu>>2]=18,t[uu+4>>2]=0,t[r>>2]=t[uu>>2],t[r+4>>2]=t[uu+4>>2],io(e,4458,r)|0,t[Nn>>2]=3,t[Nn+4>>2]=0,t[r>>2]=t[Nn>>2],t[r+4>>2]=t[Nn+4>>2],al(e,4471,r)|0,t[Pr>>2]=1,t[Pr+4>>2]=0,t[r>>2]=t[Pr>>2],t[r+4>>2]=t[Pr+4>>2],yc(e,4486,r)|0,t[_r>>2]=10,t[_r+4>>2]=0,t[r>>2]=t[_r>>2],t[r+4>>2]=t[_r+4>>2],ns(e,4496,r)|0,t[gn>>2]=11,t[gn+4>>2]=0,t[r>>2]=t[gn>>2],t[r+4>>2]=t[gn+4>>2],ns(e,4508,r)|0,t[In>>2]=3,t[In+4>>2]=0,t[r>>2]=t[In>>2],t[r+4>>2]=t[In+4>>2],Ya(e,4519,r)|0,t[Br>>2]=4,t[Br+4>>2]=0,t[r>>2]=t[Br>>2],t[r+4>>2]=t[Br+4>>2],k2(e,4530,r)|0,t[Zt>>2]=19,t[Zt+4>>2]=0,t[r>>2]=t[Zt>>2],t[r+4>>2]=t[Zt+4>>2],_h(e,4542,r)|0,t[Pe>>2]=12,t[Pe+4>>2]=0,t[r>>2]=t[Pe>>2],t[r+4>>2]=t[Pe+4>>2],Cf(e,4554,r)|0,t[Me>>2]=13,t[Me+4>>2]=0,t[r>>2]=t[Me>>2],t[r+4>>2]=t[Me+4>>2],xf(e,4568,r)|0,t[ft>>2]=2,t[ft+4>>2]=0,t[r>>2]=t[ft>>2],t[r+4>>2]=t[ft+4>>2],$c(e,4578,r)|0,t[Ge>>2]=20,t[Ge+4>>2]=0,t[r>>2]=t[Ge>>2],t[r+4>>2]=t[Ge+4>>2],kl(e,4587,r)|0,t[Je>>2]=22,t[Je+4>>2]=0,t[r>>2]=t[Je>>2],t[r+4>>2]=t[Je+4>>2],Vs(e,4602,r)|0,t[ye>>2]=23,t[ye+4>>2]=0,t[r>>2]=t[ye>>2],t[r+4>>2]=t[ye+4>>2],Vs(e,4619,r)|0,t[Se>>2]=14,t[Se+4>>2]=0,t[r>>2]=t[Se>>2],t[r+4>>2]=t[Se+4>>2],e1(e,4629,r)|0,t[be>>2]=1,t[be+4>>2]=0,t[r>>2]=t[be>>2],t[r+4>>2]=t[be+4>>2],ya(e,4637,r)|0,t[K>>2]=4,t[K+4>>2]=0,t[r>>2]=t[K>>2],t[r+4>>2]=t[K+4>>2],al(e,4653,r)|0,t[I>>2]=5,t[I+4>>2]=0,t[r>>2]=t[I>>2],t[r+4>>2]=t[I+4>>2],al(e,4669,r)|0,t[M>>2]=6,t[M+4>>2]=0,t[r>>2]=t[M>>2],t[r+4>>2]=t[M+4>>2],al(e,4686,r)|0,t[N>>2]=7,t[N+4>>2]=0,t[r>>2]=t[N>>2],t[r+4>>2]=t[N+4>>2],al(e,4701,r)|0,t[S>>2]=8,t[S+4>>2]=0,t[r>>2]=t[S>>2],t[r+4>>2]=t[S+4>>2],al(e,4719,r)|0,t[D>>2]=9,t[D+4>>2]=0,t[r>>2]=t[D>>2],t[r+4>>2]=t[D+4>>2],al(e,4736,r)|0,t[h>>2]=21,t[h+4>>2]=0,t[r>>2]=t[h>>2],t[r+4>>2]=t[h+4>>2],hd(e,4754,r)|0,t[s>>2]=2,t[s+4>>2]=0,t[r>>2]=t[s>>2],t[r+4>>2]=t[s+4>>2],yc(e,4772,r)|0,t[l>>2]=3,t[l+4>>2]=0,t[r>>2]=t[l>>2],t[r+4>>2]=t[l+4>>2],yc(e,4790,r)|0,t[u>>2]=4,t[u+4>>2]=0,t[r>>2]=t[u>>2],t[r+4>>2]=t[u+4>>2],yc(e,4808,r)|0,m=n}function Tf(e,n){e=e|0,n=n|0;var r=0;r=rf()|0,t[e>>2]=r,Wo(r,n),$d(t[e>>2]|0)}function Zc(e,n,r){return e=e|0,n=n|0,r=r|0,Ot(e,Fr(n)|0,r,0),e|0}function gh(e,n,r){return e=e|0,n=n|0,r=r|0,c(e,Fr(n)|0,r,0),e|0}function nm(e,n,r){return e=e|0,n=n|0,r=r|0,Y4(e,Fr(n)|0,r,0),e|0}function Vs(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],U4(e,n,l),m=u,e|0}function ma(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],jl(e,n,l),m=u,e|0}function iu(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],d(e,n,l),m=u,e|0}function M0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Tv(e,n,l),m=u,e|0}function o0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Xm(e,n,l),m=u,e|0}function ns(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Yd(e,n,l),m=u,e|0}function Ya(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Gd(e,n,l),m=u,e|0}function io(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],k0(e,n,l),m=u,e|0}function al(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],wp(e,n,l),m=u,e|0}function yc(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Mm(e,n,l),m=u,e|0}function k2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],l0(e,n,l),m=u,e|0}function _h(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Od(e,n,l),m=u,e|0}function Cf(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Dm(e,n,l),m=u,e|0}function xf(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],ep(e,n,l),m=u,e|0}function $c(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],m1(e,n,l),m=u,e|0}function kl(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Za(e,n,l),m=u,e|0}function e1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],U2(e,n,l),m=u,e|0}function ya(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],F2(e,n,l),m=u,e|0}function hd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],vd(e,n,l),m=u,e|0}function vd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],ga(e,r,l,1),m=u}function Fr(e){return e=e|0,e|0}function ga(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=N2()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=t1(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,md(s,u)|0,u),m=l}function N2(){var e=0,n=0;if(p[7616]|0||(fl(9136),Wt(24,9136,ve|0)|0,n=7616,t[n>>2]=1,t[n+4>>2]=0),!(sr(9136)|0)){e=9136,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));fl(9136)}return 9136}function t1(e){return e=e|0,0}function md(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=N2()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Rf(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Af(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function wi(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0;var h=0,D=0,S=0,N=0,M=0,I=0,K=0,be=0;h=m,m=m+32|0,K=h+24|0,I=h+20|0,S=h+16|0,M=h+12|0,N=h+8|0,D=h+4|0,be=h,t[I>>2]=n,t[S>>2]=r,t[M>>2]=u,t[N>>2]=l,t[D>>2]=s,s=e+28|0,t[be>>2]=t[s>>2],t[K>>2]=t[be>>2],L2(e+24|0,K,I,M,N,S,D)|0,t[s>>2]=t[t[s>>2]>>2],m=h}function L2(e,n,r,u,l,s,h){return e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,h=h|0,e=rm(n)|0,n=pn(24)|0,yd(n+4|0,t[r>>2]|0,t[u>>2]|0,t[l>>2]|0,t[s>>2]|0,t[h>>2]|0),t[n>>2]=t[e>>2],t[e>>2]=n,n|0}function rm(e){return e=e|0,t[e>>2]|0}function yd(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,t[e>>2]=n,t[e+4>>2]=r,t[e+8>>2]=u,t[e+12>>2]=l,t[e+16>>2]=s}function hn(e,n){return e=e|0,n=n|0,n|e|0}function Rf(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Af(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=im(e)|0,s>>>0<l>>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,Of(D,K>>>0<s>>>1>>>0?I>>>0<l>>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Rf(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Eh(e,D),um(D),m=N;return}}function im(e){return e=e|0,357913941}function Of(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Eh(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function um(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function fl(e){e=e|0,Ho(e)}function n1(e){e=e|0,qn(e+24|0)}function sr(e){return e=e|0,t[e>>2]|0}function qn(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function Ho(e){e=e|0;var n=0;n=yr()|0,jn(e,2,3,n,Vn()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function yr(){return 9228}function Vn(){return 1140}function cl(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;return r=m,m=m+16|0,u=r+8|0,l=r,s=_o(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],n=gc(n,u)|0,m=r,n|0}function jn(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,t[e>>2]=n,t[e+4>>2]=r,t[e+8>>2]=u,t[e+12>>2]=l,t[e+16>>2]=s}function _o(e){return e=e|0,(t[(N2()|0)+24>>2]|0)+(e*12|0)|0}function gc(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;return l=m,m=m+48|0,u=l,r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),P1[r&31](u,e),u=uo(u)|0,m=l,u|0}function uo(e){e=e|0;var n=0,r=0,u=0,l=0;return l=m,m=m+32|0,n=l+12|0,r=l,u=Iu(Ka()|0)|0,u?(rs(n,u),Mf(r,n),_c(e,r),e=Cs(n)|0):e=Ec(e)|0,m=l,e|0}function Ka(){var e=0;return p[7632]|0||(Nf(9184),Wt(25,9184,ve|0)|0,e=7632,t[e>>2]=1,t[e+4>>2]=0),9184}function Iu(e){return e=e|0,t[e+36>>2]|0}function rs(e,n){e=e|0,n=n|0,t[e>>2]=n,t[e+4>>2]=e,t[e+8>>2]=0}function Mf(e,n){e=e|0,n=n|0,t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=0}function _c(e,n){e=e|0,n=n|0,oo(n,e,e+8|0,e+16|0,e+24|0,e+32|0,e+40|0)|0}function Cs(e){return e=e|0,t[(t[e+4>>2]|0)+8>>2]|0}function Ec(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0,S=0;S=m,m=m+16|0,r=S+4|0,u=S,l=Oa(8)|0,s=l,h=pn(48)|0,D=h,n=D+48|0;do t[D>>2]=t[e>>2],D=D+4|0,e=e+4|0;while((D|0)<(n|0));return n=s+4|0,t[n>>2]=h,D=pn(8)|0,h=t[n>>2]|0,t[u>>2]=0,t[r>>2]=t[u>>2],Dh(D,h,r),t[l>>2]=D,m=S,s|0}function Dh(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=pn(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1092,t[r+12>>2]=n,t[e+4>>2]=r}function cn(e){e=e|0,Iv(e),_t(e)}function is(e){e=e|0,e=t[e+12>>2]|0,e|0&&_t(e)}function Eo(e){e=e|0,_t(e)}function oo(e,n,r,u,l,s,h){return e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,h=h|0,s=Ji(t[e>>2]|0,n,r,u,l,s,h)|0,h=e+4|0,t[(t[h>>2]|0)+8>>2]=s,t[(t[h>>2]|0)+8>>2]|0}function Ji(e,n,r,u,l,s,h){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,h=h|0;var D=0,S=0;return D=m,m=m+16|0,S=D,Ma(S),e=yo(e)|0,h=Yr(e,+U[n>>3],+U[r>>3],+U[u>>3],+U[l>>3],+U[s>>3],+U[h>>3])|0,ka(S),m=D,h|0}function Yr(e,n,r,u,l,s,h){e=e|0,n=+n,r=+r,u=+u,l=+l,s=+s,h=+h;var D=0;return D=go(kf()|0)|0,n=+Ml(n),r=+Ml(r),u=+Ml(u),l=+Ml(l),s=+Ml(s),p0(0,D|0,e|0,+n,+r,+u,+l,+s,+ +Ml(h))|0}function kf(){var e=0;return p[7624]|0||(om(9172),e=7624,t[e>>2]=1,t[e+4>>2]=0),9172}function om(e){e=e|0,ol(e,Nl()|0,6)}function Nl(){return 1112}function Nf(e){e=e|0,Xa(e)}function Lf(e){e=e|0,gd(e+24|0),_d(e+16|0)}function gd(e){e=e|0,r1(e)}function _d(e){e=e|0,Dc(e)}function Dc(e){e=e|0;var n=0,r=0;if(n=t[e>>2]|0,n|0)do r=n,n=t[n>>2]|0,_t(r);while((n|0)!=0);t[e>>2]=0}function r1(e){e=e|0;var n=0,r=0;if(n=t[e>>2]|0,n|0)do r=n,n=t[n>>2]|0,_t(r);while((n|0)!=0);t[e>>2]=0}function Xa(e){e=e|0;var n=0;t[e+16>>2]=0,t[e+20>>2]=0,n=e+24|0,t[n>>2]=0,t[e+28>>2]=n,t[e+36>>2]=0,p[e+40>>0]=0,p[e+41>>0]=0}function F2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Ed(e,r,l,0),m=u}function Ed(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=i1()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=Ff(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,u1(s,u)|0,u),m=l}function i1(){var e=0,n=0;if(p[7640]|0||(Ll(9232),Wt(26,9232,ve|0)|0,n=7640,t[n>>2]=1,t[n+4>>2]=0),!(sr(9232)|0)){e=9232,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Ll(9232)}return 9232}function Ff(e){return e=e|0,0}function u1(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=i1()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Qa(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(o1(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function Qa(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function o1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=P2(e)|0,s>>>0<l>>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,Dd(D,K>>>0<s>>>1>>>0?I>>>0<l>>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Qa(s,u,r),t[S>>2]=(t[S>>2]|0)+12,wc(e,D),l1(D),m=N;return}}function P2(e){return e=e|0,357913941}function Dd(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function wc(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function l1(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function Ll(e){e=e|0,I2(e)}function Ea(e){e=e|0,wh(e+24|0)}function wh(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function I2(e){e=e|0;var n=0;n=yr()|0,jn(e,2,1,n,b2()|0,3),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function b2(){return 1144}function Sh(e,n,r,u,l){e=e|0,n=n|0,r=+r,u=+u,l=l|0;var s=0,h=0,D=0,S=0;s=m,m=m+16|0,h=s+8|0,D=s,S=wd(e)|0,e=t[S+4>>2]|0,t[D>>2]=t[S>>2],t[D+4>>2]=e,t[h>>2]=t[D>>2],t[h+4>>2]=t[D+4>>2],Th(n,h,r,u,l),m=s}function wd(e){return e=e|0,(t[(i1()|0)+24>>2]|0)+(e*12|0)|0}function Th(e,n,r,u,l){e=e|0,n=n|0,r=+r,u=+u,l=l|0;var s=0,h=0,D=0,S=0,N=0;N=m,m=m+16|0,h=N+2|0,D=N+1|0,S=N,s=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(s=t[(t[e>>2]|0)+s>>2]|0),Fl(h,r),r=+us(h,r),Fl(D,u),u=+us(D,u),xs(S,l),S=Gs(S,l)|0,w8[s&1](e,r,u,S),m=N}function Fl(e,n){e=e|0,n=+n}function us(e,n){return e=e|0,n=+n,+ +Ch(n)}function xs(e,n){e=e|0,n=n|0}function Gs(e,n){return e=e|0,n=n|0,B2(n)|0}function B2(e){return e=e|0,e|0}function Ch(e){return e=+e,+e}function U2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],j2(e,r,l,1),m=u}function j2(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=s1()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=a1(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,xh(s,u)|0,u),m=l}function s1(){var e=0,n=0;if(p[7648]|0||(f1(9268),Wt(27,9268,ve|0)|0,n=7648,t[n>>2]=1,t[n+4>>2]=0),!(sr(9268)|0)){e=9268,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));f1(9268)}return 9268}function a1(e){return e=e|0,0}function xh(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=s1()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],z2(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(H2(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function z2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function H2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Rs(e)|0,s>>>0<l>>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,Ja(D,K>>>0<s>>>1>>>0?I>>>0<l>>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],z2(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Rh(e,D),du(D),m=N;return}}function Rs(e){return e=e|0,357913941}function Ja(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Rh(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function du(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function f1(e){e=e|0,Pl(e)}function Ah(e){e=e|0,c1(e+24|0)}function c1(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function Pl(e){e=e|0;var n=0;n=yr()|0,jn(e,2,4,n,Oh()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Oh(){return 1160}function q2(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;return r=m,m=m+16|0,u=r+8|0,l=r,s=Mh(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],n=d1(n,u)|0,m=r,n|0}function Mh(e){return e=e|0,(t[(s1()|0)+24>>2]|0)+(e*12|0)|0}function d1(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),Il(Jp[r&31](e)|0)|0}function Il(e){return e=e|0,e&1|0}function Za(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Da(e,r,l,0),m=u}function Da(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=W2()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=V2(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,lm(s,u)|0,u),m=l}function W2(){var e=0,n=0;if(p[7656]|0||(Lh(9304),Wt(28,9304,ve|0)|0,n=7656,t[n>>2]=1,t[n+4>>2]=0),!(sr(9304)|0)){e=9304,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Lh(9304)}return 9304}function V2(e){return e=e|0,0}function lm(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=W2()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],G2(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(kh(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function G2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function kh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Nh(e)|0,s>>>0<l>>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,Y2(D,K>>>0<s>>>1>>>0?I>>>0<l>>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],G2(s,u,r),t[S>>2]=(t[S>>2]|0)+12,sm(e,D),am(D),m=N;return}}function Nh(e){return e=e|0,357913941}function Y2(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function sm(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function am(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function Lh(e){e=e|0,p1(e)}function fm(e){e=e|0,K2(e+24|0)}function K2(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function p1(e){e=e|0;var n=0;n=yr()|0,jn(e,2,5,n,h1()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function h1(){return 1164}function v1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,l=u+8|0,s=u,h=wa(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],X2(n,l,r),m=u}function wa(e){return e=e|0,(t[(W2()|0)+24>>2]|0)+(e*12|0)|0}function X2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),Ys(l,r),r=Ks(l,r)|0,P1[u&31](e,r),Xs(l),m=s}function Ys(e,n){e=e|0,n=n|0,Q2(e,n)}function Ks(e,n){return e=e|0,n=n|0,e|0}function Xs(e){e=e|0,fa(e)}function Q2(e,n){e=e|0,n=n|0,Sa(e,n)}function Sa(e,n){e=e|0,n=n|0,t[e>>2]=n}function m1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Sd(e,r,l,0),m=u}function Sd(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Sc()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=J2(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,Do(s,u)|0,u),m=l}function Sc(){var e=0,n=0;if(p[7664]|0||(Uh(9340),Wt(29,9340,ve|0)|0,n=7664,t[n>>2]=1,t[n+4>>2]=0),!(sr(9340)|0)){e=9340,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Uh(9340)}return 9340}function J2(e){return e=e|0,0}function Do(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=Sc()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Fh(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Ph(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function Fh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Ph(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Ih(e)|0,s>>>0<l>>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,bh(D,K>>>0<s>>>1>>>0?I>>>0<l>>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Fh(s,u,r),t[S>>2]=(t[S>>2]|0)+12,cm(e,D),Bh(D),m=N;return}}function Ih(e){return e=e|0,357913941}function bh(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function cm(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Bh(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function Uh(e){e=e|0,jh(e)}function y1(e){e=e|0,Z2(e+24|0)}function Z2(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function jh(e){e=e|0;var n=0;n=yr()|0,jn(e,2,4,n,$2()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function $2(){return 1180}function zh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=dm(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],r=pm(n,l,r)|0,m=u,r|0}function dm(e){return e=e|0,(t[(Sc()|0)+24>>2]|0)+(e*12|0)|0}function pm(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;return s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),Pf(l,r),l=If(l,r)|0,l=Td(FE[u&15](e,l)|0)|0,m=s,l|0}function Pf(e,n){e=e|0,n=n|0}function If(e,n){return e=e|0,n=n|0,hm(n)|0}function Td(e){return e=e|0,e|0}function hm(e){return e=e|0,e|0}function ep(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Cd(e,r,l,0),m=u}function Cd(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=tp()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=Hh(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,np(s,u)|0,u),m=l}function tp(){var e=0,n=0;if(p[7672]|0||(Vh(9376),Wt(30,9376,ve|0)|0,n=7672,t[n>>2]=1,t[n+4>>2]=0),!(sr(9376)|0)){e=9376,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Vh(9376)}return 9376}function Hh(e){return e=e|0,0}function np(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=tp()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],qh(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Wh(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function qh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Wh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=rp(e)|0,s>>>0<l>>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,vm(D,K>>>0<s>>>1>>>0?I>>>0<l>>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],qh(s,u,r),t[S>>2]=(t[S>>2]|0)+12,mm(e,D),ym(D),m=N;return}}function rp(e){return e=e|0,357913941}function vm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function mm(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function ym(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function Vh(e){e=e|0,ip(e)}function g1(e){e=e|0,gm(e+24|0)}function gm(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function ip(e){e=e|0;var n=0;n=yr()|0,jn(e,2,5,n,up()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function up(){return 1196}function _m(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;return r=m,m=m+16|0,u=r+8|0,l=r,s=Em(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],n=Gh(n,u)|0,m=r,n|0}function Em(e){return e=e|0,(t[(tp()|0)+24>>2]|0)+(e*12|0)|0}function Gh(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),Td(Jp[r&31](e)|0)|0}function Dm(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],wm(e,r,l,1),m=u}function wm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=op()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=lp(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,Ta(s,u)|0,u),m=l}function op(){var e=0,n=0;if(p[7680]|0||(ap(9412),Wt(31,9412,ve|0)|0,n=7680,t[n>>2]=1,t[n+4>>2]=0),!(sr(9412)|0)){e=9412,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));ap(9412)}return 9412}function lp(e){return e=e|0,0}function Ta(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=op()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],_1(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(sp(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function _1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function sp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Yh(e)|0,s>>>0<l>>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,xd(D,K>>>0<s>>>1>>>0?I>>>0<l>>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],_1(s,u,r),t[S>>2]=(t[S>>2]|0)+12,E1(e,D),Kh(D),m=N;return}}function Yh(e){return e=e|0,357913941}function xd(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function E1(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Kh(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function ap(e){e=e|0,Qh(e)}function Xh(e){e=e|0,fp(e+24|0)}function fp(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function Qh(e){e=e|0;var n=0;n=yr()|0,jn(e,2,6,n,Jh()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Jh(){return 1200}function cp(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;return r=m,m=m+16|0,u=r+8|0,l=r,s=Rd(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],n=Ad(n,u)|0,m=r,n|0}function Rd(e){return e=e|0,(t[(op()|0)+24>>2]|0)+(e*12|0)|0}function Ad(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),H0(Jp[r&31](e)|0)|0}function H0(e){return e=e|0,e|0}function Od(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Ca(e,r,l,0),m=u}function Ca(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=$a()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=Md(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,kd(s,u)|0,u),m=l}function $a(){var e=0,n=0;if(p[7688]|0||(hp(9448),Wt(32,9448,ve|0)|0,n=7688,t[n>>2]=1,t[n+4>>2]=0),!(sr(9448)|0)){e=9448,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));hp(9448)}return 9448}function Md(e){return e=e|0,0}function kd(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=$a()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],dp(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Nd(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function dp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Nd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Zh(e)|0,s>>>0<l>>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,Sm(D,K>>>0<s>>>1>>>0?I>>>0<l>>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],dp(s,u,r),t[S>>2]=(t[S>>2]|0)+12,$h(e,D),pp(D),m=N;return}}function Zh(e){return e=e|0,357913941}function Sm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function $h(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function pp(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function hp(e){e=e|0,Cm(e)}function vp(e){e=e|0,Tm(e+24|0)}function Tm(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function Cm(e){e=e|0;var n=0;n=yr()|0,jn(e,2,6,n,wo()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function wo(){return 1204}function Ld(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,l=u+8|0,s=u,h=xm(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],dl(n,l,r),m=u}function xm(e){return e=e|0,(t[($a()|0)+24>>2]|0)+(e*12|0)|0}function dl(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),tr(l,r),l=Qs(l,r)|0,P1[u&31](e,l),m=s}function tr(e,n){e=e|0,n=n|0}function Qs(e,n){return e=e|0,n=n|0,pl(n)|0}function pl(e){return e=e|0,e|0}function l0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],ev(e,r,l,0),m=u}function ev(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Js()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=mp(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,Rm(s,u)|0,u),m=l}function Js(){var e=0,n=0;if(p[7696]|0||(_p(9484),Wt(33,9484,ve|0)|0,n=7696,t[n>>2]=1,t[n+4>>2]=0),!(sr(9484)|0)){e=9484,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));_p(9484)}return 9484}function mp(e){return e=e|0,0}function Rm(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=Js()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],tv(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(yp(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function tv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function yp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Am(e)|0,s>>>0<l>>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,gp(D,K>>>0<s>>>1>>>0?I>>>0<l>>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],tv(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Tc(e,D),xa(D),m=N;return}}function Am(e){return e=e|0,357913941}function gp(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Tc(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function xa(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function _p(e){e=e|0,Yu(e)}function Fd(e){e=e|0,bu(e+24|0)}function bu(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function Yu(e){e=e|0;var n=0;n=yr()|0,jn(e,2,1,n,Ep()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Ep(){return 1212}function Dp(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;l=m,m=m+16|0,s=l+8|0,h=l,D=nv(e)|0,e=t[D+4>>2]|0,t[h>>2]=t[D>>2],t[h+4>>2]=e,t[s>>2]=t[h>>2],t[s+4>>2]=t[h+4>>2],Om(n,s,r,u),m=l}function nv(e){return e=e|0,(t[(Js()|0)+24>>2]|0)+(e*12|0)|0}function Om(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;D=m,m=m+16|0,s=D+1|0,h=D,l=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(l=t[(t[e>>2]|0)+l>>2]|0),tr(s,r),s=Qs(s,r)|0,Pf(h,u),h=If(h,u)|0,Ry[l&15](e,s,h),m=D}function Mm(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],km(e,r,l,1),m=u}function km(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Pd()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=rv(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,Cc(s,u)|0,u),m=l}function Pd(){var e=0,n=0;if(p[7704]|0||(iv(9520),Wt(34,9520,ve|0)|0,n=7704,t[n>>2]=1,t[n+4>>2]=0),!(sr(9520)|0)){e=9520,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));iv(9520)}return 9520}function rv(e){return e=e|0,0}function Cc(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=Pd()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],D1(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Nm(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function D1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Nm(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Id(e)|0,s>>>0<l>>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,w1(D,K>>>0<s>>>1>>>0?I>>>0<l>>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],D1(s,u,r),t[S>>2]=(t[S>>2]|0)+12,bl(e,D),Ra(D),m=N;return}}function Id(e){return e=e|0,357913941}function w1(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function bl(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Ra(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function iv(e){e=e|0,ov(e)}function Lm(e){e=e|0,uv(e+24|0)}function uv(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function ov(e){e=e|0;var n=0;n=yr()|0,jn(e,2,1,n,Fm()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Fm(){return 1224}function lv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;return l=m,m=m+16|0,s=l+8|0,h=l,D=Aa(e)|0,e=t[D+4>>2]|0,t[h>>2]=t[D>>2],t[h+4>>2]=e,t[s>>2]=t[h>>2],t[s+4>>2]=t[h+4>>2],u=+Mr(n,s,r),m=l,+u}function Aa(e){return e=e|0,(t[(Pd()|0)+24>>2]|0)+(e*12|0)|0}function Mr(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),xs(l,r),l=Gs(l,r)|0,h=+Ga(+T8[u&7](e,l)),m=s,+h}function wp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],hl(e,r,l,1),m=u}function hl(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=gu()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=S1(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,Ui(s,u)|0,u),m=l}function gu(){var e=0,n=0;if(p[7712]|0||(Tp(9556),Wt(35,9556,ve|0)|0,n=7712,t[n>>2]=1,t[n+4>>2]=0),!(sr(9556)|0)){e=9556,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Tp(9556)}return 9556}function S1(e){return e=e|0,0}function Ui(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=gu()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Sp(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(bd(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function Sp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function bd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=So(e)|0,s>>>0<l>>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,As(D,K>>>0<s>>>1>>>0?I>>>0<l>>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Sp(s,u,r),t[S>>2]=(t[S>>2]|0)+12,bf(e,D),Bd(D),m=N;return}}function So(e){return e=e|0,357913941}function As(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function bf(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Bd(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function Tp(e){e=e|0,Cp(e)}function T1(e){e=e|0,C1(e+24|0)}function C1(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function Cp(e){e=e|0;var n=0;n=yr()|0,jn(e,2,5,n,nr()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function nr(){return 1232}function vl(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=Gn(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],r=+q0(n,l),m=u,+r}function Gn(e){return e=e|0,(t[(gu()|0)+24>>2]|0)+(e*12|0)|0}function q0(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),+ +Ga(+S8[r&15](e))}function k0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Ud(e,r,l,1),m=u}function Ud(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Bl()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=x1(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,xc(s,u)|0,u),m=l}function Bl(){var e=0,n=0;if(p[7720]|0||(Hd(9592),Wt(36,9592,ve|0)|0,n=7720,t[n>>2]=1,t[n+4>>2]=0),!(sr(9592)|0)){e=9592,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Hd(9592)}return 9592}function x1(e){return e=e|0,0}function xc(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=Bl()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Rc(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(jd(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function Rc(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function jd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=xp(e)|0,s>>>0<l>>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,N0(D,K>>>0<s>>>1>>>0?I>>>0<l>>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Rc(s,u,r),t[S>>2]=(t[S>>2]|0)+12,dn(e,D),zd(D),m=N;return}}function xp(e){return e=e|0,357913941}function N0(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function dn(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function zd(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function Hd(e){e=e|0,Mc(e)}function Ac(e){e=e|0,Oc(e+24|0)}function Oc(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function Mc(e){e=e|0;var n=0;n=yr()|0,jn(e,2,7,n,R1()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function R1(){return 1276}function Rp(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;return r=m,m=m+16|0,u=r+8|0,l=r,s=ef(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],n=Pm(n,u)|0,m=r,n|0}function ef(e){return e=e|0,(t[(Bl()|0)+24>>2]|0)+(e*12|0)|0}function Pm(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;return l=m,m=m+16|0,u=l,r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),P1[r&31](u,e),u=kc(u)|0,m=l,u|0}function kc(e){e=e|0;var n=0,r=0,u=0,l=0;return l=m,m=m+32|0,n=l+12|0,r=l,u=Iu(qd()|0)|0,u?(rs(n,u),Mf(r,n),sv(e,r),e=Cs(n)|0):e=A1(e)|0,m=l,e|0}function qd(){var e=0;return p[7736]|0||(qo(9640),Wt(25,9640,ve|0)|0,e=7736,t[e>>2]=1,t[e+4>>2]=0),9640}function sv(e,n){e=e|0,n=n|0,Nc(n,e,e+8|0)|0}function A1(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0;return r=m,m=m+16|0,l=r+4|0,h=r,u=Oa(8)|0,n=u,D=pn(16)|0,t[D>>2]=t[e>>2],t[D+4>>2]=t[e+4>>2],t[D+8>>2]=t[e+8>>2],t[D+12>>2]=t[e+12>>2],s=n+4|0,t[s>>2]=D,e=pn(8)|0,s=t[s>>2]|0,t[h>>2]=0,t[l>>2]=t[h>>2],Bf(e,s,l),t[u>>2]=e,m=r,n|0}function Bf(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=pn(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1244,t[r+12>>2]=n,t[e+4>>2]=r}function Uf(e){e=e|0,Iv(e),_t(e)}function O1(e){e=e|0,e=t[e+12>>2]|0,e|0&&_t(e)}function Ul(e){e=e|0,_t(e)}function Nc(e,n,r){return e=e|0,n=n|0,r=r|0,n=jf(t[e>>2]|0,n,r)|0,r=e+4|0,t[(t[r>>2]|0)+8>>2]=n,t[(t[r>>2]|0)+8>>2]|0}function jf(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;return u=m,m=m+16|0,l=u,Ma(l),e=yo(e)|0,r=Im(e,t[n>>2]|0,+U[r>>3])|0,ka(l),m=u,r|0}function Im(e,n,r){e=e|0,n=n|0,r=+r;var u=0;return u=go(ml()|0)|0,n=sd(n)|0,Hr(0,u|0,e|0,n|0,+ +Ml(r))|0}function ml(){var e=0;return p[7728]|0||(Wd(9628),e=7728,t[e>>2]=1,t[e+4>>2]=0),9628}function Wd(e){e=e|0,ol(e,Vd()|0,2)}function Vd(){return 1264}function qo(e){e=e|0,Xa(e)}function Gd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],bm(e,r,l,1),m=u}function bm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=M1()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=Bm(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,Um(s,u)|0,u),m=l}function M1(){var e=0,n=0;if(p[7744]|0||(cv(9684),Wt(37,9684,ve|0)|0,n=7744,t[n>>2]=1,t[n+4>>2]=0),!(sr(9684)|0)){e=9684,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));cv(9684)}return 9684}function Bm(e){return e=e|0,0}function Um(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=M1()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],av(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(jm(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function av(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function jm(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=fv(e)|0,s>>>0<l>>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,zm(D,K>>>0<s>>>1>>>0?I>>>0<l>>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],av(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Hm(e,D),qm(D),m=N;return}}function fv(e){return e=e|0,357913941}function zm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Hm(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function qm(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function cv(e){e=e|0,Vm(e)}function Wm(e){e=e|0,Ap(e+24|0)}function Ap(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function Vm(e){e=e|0;var n=0;n=yr()|0,jn(e,2,5,n,zf()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function zf(){return 1280}function dv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=pv(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],r=hv(n,l,r)|0,m=u,r|0}function pv(e){return e=e|0,(t[(M1()|0)+24>>2]|0)+(e*12|0)|0}function hv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return h=m,m=m+32|0,l=h,s=h+16|0,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),xs(s,r),s=Gs(s,r)|0,Ry[u&15](l,e,s),s=kc(l)|0,m=h,s|0}function Yd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Kd(e,r,l,1),m=u}function Kd(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Op()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=vv(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,Xd(s,u)|0,u),m=l}function Op(){var e=0,n=0;if(p[7752]|0||(Ev(9720),Wt(38,9720,ve|0)|0,n=7752,t[n>>2]=1,t[n+4>>2]=0),!(sr(9720)|0)){e=9720,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Ev(9720)}return 9720}function vv(e){return e=e|0,0}function Xd(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=Op()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],mv(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(yv(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function mv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function yv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Mp(e)|0,s>>>0<l>>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,gv(D,K>>>0<s>>>1>>>0?I>>>0<l>>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],mv(s,u,r),t[S>>2]=(t[S>>2]|0)+12,_v(e,D),Gm(D),m=N;return}}function Mp(e){return e=e|0,357913941}function gv(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function _v(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Gm(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function Ev(e){e=e|0,Dv(e)}function Ym(e){e=e|0,Qd(e+24|0)}function Qd(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function Dv(e){e=e|0;var n=0;n=yr()|0,jn(e,2,8,n,kp()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function kp(){return 1288}function Km(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;return r=m,m=m+16|0,u=r+8|0,l=r,s=s0(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],n=Np(n,u)|0,m=r,n|0}function s0(e){return e=e|0,(t[(Op()|0)+24>>2]|0)+(e*12|0)|0}function Np(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),cd(Jp[r&31](e)|0)|0}function Xm(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Qm(e,r,l,0),m=u}function Qm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Lp()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=tf(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,Fp(s,u)|0,u),m=l}function Lp(){var e=0,n=0;if(p[7760]|0||(bp(9756),Wt(39,9756,ve|0)|0,n=7760,t[n>>2]=1,t[n+4>>2]=0),!(sr(9756)|0)){e=9756,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));bp(9756)}return 9756}function tf(e){return e=e|0,0}function Fp(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=Lp()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Pp(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Ip(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function Pp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Ip(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Jm(e)|0,s>>>0<l>>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,Zm(D,K>>>0<s>>>1>>>0?I>>>0<l>>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Pp(s,u,r),t[S>>2]=(t[S>>2]|0)+12,wv(e,D),Hf(D),m=N;return}}function Jm(e){return e=e|0,357913941}function Zm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function wv(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Hf(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function bp(e){e=e|0,ey(e)}function Sv(e){e=e|0,$m(e+24|0)}function $m(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function ey(e){e=e|0;var n=0;n=yr()|0,jn(e,2,8,n,Bp()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Bp(){return 1292}function Up(e,n,r){e=e|0,n=n|0,r=+r;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,l=u+8|0,s=u,h=ty(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],ny(n,l,r),m=u}function ty(e){return e=e|0,(t[(Lp()|0)+24>>2]|0)+(e*12|0)|0}function ny(e,n,r){e=e|0,n=n|0,r=+r;var u=0,l=0,s=0;s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),Fl(l,r),r=+us(l,r),E8[u&31](e,r),m=s}function Tv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],jp(e,r,l,0),m=u}function jp(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=zp()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=Jd(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,ry(s,u)|0,u),m=l}function zp(){var e=0,n=0;if(p[7768]|0||(Hp(9792),Wt(40,9792,ve|0)|0,n=7768,t[n>>2]=1,t[n+4>>2]=0),!(sr(9792)|0)){e=9792,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Hp(9792)}return 9792}function Jd(e){return e=e|0,0}function ry(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=zp()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],k1(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(iy(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function k1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function iy(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Cv(e)|0,s>>>0<l>>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,xv(D,K>>>0<s>>>1>>>0?I>>>0<l>>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],k1(s,u,r),t[S>>2]=(t[S>>2]|0)+12,uy(e,D),qf(D),m=N;return}}function Cv(e){return e=e|0,357913941}function xv(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function uy(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function qf(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function Hp(e){e=e|0,ly(e)}function Rv(e){e=e|0,oy(e+24|0)}function oy(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function ly(e){e=e|0;var n=0;n=yr()|0,jn(e,2,1,n,qp()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function qp(){return 1300}function sy(e,n,r,u){e=e|0,n=n|0,r=r|0,u=+u;var l=0,s=0,h=0,D=0;l=m,m=m+16|0,s=l+8|0,h=l,D=Zs(e)|0,e=t[D+4>>2]|0,t[h>>2]=t[D>>2],t[h+4>>2]=e,t[s>>2]=t[h>>2],t[s+4>>2]=t[h+4>>2],ay(n,s,r,u),m=l}function Zs(e){return e=e|0,(t[(zp()|0)+24>>2]|0)+(e*12|0)|0}function ay(e,n,r,u){e=e|0,n=n|0,r=r|0,u=+u;var l=0,s=0,h=0,D=0;D=m,m=m+16|0,s=D+1|0,h=D,l=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(l=t[(t[e>>2]|0)+l>>2]|0),xs(s,r),s=Gs(s,r)|0,Fl(h,u),u=+us(h,u),A8[l&15](e,s,u),m=D}function d(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],v(e,r,l,0),m=u}function v(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=x()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=P(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,q(s,u)|0,u),m=l}function x(){var e=0,n=0;if(p[7776]|0||(At(9828),Wt(41,9828,ve|0)|0,n=7776,t[n>>2]=1,t[n+4>>2]=0),!(sr(9828)|0)){e=9828,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));At(9828)}return 9828}function P(e){return e=e|0,0}function q(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=x()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],ee(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(de(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function ee(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function de(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=_e(e)|0,s>>>0<l>>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,Ie(D,K>>>0<s>>>1>>>0?I>>>0<l>>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],ee(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Et(e,D),St(D),m=N;return}}function _e(e){return e=e|0,357913941}function Ie(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Et(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function St(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function At(e){e=e|0,rr(e)}function on(e){e=e|0,kn(e+24|0)}function kn(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function rr(e){e=e|0;var n=0;n=yr()|0,jn(e,2,7,n,br()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function br(){return 1312}function ar(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,l=u+8|0,s=u,h=ui(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],di(n,l,r),m=u}function ui(e){return e=e|0,(t[(x()|0)+24>>2]|0)+(e*12|0)|0}function di(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),xs(l,r),l=Gs(l,r)|0,P1[u&31](e,l),m=s}function jl(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Zi(e,r,l,0),m=u}function Zi(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=lo()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=a0(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,Os(s,u)|0,u),m=l}function lo(){var e=0,n=0;if(p[7784]|0||(qg(9864),Wt(42,9864,ve|0)|0,n=7784,t[n>>2]=1,t[n+4>>2]=0),!(sr(9864)|0)){e=9864,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));qg(9864)}return 9864}function a0(e){return e=e|0,0}function Os(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=lo()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],To(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Av(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function To(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Av(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=k4(e)|0,s>>>0<l>>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,fy(D,K>>>0<s>>>1>>>0?I>>>0<l>>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],To(s,u,r),t[S>>2]=(t[S>>2]|0)+12,cy(e,D),nf(D),m=N;return}}function k4(e){return e=e|0,357913941}function fy(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function cy(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function nf(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function qg(e){e=e|0,F4(e)}function N4(e){e=e|0,L4(e+24|0)}function L4(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function F4(e){e=e|0;var n=0;n=yr()|0,jn(e,2,8,n,P4()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function P4(){return 1320}function dy(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,l=u+8|0,s=u,h=I4(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],b4(n,l,r),m=u}function I4(e){return e=e|0,(t[(lo()|0)+24>>2]|0)+(e*12|0)|0}function b4(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),py(l,r),l=Wg(l,r)|0,P1[u&31](e,l),m=s}function py(e,n){e=e|0,n=n|0}function Wg(e,n){return e=e|0,n=n|0,B4(n)|0}function B4(e){return e=e|0,e|0}function U4(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Vg(e,r,l,0),m=u}function Vg(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Wf()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=Gg(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,j4(s,u)|0,u),m=l}function Wf(){var e=0,n=0;if(p[7792]|0||(my(9900),Wt(43,9900,ve|0)|0,n=7792,t[n>>2]=1,t[n+4>>2]=0),!(sr(9900)|0)){e=9900,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));my(9900)}return 9900}function Gg(e){return e=e|0,0}function j4(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=Wf()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Wp(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(z4(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function Wp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function z4(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Ov(e)|0,s>>>0<l>>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,hy(D,K>>>0<s>>>1>>>0?I>>>0<l>>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Wp(s,u,r),t[S>>2]=(t[S>>2]|0)+12,vy(e,D),H4(D),m=N;return}}function Ov(e){return e=e|0,357913941}function hy(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function vy(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function H4(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function my(e){e=e|0,Yg(e)}function q4(e){e=e|0,W4(e+24|0)}function W4(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function Yg(e){e=e|0;var n=0;n=yr()|0,jn(e,2,22,n,V4()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function V4(){return 1344}function G4(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;r=m,m=m+16|0,u=r+8|0,l=r,s=Kg(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],Mv(n,u),m=r}function Kg(e){return e=e|0,(t[(Wf()|0)+24>>2]|0)+(e*12|0)|0}function Mv(e,n){e=e|0,n=n|0;var r=0;r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),F1[r&127](e)}function Y4(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=yy()|0,e=K4(r)|0,wi(s,n,l,e,X4(r,u)|0,u)}function yy(){var e=0,n=0;if(p[7800]|0||(_y(9936),Wt(44,9936,ve|0)|0,n=7800,t[n>>2]=1,t[n+4>>2]=0),!(sr(9936)|0)){e=9936,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));_y(9936)}return 9936}function K4(e){return e=e|0,e|0}function X4(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=yy()|0,h=S+24|0,n=hn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(gy(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(Xg(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function gy(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function Xg(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=Qg(e)|0,u>>>0<h>>>0)hi(e);else{S=t[e>>2]|0,M=(t[e+8>>2]|0)-S|0,N=M>>2,Jg(l,M>>3>>>0<u>>>1>>>0?N>>>0<h>>>0?h:N:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,gy(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,Zg(e,l),$g(l),m=D;return}}function Qg(e){return e=e|0,536870911}function Jg(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)$n();else{l=pn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function Zg(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function $g(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&_t(e)}function _y(e){e=e|0,t_(e)}function e_(e){e=e|0,Q4(e+24|0)}function Q4(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function t_(e){e=e|0;var n=0;n=yr()|0,jn(e,1,23,n,wo()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function J4(e,n){e=e|0,n=n|0,f(t[(Z4(e)|0)>>2]|0,n)}function Z4(e){return e=e|0,(t[(yy()|0)+24>>2]|0)+(e<<3)|0}function f(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,tr(u,n),n=Qs(u,n)|0,F1[e&127](n),m=r}function c(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=E()|0,e=T(r)|0,wi(s,n,l,e,A(r,u)|0,u)}function E(){var e=0,n=0;if(p[7808]|0||(pt(9972),Wt(45,9972,ve|0)|0,n=7808,t[n>>2]=1,t[n+4>>2]=0),!(sr(9972)|0)){e=9972,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));pt(9972)}return 9972}function T(e){return e=e|0,e|0}function A(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=E()|0,h=S+24|0,n=hn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(j(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(V(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function j(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function V(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=te(e)|0,u>>>0<h>>>0)hi(e);else{S=t[e>>2]|0,M=(t[e+8>>2]|0)-S|0,N=M>>2,le(l,M>>3>>>0<u>>>1>>>0?N>>>0<h>>>0?h:N:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,j(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,Be(e,l),Ke(l),m=D;return}}function te(e){return e=e|0,536870911}function le(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)$n();else{l=pn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function Be(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Ke(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&_t(e)}function pt(e){e=e|0,zt(e)}function Nt(e){e=e|0,Gt(e+24|0)}function Gt(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function zt(e){e=e|0;var n=0;n=yr()|0,jn(e,1,9,n,yn()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function yn(){return 1348}function kr(e,n){return e=e|0,n=n|0,Oi(t[(oi(e)|0)>>2]|0,n)|0}function oi(e){return e=e|0,(t[(E()|0)+24>>2]|0)+(e<<3)|0}function Oi(e,n){e=e|0,n=n|0;var r=0,u=0;return r=m,m=m+16|0,u=r,L0(u,n),n=$i(u,n)|0,n=Td(Jp[e&31](n)|0)|0,m=r,n|0}function L0(e,n){e=e|0,n=n|0}function $i(e,n){return e=e|0,n=n|0,ot(n)|0}function ot(e){return e=e|0,e|0}function Ot(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=Ze()|0,e=Ut(r)|0,wi(s,n,l,e,Pn(r,u)|0,u)}function Ze(){var e=0,n=0;if(p[7816]|0||(Kr(10008),Wt(46,10008,ve|0)|0,n=7816,t[n>>2]=1,t[n+4>>2]=0),!(sr(10008)|0)){e=10008,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Kr(10008)}return 10008}function Ut(e){return e=e|0,e|0}function Pn(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=Ze()|0,h=S+24|0,n=hn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(vn(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(Wi(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function vn(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function Wi(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=pi(e)|0,u>>>0<h>>>0)hi(e);else{S=t[e>>2]|0,M=(t[e+8>>2]|0)-S|0,N=M>>2,Ku(l,M>>3>>>0<u>>>1>>>0?N>>>0<h>>>0?h:N:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,vn(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,hr(e,l),pu(l),m=D;return}}function pi(e){return e=e|0,536870911}function Ku(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)$n();else{l=pn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function hr(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function pu(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&_t(e)}function Kr(e){e=e|0,W0(e)}function xu(e){e=e|0,w0(e+24|0)}function w0(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function W0(e){e=e|0;var n=0;n=yr()|0,jn(e,1,15,n,up()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Ms(e){return e=e|0,yl(t[(Xu(e)|0)>>2]|0)|0}function Xu(e){return e=e|0,(t[(Ze()|0)+24>>2]|0)+(e<<3)|0}function yl(e){return e=e|0,Td(g_[e&7]()|0)|0}function rf(){var e=0;return p[7832]|0||(r_(10052),Wt(25,10052,ve|0)|0,e=7832,t[e>>2]=1,t[e+4>>2]=0),10052}function Wo(e,n){e=e|0,n=n|0,t[e>>2]=ks()|0,t[e+4>>2]=Zd()|0,t[e+12>>2]=n,t[e+8>>2]=Vf()|0,t[e+32>>2]=2}function ks(){return 11709}function Zd(){return 1188}function Vf(){return N1()|0}function Lc(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(zl(u,896)|0)==512?r|0&&(Vo(r),_t(r)):n|0&&(Ds(n),_t(n))}function zl(e,n){return e=e|0,n=n|0,n&e|0}function Vo(e){e=e|0,e=t[e+4>>2]|0,e|0&&e2(e)}function N1(){var e=0;return p[7824]|0||(t[2511]=n_()|0,t[2512]=0,e=7824,t[e>>2]=1,t[e+4>>2]=0),10044}function n_(){return 0}function r_(e){e=e|0,Xa(e)}function $4(e){e=e|0;var n=0,r=0,u=0,l=0,s=0;n=m,m=m+32|0,r=n+24|0,s=n+16|0,l=n+8|0,u=n,i_(e,4827),eE(e,4834,3)|0,tE(e,3682,47)|0,t[s>>2]=9,t[s+4>>2]=0,t[r>>2]=t[s>>2],t[r+4>>2]=t[s+4>>2],Ey(e,4841,r)|0,t[l>>2]=1,t[l+4>>2]=0,t[r>>2]=t[l>>2],t[r+4>>2]=t[l+4>>2],u_(e,4871,r)|0,t[u>>2]=10,t[u+4>>2]=0,t[r>>2]=t[u>>2],t[r+4>>2]=t[u+4>>2],nE(e,4891,r)|0,m=n}function i_(e,n){e=e|0,n=n|0;var r=0;r=BR()|0,t[e>>2]=r,UR(r,n),$d(t[e>>2]|0)}function eE(e,n,r){return e=e|0,n=n|0,r=r|0,wR(e,Fr(n)|0,r,0),e|0}function tE(e,n,r){return e=e|0,n=n|0,r=r|0,lR(e,Fr(n)|0,r,0),e|0}function Ey(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],H9(e,n,l),m=u,e|0}function u_(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],S9(e,n,l),m=u,e|0}function nE(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],rE(e,n,l),m=u,e|0}function rE(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],iE(e,r,l,1),m=u}function iE(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=uE()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=a9(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,f9(s,u)|0,u),m=l}function uE(){var e=0,n=0;if(p[7840]|0||(rw(10100),Wt(48,10100,ve|0)|0,n=7840,t[n>>2]=1,t[n+4>>2]=0),!(sr(10100)|0)){e=10100,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));rw(10100)}return 10100}function a9(e){return e=e|0,0}function f9(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=uE()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],nw(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(c9(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function nw(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function c9(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=d9(e)|0,s>>>0<l>>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,p9(D,K>>>0<s>>>1>>>0?I>>>0<l>>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],nw(s,u,r),t[S>>2]=(t[S>>2]|0)+12,h9(e,D),v9(D),m=N;return}}function d9(e){return e=e|0,357913941}function p9(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function h9(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function v9(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function rw(e){e=e|0,g9(e)}function m9(e){e=e|0,y9(e+24|0)}function y9(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function g9(e){e=e|0;var n=0;n=yr()|0,jn(e,2,6,n,_9()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function _9(){return 1364}function E9(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=D9(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],r=w9(n,l,r)|0,m=u,r|0}function D9(e){return e=e|0,(t[(uE()|0)+24>>2]|0)+(e*12|0)|0}function w9(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;return s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),xs(l,r),l=Gs(l,r)|0,l=Il(FE[u&15](e,l)|0)|0,m=s,l|0}function S9(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],T9(e,r,l,0),m=u}function T9(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=oE()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=C9(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,x9(s,u)|0,u),m=l}function oE(){var e=0,n=0;if(p[7848]|0||(uw(10136),Wt(49,10136,ve|0)|0,n=7848,t[n>>2]=1,t[n+4>>2]=0),!(sr(10136)|0)){e=10136,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));uw(10136)}return 10136}function C9(e){return e=e|0,0}function x9(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=oE()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],iw(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(R9(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function iw(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function R9(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=A9(e)|0,s>>>0<l>>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,O9(D,K>>>0<s>>>1>>>0?I>>>0<l>>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],iw(s,u,r),t[S>>2]=(t[S>>2]|0)+12,M9(e,D),k9(D),m=N;return}}function A9(e){return e=e|0,357913941}function O9(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function M9(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function k9(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function uw(e){e=e|0,F9(e)}function N9(e){e=e|0,L9(e+24|0)}function L9(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function F9(e){e=e|0;var n=0;n=yr()|0,jn(e,2,9,n,P9()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function P9(){return 1372}function I9(e,n,r){e=e|0,n=n|0,r=+r;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,l=u+8|0,s=u,h=b9(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],B9(n,l,r),m=u}function b9(e){return e=e|0,(t[(oE()|0)+24>>2]|0)+(e*12|0)|0}function B9(e,n,r){e=e|0,n=n|0,r=+r;var u=0,l=0,s=0,h=Tt;s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),U9(l,r),h=w(j9(l,r)),_8[u&1](e,h),m=s}function U9(e,n){e=e|0,n=+n}function j9(e,n){return e=e|0,n=+n,w(z9(n))}function z9(e){return e=+e,w(e)}function H9(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],q9(e,r,l,0),m=u}function q9(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=lE()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=W9(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,V9(s,u)|0,u),m=l}function lE(){var e=0,n=0;if(p[7856]|0||(lw(10172),Wt(50,10172,ve|0)|0,n=7856,t[n>>2]=1,t[n+4>>2]=0),!(sr(10172)|0)){e=10172,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));lw(10172)}return 10172}function W9(e){return e=e|0,0}function V9(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=lE()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],ow(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(G9(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function ow(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function G9(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Y9(e)|0,s>>>0<l>>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,K9(D,K>>>0<s>>>1>>>0?I>>>0<l>>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],ow(s,u,r),t[S>>2]=(t[S>>2]|0)+12,X9(e,D),Q9(D),m=N;return}}function Y9(e){return e=e|0,357913941}function K9(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function X9(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Q9(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function lw(e){e=e|0,$9(e)}function J9(e){e=e|0,Z9(e+24|0)}function Z9(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function $9(e){e=e|0;var n=0;n=yr()|0,jn(e,2,3,n,eR()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function eR(){return 1380}function tR(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;l=m,m=m+16|0,s=l+8|0,h=l,D=nR(e)|0,e=t[D+4>>2]|0,t[h>>2]=t[D>>2],t[h+4>>2]=e,t[s>>2]=t[h>>2],t[s+4>>2]=t[h+4>>2],rR(n,s,r,u),m=l}function nR(e){return e=e|0,(t[(lE()|0)+24>>2]|0)+(e*12|0)|0}function rR(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;D=m,m=m+16|0,s=D+1|0,h=D,l=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(l=t[(t[e>>2]|0)+l>>2]|0),xs(s,r),s=Gs(s,r)|0,iR(h,u),h=uR(h,u)|0,Ry[l&15](e,s,h),m=D}function iR(e,n){e=e|0,n=n|0}function uR(e,n){return e=e|0,n=n|0,oR(n)|0}function oR(e){return e=e|0,(e|0)!=0|0}function lR(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=sE()|0,e=sR(r)|0,wi(s,n,l,e,aR(r,u)|0,u)}function sE(){var e=0,n=0;if(p[7864]|0||(aw(10208),Wt(51,10208,ve|0)|0,n=7864,t[n>>2]=1,t[n+4>>2]=0),!(sr(10208)|0)){e=10208,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));aw(10208)}return 10208}function sR(e){return e=e|0,e|0}function aR(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=sE()|0,h=S+24|0,n=hn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(sw(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(fR(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function sw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function fR(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=cR(e)|0,u>>>0<h>>>0)hi(e);else{S=t[e>>2]|0,M=(t[e+8>>2]|0)-S|0,N=M>>2,dR(l,M>>3>>>0<u>>>1>>>0?N>>>0<h>>>0?h:N:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,sw(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,pR(e,l),hR(l),m=D;return}}function cR(e){return e=e|0,536870911}function dR(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)$n();else{l=pn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function pR(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function hR(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&_t(e)}function aw(e){e=e|0,yR(e)}function vR(e){e=e|0,mR(e+24|0)}function mR(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function yR(e){e=e|0;var n=0;n=yr()|0,jn(e,1,24,n,gR()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function gR(){return 1392}function _R(e,n){e=e|0,n=n|0,DR(t[(ER(e)|0)>>2]|0,n)}function ER(e){return e=e|0,(t[(sE()|0)+24>>2]|0)+(e<<3)|0}function DR(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,L0(u,n),n=$i(u,n)|0,F1[e&127](n),m=r}function wR(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=aE()|0,e=SR(r)|0,wi(s,n,l,e,TR(r,u)|0,u)}function aE(){var e=0,n=0;if(p[7872]|0||(cw(10244),Wt(52,10244,ve|0)|0,n=7872,t[n>>2]=1,t[n+4>>2]=0),!(sr(10244)|0)){e=10244,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));cw(10244)}return 10244}function SR(e){return e=e|0,e|0}function TR(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=aE()|0,h=S+24|0,n=hn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(fw(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(CR(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function fw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function CR(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=xR(e)|0,u>>>0<h>>>0)hi(e);else{S=t[e>>2]|0,M=(t[e+8>>2]|0)-S|0,N=M>>2,RR(l,M>>3>>>0<u>>>1>>>0?N>>>0<h>>>0?h:N:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,fw(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,AR(e,l),OR(l),m=D;return}}function xR(e){return e=e|0,536870911}function RR(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)$n();else{l=pn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function AR(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function OR(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&_t(e)}function cw(e){e=e|0,NR(e)}function MR(e){e=e|0,kR(e+24|0)}function kR(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function NR(e){e=e|0;var n=0;n=yr()|0,jn(e,1,16,n,LR()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function LR(){return 1400}function FR(e){return e=e|0,IR(t[(PR(e)|0)>>2]|0)|0}function PR(e){return e=e|0,(t[(aE()|0)+24>>2]|0)+(e<<3)|0}function IR(e){return e=e|0,bR(g_[e&7]()|0)|0}function bR(e){return e=e|0,e|0}function BR(){var e=0;return p[7880]|0||(VR(10280),Wt(25,10280,ve|0)|0,e=7880,t[e>>2]=1,t[e+4>>2]=0),10280}function UR(e,n){e=e|0,n=n|0,t[e>>2]=jR()|0,t[e+4>>2]=zR()|0,t[e+12>>2]=n,t[e+8>>2]=HR()|0,t[e+32>>2]=4}function jR(){return 11711}function zR(){return 1356}function HR(){return N1()|0}function qR(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(zl(u,896)|0)==512?r|0&&(WR(r),_t(r)):n|0&&(no(n),_t(n))}function WR(e){e=e|0,e=t[e+4>>2]|0,e|0&&e2(e)}function VR(e){e=e|0,Xa(e)}function GR(e){e=e|0,YR(e,4920),KR(e)|0,XR(e)|0}function YR(e,n){e=e|0,n=n|0;var r=0;r=qd()|0,t[e>>2]=r,mA(r,n),$d(t[e>>2]|0)}function KR(e){e=e|0;var n=0;return n=t[e>>2]|0,Vp(n,oA()|0),e|0}function XR(e){e=e|0;var n=0;return n=t[e>>2]|0,Vp(n,QR()|0),e|0}function QR(){var e=0;return p[7888]|0||(dw(10328),Wt(53,10328,ve|0)|0,e=7888,t[e>>2]=1,t[e+4>>2]=0),sr(10328)|0||dw(10328),10328}function Vp(e,n){e=e|0,n=n|0,wi(e,0,n,0,0,0)}function dw(e){e=e|0,$R(e),Gp(e,10)}function JR(e){e=e|0,ZR(e+24|0)}function ZR(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function $R(e){e=e|0;var n=0;n=yr()|0,jn(e,5,1,n,rA()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function eA(e,n,r){e=e|0,n=n|0,r=+r,tA(e,n,r)}function Gp(e,n){e=e|0,n=n|0,t[e+20>>2]=n}function tA(e,n,r){e=e|0,n=n|0,r=+r;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,s=u+8|0,D=u+13|0,l=u,h=u+12|0,xs(D,n),t[s>>2]=Gs(D,n)|0,Fl(h,r),U[l>>3]=+us(h,r),nA(e,s,l),m=u}function nA(e,n,r){e=e|0,n=n|0,r=r|0,b(e+8|0,t[n>>2]|0,+U[r>>3]),p[e+24>>0]=1}function rA(){return 1404}function iA(e,n){return e=e|0,n=+n,uA(e,n)|0}function uA(e,n){e=e|0,n=+n;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return u=m,m=m+16|0,s=u+4|0,h=u+8|0,D=u,l=Oa(8)|0,r=l,S=pn(16)|0,xs(s,e),e=Gs(s,e)|0,Fl(h,n),b(S,e,+us(h,n)),h=r+4|0,t[h>>2]=S,e=pn(8)|0,h=t[h>>2]|0,t[D>>2]=0,t[s>>2]=t[D>>2],Bf(e,h,s),t[l>>2]=e,m=u,r|0}function oA(){var e=0;return p[7896]|0||(pw(10364),Wt(54,10364,ve|0)|0,e=7896,t[e>>2]=1,t[e+4>>2]=0),sr(10364)|0||pw(10364),10364}function pw(e){e=e|0,aA(e),Gp(e,55)}function lA(e){e=e|0,sA(e+24|0)}function sA(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function aA(e){e=e|0;var n=0;n=yr()|0,jn(e,5,4,n,pA()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function fA(e){e=e|0,cA(e)}function cA(e){e=e|0,dA(e)}function dA(e){e=e|0,hw(e+8|0),p[e+24>>0]=1}function hw(e){e=e|0,t[e>>2]=0,U[e+8>>3]=0}function pA(){return 1424}function hA(){return vA()|0}function vA(){var e=0,n=0,r=0,u=0,l=0,s=0,h=0;return n=m,m=m+16|0,l=n+4|0,h=n,r=Oa(8)|0,e=r,u=pn(16)|0,hw(u),s=e+4|0,t[s>>2]=u,u=pn(8)|0,s=t[s>>2]|0,t[h>>2]=0,t[l>>2]=t[h>>2],Bf(u,s,l),t[r>>2]=u,m=n,e|0}function mA(e,n){e=e|0,n=n|0,t[e>>2]=yA()|0,t[e+4>>2]=gA()|0,t[e+12>>2]=n,t[e+8>>2]=_A()|0,t[e+32>>2]=5}function yA(){return 11710}function gA(){return 1416}function _A(){return o_()|0}function EA(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(zl(u,896)|0)==512?r|0&&(DA(r),_t(r)):n|0&&_t(n)}function DA(e){e=e|0,e=t[e+4>>2]|0,e|0&&e2(e)}function o_(){var e=0;return p[7904]|0||(t[2600]=wA()|0,t[2601]=0,e=7904,t[e>>2]=1,t[e+4>>2]=0),10400}function wA(){return t[357]|0}function SA(e){e=e|0,TA(e,4926),CA(e)|0}function TA(e,n){e=e|0,n=n|0;var r=0;r=Ka()|0,t[e>>2]=r,IA(r,n),$d(t[e>>2]|0)}function CA(e){e=e|0;var n=0;return n=t[e>>2]|0,Vp(n,xA()|0),e|0}function xA(){var e=0;return p[7912]|0||(vw(10412),Wt(56,10412,ve|0)|0,e=7912,t[e>>2]=1,t[e+4>>2]=0),sr(10412)|0||vw(10412),10412}function vw(e){e=e|0,OA(e),Gp(e,57)}function RA(e){e=e|0,AA(e+24|0)}function AA(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function OA(e){e=e|0;var n=0;n=yr()|0,jn(e,5,5,n,LA()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function MA(e){e=e|0,kA(e)}function kA(e){e=e|0,NA(e)}function NA(e){e=e|0;var n=0,r=0;n=e+8|0,r=n+48|0;do t[n>>2]=0,n=n+4|0;while((n|0)<(r|0));p[e+56>>0]=1}function LA(){return 1432}function FA(){return PA()|0}function PA(){var e=0,n=0,r=0,u=0,l=0,s=0,h=0,D=0;h=m,m=m+16|0,e=h+4|0,n=h,r=Oa(8)|0,u=r,l=pn(48)|0,s=l,D=s+48|0;do t[s>>2]=0,s=s+4|0;while((s|0)<(D|0));return s=u+4|0,t[s>>2]=l,D=pn(8)|0,s=t[s>>2]|0,t[n>>2]=0,t[e>>2]=t[n>>2],Dh(D,s,e),t[r>>2]=D,m=h,u|0}function IA(e,n){e=e|0,n=n|0,t[e>>2]=bA()|0,t[e+4>>2]=BA()|0,t[e+12>>2]=n,t[e+8>>2]=UA()|0,t[e+32>>2]=6}function bA(){return 11704}function BA(){return 1436}function UA(){return o_()|0}function jA(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(zl(u,896)|0)==512?r|0&&(zA(r),_t(r)):n|0&&_t(n)}function zA(e){e=e|0,e=t[e+4>>2]|0,e|0&&e2(e)}function HA(e){e=e|0,qA(e,4933),WA(e)|0,VA(e)|0}function qA(e,n){e=e|0,n=n|0;var r=0;r=v7()|0,t[e>>2]=r,m7(r,n),$d(t[e>>2]|0)}function WA(e){e=e|0;var n=0;return n=t[e>>2]|0,Vp(n,u7()|0),e|0}function VA(e){e=e|0;var n=0;return n=t[e>>2]|0,Vp(n,GA()|0),e|0}function GA(){var e=0;return p[7920]|0||(mw(10452),Wt(58,10452,ve|0)|0,e=7920,t[e>>2]=1,t[e+4>>2]=0),sr(10452)|0||mw(10452),10452}function mw(e){e=e|0,XA(e),Gp(e,1)}function YA(e){e=e|0,KA(e+24|0)}function KA(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function XA(e){e=e|0;var n=0;n=yr()|0,jn(e,5,1,n,$A()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function QA(e,n,r){e=e|0,n=+n,r=+r,JA(e,n,r)}function JA(e,n,r){e=e|0,n=+n,r=+r;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+32|0,s=u+8|0,D=u+17|0,l=u,h=u+16|0,Fl(D,n),U[s>>3]=+us(D,n),Fl(h,r),U[l>>3]=+us(h,r),ZA(e,s,l),m=u}function ZA(e,n,r){e=e|0,n=n|0,r=r|0,yw(e+8|0,+U[n>>3],+U[r>>3]),p[e+24>>0]=1}function yw(e,n,r){e=e|0,n=+n,r=+r,U[e>>3]=n,U[e+8>>3]=r}function $A(){return 1472}function e7(e,n){return e=+e,n=+n,t7(e,n)|0}function t7(e,n){e=+e,n=+n;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return u=m,m=m+16|0,h=u+4|0,D=u+8|0,S=u,l=Oa(8)|0,r=l,s=pn(16)|0,Fl(h,e),e=+us(h,e),Fl(D,n),yw(s,e,+us(D,n)),D=r+4|0,t[D>>2]=s,s=pn(8)|0,D=t[D>>2]|0,t[S>>2]=0,t[h>>2]=t[S>>2],gw(s,D,h),t[l>>2]=s,m=u,r|0}function gw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=pn(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1452,t[r+12>>2]=n,t[e+4>>2]=r}function n7(e){e=e|0,Iv(e),_t(e)}function r7(e){e=e|0,e=t[e+12>>2]|0,e|0&&_t(e)}function i7(e){e=e|0,_t(e)}function u7(){var e=0;return p[7928]|0||(_w(10488),Wt(59,10488,ve|0)|0,e=7928,t[e>>2]=1,t[e+4>>2]=0),sr(10488)|0||_w(10488),10488}function _w(e){e=e|0,s7(e),Gp(e,60)}function o7(e){e=e|0,l7(e+24|0)}function l7(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function s7(e){e=e|0;var n=0;n=yr()|0,jn(e,5,6,n,d7()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function a7(e){e=e|0,f7(e)}function f7(e){e=e|0,c7(e)}function c7(e){e=e|0,Ew(e+8|0),p[e+24>>0]=1}function Ew(e){e=e|0,t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,t[e+12>>2]=0}function d7(){return 1492}function p7(){return h7()|0}function h7(){var e=0,n=0,r=0,u=0,l=0,s=0,h=0;return n=m,m=m+16|0,l=n+4|0,h=n,r=Oa(8)|0,e=r,u=pn(16)|0,Ew(u),s=e+4|0,t[s>>2]=u,u=pn(8)|0,s=t[s>>2]|0,t[h>>2]=0,t[l>>2]=t[h>>2],gw(u,s,l),t[r>>2]=u,m=n,e|0}function v7(){var e=0;return p[7936]|0||(w7(10524),Wt(25,10524,ve|0)|0,e=7936,t[e>>2]=1,t[e+4>>2]=0),10524}function m7(e,n){e=e|0,n=n|0,t[e>>2]=y7()|0,t[e+4>>2]=g7()|0,t[e+12>>2]=n,t[e+8>>2]=_7()|0,t[e+32>>2]=7}function y7(){return 11700}function g7(){return 1484}function _7(){return o_()|0}function E7(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(zl(u,896)|0)==512?r|0&&(D7(r),_t(r)):n|0&&_t(n)}function D7(e){e=e|0,e=t[e+4>>2]|0,e|0&&e2(e)}function w7(e){e=e|0,Xa(e)}function S7(e,n,r){e=e|0,n=n|0,r=r|0,e=Fr(n)|0,n=T7(r)|0,r=C7(r,0)|0,tO(e,n,r,fE()|0,0)}function T7(e){return e=e|0,e|0}function C7(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=fE()|0,h=S+24|0,n=hn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(ww(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(N7(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function fE(){var e=0,n=0;if(p[7944]|0||(Dw(10568),Wt(61,10568,ve|0)|0,n=7944,t[n>>2]=1,t[n+4>>2]=0),!(sr(10568)|0)){e=10568,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Dw(10568)}return 10568}function Dw(e){e=e|0,A7(e)}function x7(e){e=e|0,R7(e+24|0)}function R7(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function A7(e){e=e|0;var n=0;n=yr()|0,jn(e,1,17,n,Jh()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function O7(e){return e=e|0,k7(t[(M7(e)|0)>>2]|0)|0}function M7(e){return e=e|0,(t[(fE()|0)+24>>2]|0)+(e<<3)|0}function k7(e){return e=e|0,H0(g_[e&7]()|0)|0}function ww(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function N7(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=L7(e)|0,u>>>0<h>>>0)hi(e);else{S=t[e>>2]|0,M=(t[e+8>>2]|0)-S|0,N=M>>2,F7(l,M>>3>>>0<u>>>1>>>0?N>>>0<h>>>0?h:N:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,ww(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,P7(e,l),I7(l),m=D;return}}function L7(e){return e=e|0,536870911}function F7(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)$n();else{l=pn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function P7(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function I7(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&_t(e)}function b7(){B7()}function B7(){U7(10604)}function U7(e){e=e|0,j7(e,4955)}function j7(e,n){e=e|0,n=n|0;var r=0;r=z7()|0,t[e>>2]=r,H7(r,n),$d(t[e>>2]|0)}function z7(){var e=0;return p[7952]|0||(J7(10612),Wt(25,10612,ve|0)|0,e=7952,t[e>>2]=1,t[e+4>>2]=0),10612}function H7(e,n){e=e|0,n=n|0,t[e>>2]=G7()|0,t[e+4>>2]=Y7()|0,t[e+12>>2]=n,t[e+8>>2]=K7()|0,t[e+32>>2]=8}function $d(e){e=e|0;var n=0,r=0;n=m,m=m+16|0,r=n,kv()|0,t[r>>2]=e,q7(10608,r),m=n}function kv(){return p[11714]|0||(t[2652]=0,Wt(62,10608,ve|0)|0,p[11714]=1),10608}function q7(e,n){e=e|0,n=n|0;var r=0;r=pn(8)|0,t[r+4>>2]=t[n>>2],t[r>>2]=t[e>>2],t[e>>2]=r}function W7(e){e=e|0,V7(e)}function V7(e){e=e|0;var n=0,r=0;if(n=t[e>>2]|0,n|0)do r=n,n=t[n>>2]|0,_t(r);while((n|0)!=0);t[e>>2]=0}function G7(){return 11715}function Y7(){return 1496}function K7(){return N1()|0}function X7(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(zl(u,896)|0)==512?r|0&&(Q7(r),_t(r)):n|0&&_t(n)}function Q7(e){e=e|0,e=t[e+4>>2]|0,e|0&&e2(e)}function J7(e){e=e|0,Xa(e)}function Z7(e,n){e=e|0,n=n|0;var r=0,u=0;kv()|0,r=t[2652]|0;e:do if(r|0){for(;u=t[r+4>>2]|0,!(u|0?(r8(cE(u)|0,e)|0)==0:0);)if(r=t[r>>2]|0,!r)break e;$7(u,n)}while(0)}function cE(e){return e=e|0,t[e+12>>2]|0}function $7(e,n){e=e|0,n=n|0;var r=0;e=e+36|0,r=t[e>>2]|0,r|0&&(fa(r),_t(r)),r=pn(4)|0,wf(r,n),t[e>>2]=r}function dE(){return p[11716]|0||(t[2664]=0,Wt(63,10656,ve|0)|0,p[11716]=1),10656}function Sw(){var e=0;return p[11717]|0?e=t[2665]|0:(eO(),t[2665]=1504,p[11717]=1,e=1504),e|0}function eO(){p[11740]|0||(p[11718]=hn(hn(8,0)|0,0)|0,p[11719]=hn(hn(0,0)|0,0)|0,p[11720]=hn(hn(0,16)|0,0)|0,p[11721]=hn(hn(8,0)|0,0)|0,p[11722]=hn(hn(0,0)|0,0)|0,p[11723]=hn(hn(8,0)|0,0)|0,p[11724]=hn(hn(0,0)|0,0)|0,p[11725]=hn(hn(8,0)|0,0)|0,p[11726]=hn(hn(0,0)|0,0)|0,p[11727]=hn(hn(8,0)|0,0)|0,p[11728]=hn(hn(0,0)|0,0)|0,p[11729]=hn(hn(0,0)|0,32)|0,p[11730]=hn(hn(0,0)|0,32)|0,p[11740]=1)}function Tw(){return 1572}function tO(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0,N=0,M=0;s=m,m=m+32|0,M=s+16|0,N=s+12|0,S=s+8|0,D=s+4|0,h=s,t[M>>2]=e,t[N>>2]=n,t[S>>2]=r,t[D>>2]=u,t[h>>2]=l,dE()|0,nO(10656,M,N,S,D,h),m=s}function nO(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0;var h=0;h=pn(24)|0,yd(h+4|0,t[n>>2]|0,t[r>>2]|0,t[u>>2]|0,t[l>>2]|0,t[s>>2]|0),t[h>>2]=t[e>>2],t[e>>2]=h}function Cw(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0,be=0,Se=0,ye=0,Je=0,Ge=0,ft=0;if(ft=m,m=m+32|0,Se=ft+20|0,ye=ft+8|0,Je=ft+4|0,Ge=ft,n=t[n>>2]|0,n|0){be=Se+4|0,S=Se+8|0,N=ye+4|0,M=ye+8|0,I=ye+8|0,K=Se+8|0;do{if(h=n+4|0,D=pE(h)|0,D|0){if(l=Dy(D)|0,t[Se>>2]=0,t[be>>2]=0,t[S>>2]=0,u=(wy(D)|0)+1|0,rO(Se,u),u|0)for(;u=u+-1|0,Gf(ye,t[l>>2]|0),s=t[be>>2]|0,s>>>0<(t[K>>2]|0)>>>0?(t[s>>2]=t[ye>>2],t[be>>2]=(t[be>>2]|0)+4):hE(Se,ye),u;)l=l+4|0;u=Sy(D)|0,t[ye>>2]=0,t[N>>2]=0,t[M>>2]=0;e:do if(t[u>>2]|0)for(l=0,s=0;;){if((l|0)==(s|0)?iO(ye,u):(t[l>>2]=t[u>>2],t[N>>2]=(t[N>>2]|0)+4),u=u+4|0,!(t[u>>2]|0))break e;l=t[N>>2]|0,s=t[I>>2]|0}while(0);t[Je>>2]=l_(h)|0,t[Ge>>2]=sr(D)|0,uO(r,e,Je,Ge,Se,ye),vE(ye),L1(Se)}n=t[n>>2]|0}while((n|0)!=0)}m=ft}function pE(e){return e=e|0,t[e+12>>2]|0}function Dy(e){return e=e|0,t[e+12>>2]|0}function wy(e){return e=e|0,t[e+16>>2]|0}function rO(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;l=m,m=m+32|0,r=l,u=t[e>>2]|0,(t[e+8>>2]|0)-u>>2>>>0<n>>>0&&(Lw(r,n,(t[e+4>>2]|0)-u>>2,e+8|0),Fw(e,r),Pw(r)),m=l}function hE(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0;if(h=m,m=m+32|0,r=h,u=e+4|0,l=((t[u>>2]|0)-(t[e>>2]|0)>>2)+1|0,s=Nw(e)|0,s>>>0<l>>>0)hi(e);else{D=t[e>>2]|0,N=(t[e+8>>2]|0)-D|0,S=N>>1,Lw(r,N>>2>>>0<s>>>1>>>0?S>>>0<l>>>0?l:S:s,(t[u>>2]|0)-D>>2,e+8|0),s=r+8|0,t[t[s>>2]>>2]=t[n>>2],t[s>>2]=(t[s>>2]|0)+4,Fw(e,r),Pw(r),m=h;return}}function Sy(e){return e=e|0,t[e+8>>2]|0}function iO(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0;if(h=m,m=m+32|0,r=h,u=e+4|0,l=((t[u>>2]|0)-(t[e>>2]|0)>>2)+1|0,s=kw(e)|0,s>>>0<l>>>0)hi(e);else{D=t[e>>2]|0,N=(t[e+8>>2]|0)-D|0,S=N>>1,TO(r,N>>2>>>0<s>>>1>>>0?S>>>0<l>>>0?l:S:s,(t[u>>2]|0)-D>>2,e+8|0),s=r+8|0,t[t[s>>2]>>2]=t[n>>2],t[s>>2]=(t[s>>2]|0)+4,CO(e,r),xO(r),m=h;return}}function l_(e){return e=e|0,t[e>>2]|0}function uO(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,oO(e,n,r,u,l,s)}function vE(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-4-u|0)>>>2)<<2)),_t(r))}function L1(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-4-u|0)>>>2)<<2)),_t(r))}function oO(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0;var h=0,D=0,S=0,N=0,M=0,I=0;h=m,m=m+48|0,M=h+40|0,D=h+32|0,I=h+24|0,S=h+12|0,N=h,Ma(D),e=yo(e)|0,t[I>>2]=t[n>>2],r=t[r>>2]|0,u=t[u>>2]|0,mE(S,l),lO(N,s),t[M>>2]=t[I>>2],sO(e,M,r,u,S,N),vE(N),L1(S),ka(D),m=h}function mE(e,n){e=e|0,n=n|0;var r=0,u=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,r=n+4|0,u=(t[r>>2]|0)-(t[n>>2]|0)>>2,u|0&&(wO(e,u),SO(e,t[n>>2]|0,t[r>>2]|0,u))}function lO(e,n){e=e|0,n=n|0;var r=0,u=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,r=n+4|0,u=(t[r>>2]|0)-(t[n>>2]|0)>>2,u|0&&(EO(e,u),DO(e,t[n>>2]|0,t[r>>2]|0,u))}function sO(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0;var h=0,D=0,S=0,N=0,M=0,I=0;h=m,m=m+32|0,M=h+28|0,I=h+24|0,D=h+12|0,S=h,N=go(aO()|0)|0,t[I>>2]=t[n>>2],t[M>>2]=t[I>>2],n=Yp(M)|0,r=xw(r)|0,u=yE(u)|0,t[D>>2]=t[l>>2],M=l+4|0,t[D+4>>2]=t[M>>2],I=l+8|0,t[D+8>>2]=t[I>>2],t[I>>2]=0,t[M>>2]=0,t[l>>2]=0,l=gE(D)|0,t[S>>2]=t[s>>2],M=s+4|0,t[S+4>>2]=t[M>>2],I=s+8|0,t[S+8>>2]=t[I>>2],t[I>>2]=0,t[M>>2]=0,t[s>>2]=0,K0(0,N|0,e|0,n|0,r|0,u|0,l|0,fO(S)|0)|0,vE(S),L1(D),m=h}function aO(){var e=0;return p[7968]|0||(gO(10708),e=7968,t[e>>2]=1,t[e+4>>2]=0),10708}function Yp(e){return e=e|0,Aw(e)|0}function xw(e){return e=e|0,Rw(e)|0}function yE(e){return e=e|0,H0(e)|0}function gE(e){return e=e|0,dO(e)|0}function fO(e){return e=e|0,cO(e)|0}function cO(e){e=e|0;var n=0,r=0,u=0;if(u=(t[e+4>>2]|0)-(t[e>>2]|0)|0,r=u>>2,u=Oa(u+4|0)|0,t[u>>2]=r,r|0){n=0;do t[u+4+(n<<2)>>2]=Rw(t[(t[e>>2]|0)+(n<<2)>>2]|0)|0,n=n+1|0;while((n|0)!=(r|0))}return u|0}function Rw(e){return e=e|0,e|0}function dO(e){e=e|0;var n=0,r=0,u=0;if(u=(t[e+4>>2]|0)-(t[e>>2]|0)|0,r=u>>2,u=Oa(u+4|0)|0,t[u>>2]=r,r|0){n=0;do t[u+4+(n<<2)>>2]=Aw((t[e>>2]|0)+(n<<2)|0)|0,n=n+1|0;while((n|0)!=(r|0))}return u|0}function Aw(e){e=e|0;var n=0,r=0,u=0,l=0;return l=m,m=m+32|0,n=l+12|0,r=l,u=Iu(Ow()|0)|0,u?(rs(n,u),Mf(r,n),KN(e,r),e=Cs(n)|0):e=pO(e)|0,m=l,e|0}function Ow(){var e=0;return p[7960]|0||(yO(10664),Wt(25,10664,ve|0)|0,e=7960,t[e>>2]=1,t[e+4>>2]=0),10664}function pO(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0;return r=m,m=m+16|0,l=r+4|0,h=r,u=Oa(8)|0,n=u,D=pn(4)|0,t[D>>2]=t[e>>2],s=n+4|0,t[s>>2]=D,e=pn(8)|0,s=t[s>>2]|0,t[h>>2]=0,t[l>>2]=t[h>>2],Mw(e,s,l),t[u>>2]=e,m=r,n|0}function Mw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=pn(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1656,t[r+12>>2]=n,t[e+4>>2]=r}function hO(e){e=e|0,Iv(e),_t(e)}function vO(e){e=e|0,e=t[e+12>>2]|0,e|0&&_t(e)}function mO(e){e=e|0,_t(e)}function yO(e){e=e|0,Xa(e)}function gO(e){e=e|0,ol(e,_O()|0,5)}function _O(){return 1676}function EO(e,n){e=e|0,n=n|0;var r=0;if((kw(e)|0)>>>0<n>>>0&&hi(e),n>>>0>1073741823)$n();else{r=pn(n<<2)|0,t[e+4>>2]=r,t[e>>2]=r,t[e+8>>2]=r+(n<<2);return}}function DO(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,u=e+4|0,e=r-n|0,(e|0)>0&&(gr(t[u>>2]|0,n|0,e|0)|0,t[u>>2]=(t[u>>2]|0)+(e>>>2<<2))}function kw(e){return e=e|0,1073741823}function wO(e,n){e=e|0,n=n|0;var r=0;if((Nw(e)|0)>>>0<n>>>0&&hi(e),n>>>0>1073741823)$n();else{r=pn(n<<2)|0,t[e+4>>2]=r,t[e>>2]=r,t[e+8>>2]=r+(n<<2);return}}function SO(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,u=e+4|0,e=r-n|0,(e|0)>0&&(gr(t[u>>2]|0,n|0,e|0)|0,t[u>>2]=(t[u>>2]|0)+(e>>>2<<2))}function Nw(e){return e=e|0,1073741823}function TO(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>1073741823)$n();else{l=pn(n<<2)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<2)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<2)}function CO(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>2)<<2)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function xO(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-4-n|0)>>>2)<<2)),e=t[e>>2]|0,e|0&&_t(e)}function Lw(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>1073741823)$n();else{l=pn(n<<2)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<2)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<2)}function Fw(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>2)<<2)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Pw(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-4-n|0)>>>2)<<2)),e=t[e>>2]|0,e|0&&_t(e)}function RO(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0,be=0,Se=0,ye=0;if(ye=m,m=m+32|0,M=ye+20|0,I=ye+12|0,N=ye+16|0,K=ye+4|0,be=ye,Se=ye+8|0,D=Sw()|0,s=t[D>>2]|0,h=t[s>>2]|0,h|0)for(S=t[D+8>>2]|0,D=t[D+4>>2]|0;Gf(M,h),AO(e,M,D,S),s=s+4|0,h=t[s>>2]|0,h;)S=S+1|0,D=D+1|0;if(s=Tw()|0,h=t[s>>2]|0,h|0)do Gf(M,h),t[I>>2]=t[s+4>>2],OO(n,M,I),s=s+8|0,h=t[s>>2]|0;while((h|0)!=0);if(s=t[(kv()|0)>>2]|0,s|0)do n=t[s+4>>2]|0,Gf(M,t[(Nv(n)|0)>>2]|0),t[I>>2]=cE(n)|0,MO(r,M,I),s=t[s>>2]|0;while((s|0)!=0);if(Gf(N,0),s=dE()|0,t[M>>2]=t[N>>2],Cw(M,s,l),s=t[(kv()|0)>>2]|0,s|0){e=M+4|0,n=M+8|0,r=M+8|0;do{if(S=t[s+4>>2]|0,Gf(I,t[(Nv(S)|0)>>2]|0),kO(K,Iw(S)|0),h=t[K>>2]|0,h|0){t[M>>2]=0,t[e>>2]=0,t[n>>2]=0;do Gf(be,t[(Nv(t[h+4>>2]|0)|0)>>2]|0),D=t[e>>2]|0,D>>>0<(t[r>>2]|0)>>>0?(t[D>>2]=t[be>>2],t[e>>2]=(t[e>>2]|0)+4):hE(M,be),h=t[h>>2]|0;while((h|0)!=0);NO(u,I,M),L1(M)}t[Se>>2]=t[I>>2],N=bw(S)|0,t[M>>2]=t[Se>>2],Cw(M,N,l),_d(K),s=t[s>>2]|0}while((s|0)!=0)}m=ye}function AO(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,WO(e,n,r,u)}function OO(e,n,r){e=e|0,n=n|0,r=r|0,qO(e,n,r)}function Nv(e){return e=e|0,e|0}function MO(e,n,r){e=e|0,n=n|0,r=r|0,UO(e,n,r)}function Iw(e){return e=e|0,e+16|0}function kO(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;if(s=m,m=m+16|0,l=s+8|0,r=s,t[e>>2]=0,u=t[n>>2]|0,t[l>>2]=u,t[r>>2]=e,r=BO(r)|0,u|0){if(u=pn(12)|0,h=(Bw(l)|0)+4|0,e=t[h+4>>2]|0,n=u+4|0,t[n>>2]=t[h>>2],t[n+4>>2]=e,n=t[t[l>>2]>>2]|0,t[l>>2]=n,!n)e=u;else for(n=u;e=pn(12)|0,S=(Bw(l)|0)+4|0,D=t[S+4>>2]|0,h=e+4|0,t[h>>2]=t[S>>2],t[h+4>>2]=D,t[n>>2]=e,h=t[t[l>>2]>>2]|0,t[l>>2]=h,h;)n=e;t[e>>2]=t[r>>2],t[r>>2]=u}m=s}function NO(e,n,r){e=e|0,n=n|0,r=r|0,LO(e,n,r)}function bw(e){return e=e|0,e+24|0}function LO(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+32|0,h=u+24|0,l=u+16|0,D=u+12|0,s=u,Ma(l),e=yo(e)|0,t[D>>2]=t[n>>2],mE(s,r),t[h>>2]=t[D>>2],FO(e,h,s),L1(s),ka(l),m=u}function FO(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+32|0,h=u+16|0,D=u+12|0,l=u,s=go(PO()|0)|0,t[D>>2]=t[n>>2],t[h>>2]=t[D>>2],n=Yp(h)|0,t[l>>2]=t[r>>2],h=r+4|0,t[l+4>>2]=t[h>>2],D=r+8|0,t[l+8>>2]=t[D>>2],t[D>>2]=0,t[h>>2]=0,t[r>>2]=0,P0(0,s|0,e|0,n|0,gE(l)|0)|0,L1(l),m=u}function PO(){var e=0;return p[7976]|0||(IO(10720),e=7976,t[e>>2]=1,t[e+4>>2]=0),10720}function IO(e){e=e|0,ol(e,bO()|0,2)}function bO(){return 1732}function BO(e){return e=e|0,t[e>>2]|0}function Bw(e){return e=e|0,t[e>>2]|0}function UO(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+32|0,s=u+16|0,l=u+8|0,h=u,Ma(l),e=yo(e)|0,t[h>>2]=t[n>>2],r=t[r>>2]|0,t[s>>2]=t[h>>2],Uw(e,s,r),ka(l),m=u}function Uw(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,s=u+4|0,h=u,l=go(jO()|0)|0,t[h>>2]=t[n>>2],t[s>>2]=t[h>>2],n=Yp(s)|0,P0(0,l|0,e|0,n|0,xw(r)|0)|0,m=u}function jO(){var e=0;return p[7984]|0||(zO(10732),e=7984,t[e>>2]=1,t[e+4>>2]=0),10732}function zO(e){e=e|0,ol(e,HO()|0,2)}function HO(){return 1744}function qO(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+32|0,s=u+16|0,l=u+8|0,h=u,Ma(l),e=yo(e)|0,t[h>>2]=t[n>>2],r=t[r>>2]|0,t[s>>2]=t[h>>2],Uw(e,s,r),ka(l),m=u}function WO(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;l=m,m=m+32|0,h=l+16|0,s=l+8|0,D=l,Ma(s),e=yo(e)|0,t[D>>2]=t[n>>2],r=p[r>>0]|0,u=p[u>>0]|0,t[h>>2]=t[D>>2],VO(e,h,r,u),ka(s),m=l}function VO(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;l=m,m=m+16|0,h=l+4|0,D=l,s=go(GO()|0)|0,t[D>>2]=t[n>>2],t[h>>2]=t[D>>2],n=Yp(h)|0,r=Lv(r)|0,Hn(0,s|0,e|0,n|0,r|0,Lv(u)|0)|0,m=l}function GO(){var e=0;return p[7992]|0||(KO(10744),e=7992,t[e>>2]=1,t[e+4>>2]=0),10744}function Lv(e){return e=e|0,YO(e)|0}function YO(e){return e=e|0,e&255|0}function KO(e){e=e|0,ol(e,XO()|0,3)}function XO(){return 1756}function QO(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;switch(K=m,m=m+32|0,D=K+8|0,S=K+4|0,N=K+20|0,M=K,Sa(e,0),u=YN(n)|0,t[D>>2]=0,I=D+4|0,t[I>>2]=0,t[D+8>>2]=0,u<<24>>24){case 0:{p[N>>0]=0,JO(S,r,N),s_(e,S)|0,U0(S);break}case 8:{I=TE(n)|0,p[N>>0]=8,Gf(M,t[I+4>>2]|0),ZO(S,r,N,M,I+8|0),s_(e,S)|0,U0(S);break}case 9:{if(s=TE(n)|0,n=t[s+4>>2]|0,n|0)for(h=D+8|0,l=s+12|0;n=n+-1|0,Gf(S,t[l>>2]|0),u=t[I>>2]|0,u>>>0<(t[h>>2]|0)>>>0?(t[u>>2]=t[S>>2],t[I>>2]=(t[I>>2]|0)+4):hE(D,S),n;)l=l+4|0;p[N>>0]=9,Gf(M,t[s+8>>2]|0),$O(S,r,N,M,D),s_(e,S)|0,U0(S);break}default:I=TE(n)|0,p[N>>0]=u,Gf(M,t[I+4>>2]|0),eM(S,r,N,M),s_(e,S)|0,U0(S)}L1(D),m=K}function JO(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;u=m,m=m+16|0,l=u,Ma(l),n=yo(n)|0,pM(e,n,p[r>>0]|0),ka(l),m=u}function s_(e,n){e=e|0,n=n|0;var r=0;return r=t[e>>2]|0,r|0&&qr(r|0),t[e>>2]=t[n>>2],t[n>>2]=0,e|0}function ZO(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0;s=m,m=m+32|0,D=s+16|0,h=s+8|0,S=s,Ma(h),n=yo(n)|0,r=p[r>>0]|0,t[S>>2]=t[u>>2],l=t[l>>2]|0,t[D>>2]=t[S>>2],aM(e,n,r,D,l),ka(h),m=s}function $O(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0,N=0;s=m,m=m+32|0,S=s+24|0,h=s+16|0,N=s+12|0,D=s,Ma(h),n=yo(n)|0,r=p[r>>0]|0,t[N>>2]=t[u>>2],mE(D,l),t[S>>2]=t[N>>2],uM(e,n,r,S,D),L1(D),ka(h),m=s}function eM(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;l=m,m=m+32|0,h=l+16|0,s=l+8|0,D=l,Ma(s),n=yo(n)|0,r=p[r>>0]|0,t[D>>2]=t[u>>2],t[h>>2]=t[D>>2],tM(e,n,r,h),ka(s),m=l}function tM(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;l=m,m=m+16|0,s=l+4|0,D=l,h=go(nM()|0)|0,r=Lv(r)|0,t[D>>2]=t[u>>2],t[s>>2]=t[D>>2],a_(e,P0(0,h|0,n|0,r|0,Yp(s)|0)|0),m=l}function nM(){var e=0;return p[8e3]|0||(rM(10756),e=8e3,t[e>>2]=1,t[e+4>>2]=0),10756}function a_(e,n){e=e|0,n=n|0,Sa(e,n)}function rM(e){e=e|0,ol(e,iM()|0,2)}function iM(){return 1772}function uM(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0,N=0;s=m,m=m+32|0,S=s+16|0,N=s+12|0,h=s,D=go(oM()|0)|0,r=Lv(r)|0,t[N>>2]=t[u>>2],t[S>>2]=t[N>>2],u=Yp(S)|0,t[h>>2]=t[l>>2],S=l+4|0,t[h+4>>2]=t[S>>2],N=l+8|0,t[h+8>>2]=t[N>>2],t[N>>2]=0,t[S>>2]=0,t[l>>2]=0,a_(e,Hn(0,D|0,n|0,r|0,u|0,gE(h)|0)|0),L1(h),m=s}function oM(){var e=0;return p[8008]|0||(lM(10768),e=8008,t[e>>2]=1,t[e+4>>2]=0),10768}function lM(e){e=e|0,ol(e,sM()|0,3)}function sM(){return 1784}function aM(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0;s=m,m=m+16|0,D=s+4|0,S=s,h=go(fM()|0)|0,r=Lv(r)|0,t[S>>2]=t[u>>2],t[D>>2]=t[S>>2],u=Yp(D)|0,a_(e,Hn(0,h|0,n|0,r|0,u|0,yE(l)|0)|0),m=s}function fM(){var e=0;return p[8016]|0||(cM(10780),e=8016,t[e>>2]=1,t[e+4>>2]=0),10780}function cM(e){e=e|0,ol(e,dM()|0,3)}function dM(){return 1800}function pM(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=go(hM()|0)|0,a_(e,Ki(0,u|0,n|0,Lv(r)|0)|0)}function hM(){var e=0;return p[8024]|0||(vM(10792),e=8024,t[e>>2]=1,t[e+4>>2]=0),10792}function vM(e){e=e|0,ol(e,mM()|0,1)}function mM(){return 1816}function yM(){gM(),_M(),EM()}function gM(){t[2702]=p8(65536)|0}function _M(){jM(10856)}function EM(){DM(10816)}function DM(e){e=e|0,wM(e,5044),SM(e)|0}function wM(e,n){e=e|0,n=n|0;var r=0;r=Ow()|0,t[e>>2]=r,FM(r,n),$d(t[e>>2]|0)}function SM(e){e=e|0;var n=0;return n=t[e>>2]|0,Vp(n,TM()|0),e|0}function TM(){var e=0;return p[8032]|0||(jw(10820),Wt(64,10820,ve|0)|0,e=8032,t[e>>2]=1,t[e+4>>2]=0),sr(10820)|0||jw(10820),10820}function jw(e){e=e|0,RM(e),Gp(e,25)}function CM(e){e=e|0,xM(e+24|0)}function xM(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function RM(e){e=e|0;var n=0;n=yr()|0,jn(e,5,18,n,kM()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function AM(e,n){e=e|0,n=n|0,OM(e,n)}function OM(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;r=m,m=m+16|0,u=r,l=r+4|0,Pf(l,n),t[u>>2]=If(l,n)|0,MM(e,u),m=r}function MM(e,n){e=e|0,n=n|0,zw(e+4|0,t[n>>2]|0),p[e+8>>0]=1}function zw(e,n){e=e|0,n=n|0,t[e>>2]=n}function kM(){return 1824}function NM(e){return e=e|0,LM(e)|0}function LM(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0;return r=m,m=m+16|0,l=r+4|0,h=r,u=Oa(8)|0,n=u,D=pn(4)|0,Pf(l,e),zw(D,If(l,e)|0),s=n+4|0,t[s>>2]=D,e=pn(8)|0,s=t[s>>2]|0,t[h>>2]=0,t[l>>2]=t[h>>2],Mw(e,s,l),t[u>>2]=e,m=r,n|0}function Oa(e){e=e|0;var n=0,r=0;return e=e+7&-8,(e>>>0<=32768?(n=t[2701]|0,e>>>0<=(65536-n|0)>>>0):0)?(r=(t[2702]|0)+n|0,t[2701]=n+e,e=r):(e=p8(e+8|0)|0,t[e>>2]=t[2703],t[2703]=e,e=e+8|0),e|0}function FM(e,n){e=e|0,n=n|0,t[e>>2]=PM()|0,t[e+4>>2]=IM()|0,t[e+12>>2]=n,t[e+8>>2]=bM()|0,t[e+32>>2]=9}function PM(){return 11744}function IM(){return 1832}function bM(){return o_()|0}function BM(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(zl(u,896)|0)==512?r|0&&(UM(r),_t(r)):n|0&&_t(n)}function UM(e){e=e|0,e=t[e+4>>2]|0,e|0&&e2(e)}function jM(e){e=e|0,zM(e,5052),HM(e)|0,qM(e,5058,26)|0,WM(e,5069,1)|0,VM(e,5077,10)|0,GM(e,5087,19)|0,YM(e,5094,27)|0}function zM(e,n){e=e|0,n=n|0;var r=0;r=UN()|0,t[e>>2]=r,jN(r,n),$d(t[e>>2]|0)}function HM(e){e=e|0;var n=0;return n=t[e>>2]|0,Vp(n,CN()|0),e|0}function qM(e,n,r){return e=e|0,n=n|0,r=r|0,lN(e,Fr(n)|0,r,0),e|0}function WM(e,n,r){return e=e|0,n=n|0,r=r|0,Gk(e,Fr(n)|0,r,0),e|0}function VM(e,n,r){return e=e|0,n=n|0,r=r|0,Tk(e,Fr(n)|0,r,0),e|0}function GM(e,n,r){return e=e|0,n=n|0,r=r|0,ak(e,Fr(n)|0,r,0),e|0}function Hw(e,n){e=e|0,n=n|0;var r=0,u=0;e:for(;;){for(r=t[2703]|0;;){if((r|0)==(n|0))break e;if(u=t[r>>2]|0,t[2703]=u,!r)r=u;else break}_t(r)}t[2701]=e}function YM(e,n,r){return e=e|0,n=n|0,r=r|0,KM(e,Fr(n)|0,r,0),e|0}function KM(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=_E()|0,e=XM(r)|0,wi(s,n,l,e,QM(r,u)|0,u)}function _E(){var e=0,n=0;if(p[8040]|0||(Ww(10860),Wt(65,10860,ve|0)|0,n=8040,t[n>>2]=1,t[n+4>>2]=0),!(sr(10860)|0)){e=10860,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Ww(10860)}return 10860}function XM(e){return e=e|0,e|0}function QM(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=_E()|0,h=S+24|0,n=hn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(qw(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(JM(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function qw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function JM(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=ZM(e)|0,u>>>0<h>>>0)hi(e);else{S=t[e>>2]|0,M=(t[e+8>>2]|0)-S|0,N=M>>2,$M(l,M>>3>>>0<u>>>1>>>0?N>>>0<h>>>0?h:N:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,qw(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,ek(e,l),tk(l),m=D;return}}function ZM(e){return e=e|0,536870911}function $M(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)$n();else{l=pn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function ek(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function tk(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&_t(e)}function Ww(e){e=e|0,ik(e)}function nk(e){e=e|0,rk(e+24|0)}function rk(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function ik(e){e=e|0;var n=0;n=yr()|0,jn(e,1,11,n,uk()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function uk(){return 1840}function ok(e,n,r){e=e|0,n=n|0,r=r|0,sk(t[(lk(e)|0)>>2]|0,n,r)}function lk(e){return e=e|0,(t[(_E()|0)+24>>2]|0)+(e<<3)|0}function sk(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;u=m,m=m+16|0,s=u+1|0,l=u,Pf(s,n),n=If(s,n)|0,Pf(l,r),r=If(l,r)|0,P1[e&31](n,r),m=u}function ak(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=EE()|0,e=fk(r)|0,wi(s,n,l,e,ck(r,u)|0,u)}function EE(){var e=0,n=0;if(p[8048]|0||(Gw(10896),Wt(66,10896,ve|0)|0,n=8048,t[n>>2]=1,t[n+4>>2]=0),!(sr(10896)|0)){e=10896,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Gw(10896)}return 10896}function fk(e){return e=e|0,e|0}function ck(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=EE()|0,h=S+24|0,n=hn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(Vw(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(dk(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function Vw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function dk(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=pk(e)|0,u>>>0<h>>>0)hi(e);else{S=t[e>>2]|0,M=(t[e+8>>2]|0)-S|0,N=M>>2,hk(l,M>>3>>>0<u>>>1>>>0?N>>>0<h>>>0?h:N:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,Vw(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,vk(e,l),mk(l),m=D;return}}function pk(e){return e=e|0,536870911}function hk(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)$n();else{l=pn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function vk(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function mk(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&_t(e)}function Gw(e){e=e|0,_k(e)}function yk(e){e=e|0,gk(e+24|0)}function gk(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function _k(e){e=e|0;var n=0;n=yr()|0,jn(e,1,11,n,Ek()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Ek(){return 1852}function Dk(e,n){return e=e|0,n=n|0,Sk(t[(wk(e)|0)>>2]|0,n)|0}function wk(e){return e=e|0,(t[(EE()|0)+24>>2]|0)+(e<<3)|0}function Sk(e,n){e=e|0,n=n|0;var r=0,u=0;return r=m,m=m+16|0,u=r,Pf(u,n),n=If(u,n)|0,n=H0(Jp[e&31](n)|0)|0,m=r,n|0}function Tk(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=DE()|0,e=Ck(r)|0,wi(s,n,l,e,xk(r,u)|0,u)}function DE(){var e=0,n=0;if(p[8056]|0||(Kw(10932),Wt(67,10932,ve|0)|0,n=8056,t[n>>2]=1,t[n+4>>2]=0),!(sr(10932)|0)){e=10932,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Kw(10932)}return 10932}function Ck(e){return e=e|0,e|0}function xk(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=DE()|0,h=S+24|0,n=hn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(Yw(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(Rk(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function Yw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function Rk(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=Ak(e)|0,u>>>0<h>>>0)hi(e);else{S=t[e>>2]|0,M=(t[e+8>>2]|0)-S|0,N=M>>2,Ok(l,M>>3>>>0<u>>>1>>>0?N>>>0<h>>>0?h:N:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,Yw(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,Mk(e,l),kk(l),m=D;return}}function Ak(e){return e=e|0,536870911}function Ok(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)$n();else{l=pn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function Mk(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function kk(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&_t(e)}function Kw(e){e=e|0,Fk(e)}function Nk(e){e=e|0,Lk(e+24|0)}function Lk(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function Fk(e){e=e|0;var n=0;n=yr()|0,jn(e,1,7,n,Pk()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Pk(){return 1860}function Ik(e,n,r){return e=e|0,n=n|0,r=r|0,Bk(t[(bk(e)|0)>>2]|0,n,r)|0}function bk(e){return e=e|0,(t[(DE()|0)+24>>2]|0)+(e<<3)|0}function Bk(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0;return u=m,m=m+32|0,h=u+12|0,s=u+8|0,D=u,S=u+16|0,l=u+4|0,Uk(S,n),jk(D,S,n),Ys(l,r),r=Ks(l,r)|0,t[h>>2]=t[D>>2],Ry[e&15](s,h,r),r=zk(s)|0,U0(s),Xs(l),m=u,r|0}function Uk(e,n){e=e|0,n=n|0}function jk(e,n,r){e=e|0,n=n|0,r=r|0,Hk(e,r)}function zk(e){return e=e|0,yo(e)|0}function Hk(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;l=m,m=m+16|0,r=l,u=n,u&1?(qk(r,0),eu(u|0,r|0)|0,Wk(e,r),Vk(r)):t[e>>2]=t[n>>2],m=l}function qk(e,n){e=e|0,n=n|0,fd(e,n),t[e+4>>2]=0,p[e+8>>0]=0}function Wk(e,n){e=e|0,n=n|0,t[e>>2]=t[n+4>>2]}function Vk(e){e=e|0,p[e+8>>0]=0}function Gk(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=wE()|0,e=Yk(r)|0,wi(s,n,l,e,Kk(r,u)|0,u)}function wE(){var e=0,n=0;if(p[8064]|0||(Qw(10968),Wt(68,10968,ve|0)|0,n=8064,t[n>>2]=1,t[n+4>>2]=0),!(sr(10968)|0)){e=10968,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Qw(10968)}return 10968}function Yk(e){return e=e|0,e|0}function Kk(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=wE()|0,h=S+24|0,n=hn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(Xw(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(Xk(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function Xw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function Xk(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=Qk(e)|0,u>>>0<h>>>0)hi(e);else{S=t[e>>2]|0,M=(t[e+8>>2]|0)-S|0,N=M>>2,Jk(l,M>>3>>>0<u>>>1>>>0?N>>>0<h>>>0?h:N:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,Xw(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,Zk(e,l),$k(l),m=D;return}}function Qk(e){return e=e|0,536870911}function Jk(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)$n();else{l=pn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function Zk(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function $k(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&_t(e)}function Qw(e){e=e|0,nN(e)}function eN(e){e=e|0,tN(e+24|0)}function tN(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function nN(e){e=e|0;var n=0;n=yr()|0,jn(e,1,1,n,rN()|0,5),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function rN(){return 1872}function iN(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,oN(t[(uN(e)|0)>>2]|0,n,r,u,l,s)}function uN(e){return e=e|0,(t[(wE()|0)+24>>2]|0)+(e<<3)|0}function oN(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0;var h=0,D=0,S=0,N=0,M=0,I=0;h=m,m=m+32|0,D=h+16|0,S=h+12|0,N=h+8|0,M=h+4|0,I=h,Ys(D,n),n=Ks(D,n)|0,Ys(S,r),r=Ks(S,r)|0,Ys(N,u),u=Ks(N,u)|0,Ys(M,l),l=Ks(M,l)|0,Ys(I,s),s=Ks(I,s)|0,g8[e&1](n,r,u,l,s),Xs(I),Xs(M),Xs(N),Xs(S),Xs(D),m=h}function lN(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=SE()|0,e=sN(r)|0,wi(s,n,l,e,aN(r,u)|0,u)}function SE(){var e=0,n=0;if(p[8072]|0||(Zw(11004),Wt(69,11004,ve|0)|0,n=8072,t[n>>2]=1,t[n+4>>2]=0),!(sr(11004)|0)){e=11004,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Zw(11004)}return 11004}function sN(e){return e=e|0,e|0}function aN(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=SE()|0,h=S+24|0,n=hn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(Jw(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(fN(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function Jw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function fN(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=cN(e)|0,u>>>0<h>>>0)hi(e);else{S=t[e>>2]|0,M=(t[e+8>>2]|0)-S|0,N=M>>2,dN(l,M>>3>>>0<u>>>1>>>0?N>>>0<h>>>0?h:N:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,Jw(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,pN(e,l),hN(l),m=D;return}}function cN(e){return e=e|0,536870911}function dN(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)$n();else{l=pn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function pN(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function hN(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&_t(e)}function Zw(e){e=e|0,yN(e)}function vN(e){e=e|0,mN(e+24|0)}function mN(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function yN(e){e=e|0;var n=0;n=yr()|0,jn(e,1,12,n,gN()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function gN(){return 1896}function _N(e,n,r){e=e|0,n=n|0,r=r|0,DN(t[(EN(e)|0)>>2]|0,n,r)}function EN(e){return e=e|0,(t[(SE()|0)+24>>2]|0)+(e<<3)|0}function DN(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;u=m,m=m+16|0,s=u+4|0,l=u,wN(s,n),n=SN(s,n)|0,Ys(l,r),r=Ks(l,r)|0,P1[e&31](n,r),Xs(l),m=u}function wN(e,n){e=e|0,n=n|0}function SN(e,n){return e=e|0,n=n|0,TN(n)|0}function TN(e){return e=e|0,e|0}function CN(){var e=0;return p[8080]|0||($w(11040),Wt(70,11040,ve|0)|0,e=8080,t[e>>2]=1,t[e+4>>2]=0),sr(11040)|0||$w(11040),11040}function $w(e){e=e|0,AN(e),Gp(e,71)}function xN(e){e=e|0,RN(e+24|0)}function RN(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function AN(e){e=e|0;var n=0;n=yr()|0,jn(e,5,7,n,NN()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function ON(e){e=e|0,MN(e)}function MN(e){e=e|0,kN(e)}function kN(e){e=e|0,p[e+8>>0]=1}function NN(){return 1936}function LN(){return FN()|0}function FN(){var e=0,n=0,r=0,u=0,l=0,s=0,h=0;return n=m,m=m+16|0,l=n+4|0,h=n,r=Oa(8)|0,e=r,s=e+4|0,t[s>>2]=pn(1)|0,u=pn(8)|0,s=t[s>>2]|0,t[h>>2]=0,t[l>>2]=t[h>>2],PN(u,s,l),t[r>>2]=u,m=n,e|0}function PN(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=pn(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1916,t[r+12>>2]=n,t[e+4>>2]=r}function IN(e){e=e|0,Iv(e),_t(e)}function bN(e){e=e|0,e=t[e+12>>2]|0,e|0&&_t(e)}function BN(e){e=e|0,_t(e)}function UN(){var e=0;return p[8088]|0||(GN(11076),Wt(25,11076,ve|0)|0,e=8088,t[e>>2]=1,t[e+4>>2]=0),11076}function jN(e,n){e=e|0,n=n|0,t[e>>2]=zN()|0,t[e+4>>2]=HN()|0,t[e+12>>2]=n,t[e+8>>2]=qN()|0,t[e+32>>2]=10}function zN(){return 11745}function HN(){return 1940}function qN(){return N1()|0}function WN(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(zl(u,896)|0)==512?r|0&&(VN(r),_t(r)):n|0&&_t(n)}function VN(e){e=e|0,e=t[e+4>>2]|0,e|0&&e2(e)}function GN(e){e=e|0,Xa(e)}function Gf(e,n){e=e|0,n=n|0,t[e>>2]=n}function TE(e){return e=e|0,t[e>>2]|0}function YN(e){return e=e|0,p[t[e>>2]>>0]|0}function KN(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,t[u>>2]=t[e>>2],XN(n,u)|0,m=r}function XN(e,n){e=e|0,n=n|0;var r=0;return r=QN(t[e>>2]|0,n)|0,n=e+4|0,t[(t[n>>2]|0)+8>>2]=r,t[(t[n>>2]|0)+8>>2]|0}function QN(e,n){e=e|0,n=n|0;var r=0,u=0;return r=m,m=m+16|0,u=r,Ma(u),e=yo(e)|0,n=JN(e,t[n>>2]|0)|0,ka(u),m=r,n|0}function Ma(e){e=e|0,t[e>>2]=t[2701],t[e+4>>2]=t[2703]}function JN(e,n){e=e|0,n=n|0;var r=0;return r=go(ZN()|0)|0,Ki(0,r|0,e|0,yE(n)|0)|0}function ka(e){e=e|0,Hw(t[e>>2]|0,t[e+4>>2]|0)}function ZN(){var e=0;return p[8096]|0||($N(11120),e=8096,t[e>>2]=1,t[e+4>>2]=0),11120}function $N(e){e=e|0,ol(e,eL()|0,1)}function eL(){return 1948}function tL(){nL()}function nL(){var e=0,n=0,r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0,be=0,Se=0,ye=0;if(Se=m,m=m+16|0,M=Se+4|0,I=Se,bn(65536,10804,t[2702]|0,10812),r=Sw()|0,n=t[r>>2]|0,e=t[n>>2]|0,e|0)for(u=t[r+8>>2]|0,r=t[r+4>>2]|0;Xl(e|0,k[r>>0]|0|0,p[u>>0]|0),n=n+4|0,e=t[n>>2]|0,e;)u=u+1|0,r=r+1|0;if(e=Tw()|0,n=t[e>>2]|0,n|0)do Mo(n|0,t[e+4>>2]|0),e=e+8|0,n=t[e>>2]|0;while((n|0)!=0);Mo(rL()|0,5167),N=kv()|0,e=t[N>>2]|0;e:do if(e|0){do iL(t[e+4>>2]|0),e=t[e>>2]|0;while((e|0)!=0);if(e=t[N>>2]|0,e|0){S=N;do{for(;l=e,e=t[e>>2]|0,l=t[l+4>>2]|0,!!(uL(l)|0);)if(t[I>>2]=S,t[M>>2]=t[I>>2],oL(N,M)|0,!e)break e;if(lL(l),S=t[S>>2]|0,n=e8(l)|0,s=ao()|0,h=m,m=m+((1*(n<<2)|0)+15&-16)|0,D=m,m=m+((1*(n<<2)|0)+15&-16)|0,n=t[(Iw(l)|0)>>2]|0,n|0)for(r=h,u=D;t[r>>2]=t[(Nv(t[n+4>>2]|0)|0)>>2],t[u>>2]=t[n+8>>2],n=t[n>>2]|0,n;)r=r+4|0,u=u+4|0;ye=Nv(l)|0,n=sL(l)|0,r=e8(l)|0,u=aL(l)|0,ko(ye|0,n|0,h|0,D|0,r|0,u|0,cE(l)|0),gi(s|0)}while((e|0)!=0)}}while(0);if(e=t[(dE()|0)>>2]|0,e|0)do ye=e+4|0,N=pE(ye)|0,l=Sy(N)|0,s=Dy(N)|0,h=(wy(N)|0)+1|0,D=f_(N)|0,S=t8(ye)|0,N=sr(N)|0,M=l_(ye)|0,I=CE(ye)|0,so(0,l|0,s|0,h|0,D|0,S|0,N|0,M|0,I|0,xE(ye)|0),e=t[e>>2]|0;while((e|0)!=0);e=t[(kv()|0)>>2]|0;e:do if(e|0){t:for(;;){if(n=t[e+4>>2]|0,n|0?(K=t[(Nv(n)|0)>>2]|0,be=t[(bw(n)|0)>>2]|0,be|0):0){r=be;do{n=r+4|0,u=pE(n)|0;n:do if(u|0)switch(sr(u)|0){case 0:break t;case 4:case 3:case 2:{D=Sy(u)|0,S=Dy(u)|0,N=(wy(u)|0)+1|0,M=f_(u)|0,I=sr(u)|0,ye=l_(n)|0,so(K|0,D|0,S|0,N|0,M|0,0,I|0,ye|0,CE(n)|0,xE(n)|0);break n}case 1:{h=Sy(u)|0,D=Dy(u)|0,S=(wy(u)|0)+1|0,N=f_(u)|0,M=t8(n)|0,I=sr(u)|0,ye=l_(n)|0,so(K|0,h|0,D|0,S|0,N|0,M|0,I|0,ye|0,CE(n)|0,xE(n)|0);break n}case 5:{N=Sy(u)|0,M=Dy(u)|0,I=(wy(u)|0)+1|0,ye=f_(u)|0,so(K|0,N|0,M|0,I|0,ye|0,fL(u)|0,sr(u)|0,0,0,0);break n}default:break n}while(0);r=t[r>>2]|0}while((r|0)!=0)}if(e=t[e>>2]|0,!e)break e}$n()}while(0);Is(),m=Se}function rL(){return 11703}function iL(e){e=e|0,p[e+40>>0]=0}function uL(e){return e=e|0,(p[e+40>>0]|0)!=0|0}function oL(e,n){return e=e|0,n=n|0,n=cL(n)|0,e=t[n>>2]|0,t[n>>2]=t[e>>2],_t(e),t[n>>2]|0}function lL(e){e=e|0,p[e+40>>0]=1}function e8(e){return e=e|0,t[e+20>>2]|0}function sL(e){return e=e|0,t[e+8>>2]|0}function aL(e){return e=e|0,t[e+32>>2]|0}function f_(e){return e=e|0,t[e+4>>2]|0}function t8(e){return e=e|0,t[e+4>>2]|0}function CE(e){return e=e|0,t[e+8>>2]|0}function xE(e){return e=e|0,t[e+16>>2]|0}function fL(e){return e=e|0,t[e+20>>2]|0}function cL(e){return e=e|0,t[e>>2]|0}function c_(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0,be=0,Se=0,ye=0,Je=0,Ge=0,ft=0,Me=0,Pe=0,Zt=0;Zt=m,m=m+16|0,K=Zt;do if(e>>>0<245){if(N=e>>>0<11?16:e+11&-8,e=N>>>3,I=t[2783]|0,r=I>>>e,r&3|0)return n=(r&1^1)+e|0,e=11172+(n<<1<<2)|0,r=e+8|0,u=t[r>>2]|0,l=u+8|0,s=t[l>>2]|0,(e|0)==(s|0)?t[2783]=I&~(1<<n):(t[s+12>>2]=e,t[r>>2]=s),Pe=n<<3,t[u+4>>2]=Pe|3,Pe=u+Pe+4|0,t[Pe>>2]=t[Pe>>2]|1,Pe=l,m=Zt,Pe|0;if(M=t[2785]|0,N>>>0>M>>>0){if(r|0)return n=2<<e,n=r<<e&(n|0-n),n=(n&0-n)+-1|0,h=n>>>12&16,n=n>>>h,r=n>>>5&8,n=n>>>r,l=n>>>2&4,n=n>>>l,e=n>>>1&2,n=n>>>e,u=n>>>1&1,u=(r|h|l|e|u)+(n>>>u)|0,n=11172+(u<<1<<2)|0,e=n+8|0,l=t[e>>2]|0,h=l+8|0,r=t[h>>2]|0,(n|0)==(r|0)?(e=I&~(1<<u),t[2783]=e):(t[r+12>>2]=n,t[e>>2]=r,e=I),s=(u<<3)-N|0,t[l+4>>2]=N|3,u=l+N|0,t[u+4>>2]=s|1,t[u+s>>2]=s,M|0&&(l=t[2788]|0,n=M>>>3,r=11172+(n<<1<<2)|0,n=1<<n,e&n?(e=r+8|0,n=t[e>>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=l,t[n+12>>2]=l,t[l+8>>2]=n,t[l+12>>2]=r),t[2785]=s,t[2788]=u,Pe=h,m=Zt,Pe|0;if(D=t[2784]|0,D){if(r=(D&0-D)+-1|0,h=r>>>12&16,r=r>>>h,s=r>>>5&8,r=r>>>s,S=r>>>2&4,r=r>>>S,u=r>>>1&2,r=r>>>u,e=r>>>1&1,e=t[11436+((s|h|S|u|e)+(r>>>e)<<2)>>2]|0,r=(t[e+4>>2]&-8)-N|0,u=t[e+16+(((t[e+16>>2]|0)==0&1)<<2)>>2]|0,!u)S=e,s=r;else{do h=(t[u+4>>2]&-8)-N|0,S=h>>>0<r>>>0,r=S?h:r,e=S?u:e,u=t[u+16+(((t[u+16>>2]|0)==0&1)<<2)>>2]|0;while((u|0)!=0);S=e,s=r}if(h=S+N|0,S>>>0<h>>>0){l=t[S+24>>2]|0,n=t[S+12>>2]|0;do if((n|0)==(S|0)){if(e=S+20|0,n=t[e>>2]|0,!n&&(e=S+16|0,n=t[e>>2]|0,!n)){r=0;break}for(;;){if(r=n+20|0,u=t[r>>2]|0,u|0){n=u,e=r;continue}if(r=n+16|0,u=t[r>>2]|0,u)n=u,e=r;else break}t[e>>2]=0,r=n}else r=t[S+8>>2]|0,t[r+12>>2]=n,t[n+8>>2]=r,r=n;while(0);do if(l|0){if(n=t[S+28>>2]|0,e=11436+(n<<2)|0,(S|0)==(t[e>>2]|0)){if(t[e>>2]=r,!r){t[2784]=D&~(1<<n);break}}else if(t[l+16+(((t[l+16>>2]|0)!=(S|0)&1)<<2)>>2]=r,!r)break;t[r+24>>2]=l,n=t[S+16>>2]|0,n|0&&(t[r+16>>2]=n,t[n+24>>2]=r),n=t[S+20>>2]|0,n|0&&(t[r+20>>2]=n,t[n+24>>2]=r)}while(0);return s>>>0<16?(Pe=s+N|0,t[S+4>>2]=Pe|3,Pe=S+Pe+4|0,t[Pe>>2]=t[Pe>>2]|1):(t[S+4>>2]=N|3,t[h+4>>2]=s|1,t[h+s>>2]=s,M|0&&(u=t[2788]|0,n=M>>>3,r=11172+(n<<1<<2)|0,n=1<<n,I&n?(e=r+8|0,n=t[e>>2]|0):(t[2783]=I|n,n=r,e=r+8|0),t[e>>2]=u,t[n+12>>2]=u,t[u+8>>2]=n,t[u+12>>2]=r),t[2785]=s,t[2788]=h),Pe=S+8|0,m=Zt,Pe|0}else I=N}else I=N}else I=N}else if(e>>>0<=4294967231)if(e=e+11|0,N=e&-8,S=t[2784]|0,S){u=0-N|0,e=e>>>8,e?N>>>0>16777215?D=31:(I=(e+1048320|0)>>>16&8,Me=e<<I,M=(Me+520192|0)>>>16&4,Me=Me<<M,D=(Me+245760|0)>>>16&2,D=14-(M|I|D)+(Me<<D>>>15)|0,D=N>>>(D+7|0)&1|D<<1):D=0,r=t[11436+(D<<2)>>2]|0;e:do if(!r)r=0,e=0,Me=57;else for(e=0,h=N<<((D|0)==31?0:25-(D>>>1)|0),s=0;;){if(l=(t[r+4>>2]&-8)-N|0,l>>>0<u>>>0)if(l)e=r,u=l;else{e=r,u=0,l=r,Me=61;break e}if(l=t[r+20>>2]|0,r=t[r+16+(h>>>31<<2)>>2]|0,s=(l|0)==0|(l|0)==(r|0)?s:l,l=(r|0)==0,l){r=s,Me=57;break}else h=h<<((l^1)&1)}while(0);if((Me|0)==57){if((r|0)==0&(e|0)==0){if(e=2<<D,e=S&(e|0-e),!e){I=N;break}I=(e&0-e)+-1|0,h=I>>>12&16,I=I>>>h,s=I>>>5&8,I=I>>>s,D=I>>>2&4,I=I>>>D,M=I>>>1&2,I=I>>>M,r=I>>>1&1,e=0,r=t[11436+((s|h|D|M|r)+(I>>>r)<<2)>>2]|0}r?(l=r,Me=61):(D=e,h=u)}if((Me|0)==61)for(;;)if(Me=0,r=(t[l+4>>2]&-8)-N|0,I=r>>>0<u>>>0,r=I?r:u,e=I?l:e,l=t[l+16+(((t[l+16>>2]|0)==0&1)<<2)>>2]|0,l)u=r,Me=61;else{D=e,h=r;break}if((D|0)!=0?h>>>0<((t[2785]|0)-N|0)>>>0:0){if(s=D+N|0,D>>>0>=s>>>0)return Pe=0,m=Zt,Pe|0;l=t[D+24>>2]|0,n=t[D+12>>2]|0;do if((n|0)==(D|0)){if(e=D+20|0,n=t[e>>2]|0,!n&&(e=D+16|0,n=t[e>>2]|0,!n)){n=0;break}for(;;){if(r=n+20|0,u=t[r>>2]|0,u|0){n=u,e=r;continue}if(r=n+16|0,u=t[r>>2]|0,u)n=u,e=r;else break}t[e>>2]=0}else Pe=t[D+8>>2]|0,t[Pe+12>>2]=n,t[n+8>>2]=Pe;while(0);do if(l){if(e=t[D+28>>2]|0,r=11436+(e<<2)|0,(D|0)==(t[r>>2]|0)){if(t[r>>2]=n,!n){u=S&~(1<<e),t[2784]=u;break}}else if(t[l+16+(((t[l+16>>2]|0)!=(D|0)&1)<<2)>>2]=n,!n){u=S;break}t[n+24>>2]=l,e=t[D+16>>2]|0,e|0&&(t[n+16>>2]=e,t[e+24>>2]=n),e=t[D+20>>2]|0,e&&(t[n+20>>2]=e,t[e+24>>2]=n),u=S}else u=S;while(0);do if(h>>>0>=16){if(t[D+4>>2]=N|3,t[s+4>>2]=h|1,t[s+h>>2]=h,n=h>>>3,h>>>0<256){r=11172+(n<<1<<2)|0,e=t[2783]|0,n=1<<n,e&n?(e=r+8|0,n=t[e>>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=s,t[n+12>>2]=s,t[s+8>>2]=n,t[s+12>>2]=r;break}if(n=h>>>8,n?h>>>0>16777215?n=31:(Me=(n+1048320|0)>>>16&8,Pe=n<<Me,ft=(Pe+520192|0)>>>16&4,Pe=Pe<<ft,n=(Pe+245760|0)>>>16&2,n=14-(ft|Me|n)+(Pe<<n>>>15)|0,n=h>>>(n+7|0)&1|n<<1):n=0,r=11436+(n<<2)|0,t[s+28>>2]=n,e=s+16|0,t[e+4>>2]=0,t[e>>2]=0,e=1<<n,!(u&e)){t[2784]=u|e,t[r>>2]=s,t[s+24>>2]=r,t[s+12>>2]=s,t[s+8>>2]=s;break}for(e=h<<((n|0)==31?0:25-(n>>>1)|0),r=t[r>>2]|0;;){if((t[r+4>>2]&-8|0)==(h|0)){Me=97;break}if(u=r+16+(e>>>31<<2)|0,n=t[u>>2]|0,n)e=e<<1,r=n;else{Me=96;break}}if((Me|0)==96){t[u>>2]=s,t[s+24>>2]=r,t[s+12>>2]=s,t[s+8>>2]=s;break}else if((Me|0)==97){Me=r+8|0,Pe=t[Me>>2]|0,t[Pe+12>>2]=s,t[Me>>2]=s,t[s+8>>2]=Pe,t[s+12>>2]=r,t[s+24>>2]=0;break}}else Pe=h+N|0,t[D+4>>2]=Pe|3,Pe=D+Pe+4|0,t[Pe>>2]=t[Pe>>2]|1;while(0);return Pe=D+8|0,m=Zt,Pe|0}else I=N}else I=N;else I=-1;while(0);if(r=t[2785]|0,r>>>0>=I>>>0)return n=r-I|0,e=t[2788]|0,n>>>0>15?(Pe=e+I|0,t[2788]=Pe,t[2785]=n,t[Pe+4>>2]=n|1,t[Pe+n>>2]=n,t[e+4>>2]=I|3):(t[2785]=0,t[2788]=0,t[e+4>>2]=r|3,Pe=e+r+4|0,t[Pe>>2]=t[Pe>>2]|1),Pe=e+8|0,m=Zt,Pe|0;if(h=t[2786]|0,h>>>0>I>>>0)return ft=h-I|0,t[2786]=ft,Pe=t[2789]|0,Me=Pe+I|0,t[2789]=Me,t[Me+4>>2]=ft|1,t[Pe+4>>2]=I|3,Pe=Pe+8|0,m=Zt,Pe|0;if(t[2901]|0?e=t[2903]|0:(t[2903]=4096,t[2902]=4096,t[2904]=-1,t[2905]=-1,t[2906]=0,t[2894]=0,e=K&-16^1431655768,t[K>>2]=e,t[2901]=e,e=4096),D=I+48|0,S=I+47|0,s=e+S|0,l=0-e|0,N=s&l,N>>>0<=I>>>0||(e=t[2893]|0,e|0?(M=t[2891]|0,K=M+N|0,K>>>0<=M>>>0|K>>>0>e>>>0):0))return Pe=0,m=Zt,Pe|0;e:do if(t[2894]&4)n=0,Me=133;else{r=t[2789]|0;t:do if(r){for(u=11580;e=t[u>>2]|0,!(e>>>0<=r>>>0?(ye=u+4|0,(e+(t[ye>>2]|0)|0)>>>0>r>>>0):0);)if(e=t[u+8>>2]|0,e)u=e;else{Me=118;break t}if(n=s-h&l,n>>>0<2147483647)if(e=t2(n|0)|0,(e|0)==((t[u>>2]|0)+(t[ye>>2]|0)|0)){if((e|0)!=(-1|0)){h=n,s=e,Me=135;break e}}else u=e,Me=126;else n=0}else Me=118;while(0);do if((Me|0)==118)if(r=t2(0)|0,(r|0)!=(-1|0)?(n=r,be=t[2902]|0,Se=be+-1|0,n=((Se&n|0)==0?0:(Se+n&0-be)-n|0)+N|0,be=t[2891]|0,Se=n+be|0,n>>>0>I>>>0&n>>>0<2147483647):0){if(ye=t[2893]|0,ye|0?Se>>>0<=be>>>0|Se>>>0>ye>>>0:0){n=0;break}if(e=t2(n|0)|0,(e|0)==(r|0)){h=n,s=r,Me=135;break e}else u=e,Me=126}else n=0;while(0);do if((Me|0)==126){if(r=0-n|0,!(D>>>0>n>>>0&(n>>>0<2147483647&(u|0)!=(-1|0))))if((u|0)==(-1|0)){n=0;break}else{h=n,s=u,Me=135;break e}if(e=t[2903]|0,e=S-n+e&0-e,e>>>0>=2147483647){h=n,s=u,Me=135;break e}if((t2(e|0)|0)==(-1|0)){t2(r|0)|0,n=0;break}else{h=e+n|0,s=u,Me=135;break e}}while(0);t[2894]=t[2894]|4,Me=133}while(0);if((((Me|0)==133?N>>>0<2147483647:0)?(ft=t2(N|0)|0,ye=t2(0)|0,Je=ye-ft|0,Ge=Je>>>0>(I+40|0)>>>0,!((ft|0)==(-1|0)|Ge^1|ft>>>0<ye>>>0&((ft|0)!=(-1|0)&(ye|0)!=(-1|0))^1)):0)&&(h=Ge?Je:n,s=ft,Me=135),(Me|0)==135){n=(t[2891]|0)+h|0,t[2891]=n,n>>>0>(t[2892]|0)>>>0&&(t[2892]=n),S=t[2789]|0;do if(S){for(n=11580;;){if(e=t[n>>2]|0,r=n+4|0,u=t[r>>2]|0,(s|0)==(e+u|0)){Me=145;break}if(l=t[n+8>>2]|0,l)n=l;else break}if(((Me|0)==145?(t[n+12>>2]&8|0)==0:0)?S>>>0<s>>>0&S>>>0>=e>>>0:0){t[r>>2]=u+h,Pe=S+8|0,Pe=(Pe&7|0)==0?0:0-Pe&7,Me=S+Pe|0,Pe=(t[2786]|0)+(h-Pe)|0,t[2789]=Me,t[2786]=Pe,t[Me+4>>2]=Pe|1,t[Me+Pe+4>>2]=40,t[2790]=t[2905];break}for(s>>>0<(t[2787]|0)>>>0&&(t[2787]=s),r=s+h|0,n=11580;;){if((t[n>>2]|0)==(r|0)){Me=153;break}if(e=t[n+8>>2]|0,e)n=e;else break}if((Me|0)==153?(t[n+12>>2]&8|0)==0:0){t[n>>2]=s,M=n+4|0,t[M>>2]=(t[M>>2]|0)+h,M=s+8|0,M=s+((M&7|0)==0?0:0-M&7)|0,n=r+8|0,n=r+((n&7|0)==0?0:0-n&7)|0,N=M+I|0,D=n-M-I|0,t[M+4>>2]=I|3;do if((n|0)!=(S|0)){if((n|0)==(t[2788]|0)){Pe=(t[2785]|0)+D|0,t[2785]=Pe,t[2788]=N,t[N+4>>2]=Pe|1,t[N+Pe>>2]=Pe;break}if(e=t[n+4>>2]|0,(e&3|0)==1){h=e&-8,u=e>>>3;e:do if(e>>>0<256)if(e=t[n+8>>2]|0,r=t[n+12>>2]|0,(r|0)==(e|0)){t[2783]=t[2783]&~(1<<u);break}else{t[e+12>>2]=r,t[r+8>>2]=e;break}else{s=t[n+24>>2]|0,e=t[n+12>>2]|0;do if((e|0)==(n|0)){if(u=n+16|0,r=u+4|0,e=t[r>>2]|0,!e)if(e=t[u>>2]|0,e)r=u;else{e=0;break}for(;;){if(u=e+20|0,l=t[u>>2]|0,l|0){e=l,r=u;continue}if(u=e+16|0,l=t[u>>2]|0,l)e=l,r=u;else break}t[r>>2]=0}else Pe=t[n+8>>2]|0,t[Pe+12>>2]=e,t[e+8>>2]=Pe;while(0);if(!s)break;r=t[n+28>>2]|0,u=11436+(r<<2)|0;do if((n|0)!=(t[u>>2]|0)){if(t[s+16+(((t[s+16>>2]|0)!=(n|0)&1)<<2)>>2]=e,!e)break e}else{if(t[u>>2]=e,e|0)break;t[2784]=t[2784]&~(1<<r);break e}while(0);if(t[e+24>>2]=s,r=n+16|0,u=t[r>>2]|0,u|0&&(t[e+16>>2]=u,t[u+24>>2]=e),r=t[r+4>>2]|0,!r)break;t[e+20>>2]=r,t[r+24>>2]=e}while(0);n=n+h|0,l=h+D|0}else l=D;if(n=n+4|0,t[n>>2]=t[n>>2]&-2,t[N+4>>2]=l|1,t[N+l>>2]=l,n=l>>>3,l>>>0<256){r=11172+(n<<1<<2)|0,e=t[2783]|0,n=1<<n,e&n?(e=r+8|0,n=t[e>>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=N,t[n+12>>2]=N,t[N+8>>2]=n,t[N+12>>2]=r;break}n=l>>>8;do if(!n)n=0;else{if(l>>>0>16777215){n=31;break}Me=(n+1048320|0)>>>16&8,Pe=n<<Me,ft=(Pe+520192|0)>>>16&4,Pe=Pe<<ft,n=(Pe+245760|0)>>>16&2,n=14-(ft|Me|n)+(Pe<<n>>>15)|0,n=l>>>(n+7|0)&1|n<<1}while(0);if(u=11436+(n<<2)|0,t[N+28>>2]=n,e=N+16|0,t[e+4>>2]=0,t[e>>2]=0,e=t[2784]|0,r=1<<n,!(e&r)){t[2784]=e|r,t[u>>2]=N,t[N+24>>2]=u,t[N+12>>2]=N,t[N+8>>2]=N;break}for(e=l<<((n|0)==31?0:25-(n>>>1)|0),r=t[u>>2]|0;;){if((t[r+4>>2]&-8|0)==(l|0)){Me=194;break}if(u=r+16+(e>>>31<<2)|0,n=t[u>>2]|0,n)e=e<<1,r=n;else{Me=193;break}}if((Me|0)==193){t[u>>2]=N,t[N+24>>2]=r,t[N+12>>2]=N,t[N+8>>2]=N;break}else if((Me|0)==194){Me=r+8|0,Pe=t[Me>>2]|0,t[Pe+12>>2]=N,t[Me>>2]=N,t[N+8>>2]=Pe,t[N+12>>2]=r,t[N+24>>2]=0;break}}else Pe=(t[2786]|0)+D|0,t[2786]=Pe,t[2789]=N,t[N+4>>2]=Pe|1;while(0);return Pe=M+8|0,m=Zt,Pe|0}for(n=11580;e=t[n>>2]|0,!(e>>>0<=S>>>0?(Pe=e+(t[n+4>>2]|0)|0,Pe>>>0>S>>>0):0);)n=t[n+8>>2]|0;l=Pe+-47|0,e=l+8|0,e=l+((e&7|0)==0?0:0-e&7)|0,l=S+16|0,e=e>>>0<l>>>0?S:e,n=e+8|0,r=s+8|0,r=(r&7|0)==0?0:0-r&7,Me=s+r|0,r=h+-40-r|0,t[2789]=Me,t[2786]=r,t[Me+4>>2]=r|1,t[Me+r+4>>2]=40,t[2790]=t[2905],r=e+4|0,t[r>>2]=27,t[n>>2]=t[2895],t[n+4>>2]=t[2896],t[n+8>>2]=t[2897],t[n+12>>2]=t[2898],t[2895]=s,t[2896]=h,t[2898]=0,t[2897]=n,n=e+24|0;do Me=n,n=n+4|0,t[n>>2]=7;while((Me+8|0)>>>0<Pe>>>0);if((e|0)!=(S|0)){if(s=e-S|0,t[r>>2]=t[r>>2]&-2,t[S+4>>2]=s|1,t[e>>2]=s,n=s>>>3,s>>>0<256){r=11172+(n<<1<<2)|0,e=t[2783]|0,n=1<<n,e&n?(e=r+8|0,n=t[e>>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=S,t[n+12>>2]=S,t[S+8>>2]=n,t[S+12>>2]=r;break}if(n=s>>>8,n?s>>>0>16777215?r=31:(Me=(n+1048320|0)>>>16&8,Pe=n<<Me,ft=(Pe+520192|0)>>>16&4,Pe=Pe<<ft,r=(Pe+245760|0)>>>16&2,r=14-(ft|Me|r)+(Pe<<r>>>15)|0,r=s>>>(r+7|0)&1|r<<1):r=0,u=11436+(r<<2)|0,t[S+28>>2]=r,t[S+20>>2]=0,t[l>>2]=0,n=t[2784]|0,e=1<<r,!(n&e)){t[2784]=n|e,t[u>>2]=S,t[S+24>>2]=u,t[S+12>>2]=S,t[S+8>>2]=S;break}for(e=s<<((r|0)==31?0:25-(r>>>1)|0),r=t[u>>2]|0;;){if((t[r+4>>2]&-8|0)==(s|0)){Me=216;break}if(u=r+16+(e>>>31<<2)|0,n=t[u>>2]|0,n)e=e<<1,r=n;else{Me=215;break}}if((Me|0)==215){t[u>>2]=S,t[S+24>>2]=r,t[S+12>>2]=S,t[S+8>>2]=S;break}else if((Me|0)==216){Me=r+8|0,Pe=t[Me>>2]|0,t[Pe+12>>2]=S,t[Me>>2]=S,t[S+8>>2]=Pe,t[S+12>>2]=r,t[S+24>>2]=0;break}}}else{Pe=t[2787]|0,(Pe|0)==0|s>>>0<Pe>>>0&&(t[2787]=s),t[2895]=s,t[2896]=h,t[2898]=0,t[2792]=t[2901],t[2791]=-1,n=0;do Pe=11172+(n<<1<<2)|0,t[Pe+12>>2]=Pe,t[Pe+8>>2]=Pe,n=n+1|0;while((n|0)!=32);Pe=s+8|0,Pe=(Pe&7|0)==0?0:0-Pe&7,Me=s+Pe|0,Pe=h+-40-Pe|0,t[2789]=Me,t[2786]=Pe,t[Me+4>>2]=Pe|1,t[Me+Pe+4>>2]=40,t[2790]=t[2905]}while(0);if(n=t[2786]|0,n>>>0>I>>>0)return ft=n-I|0,t[2786]=ft,Pe=t[2789]|0,Me=Pe+I|0,t[2789]=Me,t[Me+4>>2]=ft|1,t[Pe+4>>2]=I|3,Pe=Pe+8|0,m=Zt,Pe|0}return t[(Fv()|0)>>2]=12,Pe=0,m=Zt,Pe|0}function d_(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0,S=0;if(!!e){r=e+-8|0,l=t[2787]|0,e=t[e+-4>>2]|0,n=e&-8,S=r+n|0;do if(e&1)D=r,h=r;else{if(u=t[r>>2]|0,!(e&3)||(h=r+(0-u)|0,s=u+n|0,h>>>0<l>>>0))return;if((h|0)==(t[2788]|0)){if(e=S+4|0,n=t[e>>2]|0,(n&3|0)!=3){D=h,n=s;break}t[2785]=s,t[e>>2]=n&-2,t[h+4>>2]=s|1,t[h+s>>2]=s;return}if(r=u>>>3,u>>>0<256)if(e=t[h+8>>2]|0,n=t[h+12>>2]|0,(n|0)==(e|0)){t[2783]=t[2783]&~(1<<r),D=h,n=s;break}else{t[e+12>>2]=n,t[n+8>>2]=e,D=h,n=s;break}l=t[h+24>>2]|0,e=t[h+12>>2]|0;do if((e|0)==(h|0)){if(r=h+16|0,n=r+4|0,e=t[n>>2]|0,!e)if(e=t[r>>2]|0,e)n=r;else{e=0;break}for(;;){if(r=e+20|0,u=t[r>>2]|0,u|0){e=u,n=r;continue}if(r=e+16|0,u=t[r>>2]|0,u)e=u,n=r;else break}t[n>>2]=0}else D=t[h+8>>2]|0,t[D+12>>2]=e,t[e+8>>2]=D;while(0);if(l){if(n=t[h+28>>2]|0,r=11436+(n<<2)|0,(h|0)==(t[r>>2]|0)){if(t[r>>2]=e,!e){t[2784]=t[2784]&~(1<<n),D=h,n=s;break}}else if(t[l+16+(((t[l+16>>2]|0)!=(h|0)&1)<<2)>>2]=e,!e){D=h,n=s;break}t[e+24>>2]=l,n=h+16|0,r=t[n>>2]|0,r|0&&(t[e+16>>2]=r,t[r+24>>2]=e),n=t[n+4>>2]|0,n?(t[e+20>>2]=n,t[n+24>>2]=e,D=h,n=s):(D=h,n=s)}else D=h,n=s}while(0);if(!(h>>>0>=S>>>0)&&(e=S+4|0,u=t[e>>2]|0,!!(u&1))){if(u&2)t[e>>2]=u&-2,t[D+4>>2]=n|1,t[h+n>>2]=n,l=n;else{if(e=t[2788]|0,(S|0)==(t[2789]|0)){if(S=(t[2786]|0)+n|0,t[2786]=S,t[2789]=D,t[D+4>>2]=S|1,(D|0)!=(e|0))return;t[2788]=0,t[2785]=0;return}if((S|0)==(e|0)){S=(t[2785]|0)+n|0,t[2785]=S,t[2788]=h,t[D+4>>2]=S|1,t[h+S>>2]=S;return}l=(u&-8)+n|0,r=u>>>3;do if(u>>>0<256)if(n=t[S+8>>2]|0,e=t[S+12>>2]|0,(e|0)==(n|0)){t[2783]=t[2783]&~(1<<r);break}else{t[n+12>>2]=e,t[e+8>>2]=n;break}else{s=t[S+24>>2]|0,e=t[S+12>>2]|0;do if((e|0)==(S|0)){if(r=S+16|0,n=r+4|0,e=t[n>>2]|0,!e)if(e=t[r>>2]|0,e)n=r;else{r=0;break}for(;;){if(r=e+20|0,u=t[r>>2]|0,u|0){e=u,n=r;continue}if(r=e+16|0,u=t[r>>2]|0,u)e=u,n=r;else break}t[n>>2]=0,r=e}else r=t[S+8>>2]|0,t[r+12>>2]=e,t[e+8>>2]=r,r=e;while(0);if(s|0){if(e=t[S+28>>2]|0,n=11436+(e<<2)|0,(S|0)==(t[n>>2]|0)){if(t[n>>2]=r,!r){t[2784]=t[2784]&~(1<<e);break}}else if(t[s+16+(((t[s+16>>2]|0)!=(S|0)&1)<<2)>>2]=r,!r)break;t[r+24>>2]=s,e=S+16|0,n=t[e>>2]|0,n|0&&(t[r+16>>2]=n,t[n+24>>2]=r),e=t[e+4>>2]|0,e|0&&(t[r+20>>2]=e,t[e+24>>2]=r)}}while(0);if(t[D+4>>2]=l|1,t[h+l>>2]=l,(D|0)==(t[2788]|0)){t[2785]=l;return}}if(e=l>>>3,l>>>0<256){r=11172+(e<<1<<2)|0,n=t[2783]|0,e=1<<e,n&e?(n=r+8|0,e=t[n>>2]|0):(t[2783]=n|e,e=r,n=r+8|0),t[n>>2]=D,t[e+12>>2]=D,t[D+8>>2]=e,t[D+12>>2]=r;return}e=l>>>8,e?l>>>0>16777215?e=31:(h=(e+1048320|0)>>>16&8,S=e<<h,s=(S+520192|0)>>>16&4,S=S<<s,e=(S+245760|0)>>>16&2,e=14-(s|h|e)+(S<<e>>>15)|0,e=l>>>(e+7|0)&1|e<<1):e=0,u=11436+(e<<2)|0,t[D+28>>2]=e,t[D+20>>2]=0,t[D+16>>2]=0,n=t[2784]|0,r=1<<e;do if(n&r){for(n=l<<((e|0)==31?0:25-(e>>>1)|0),r=t[u>>2]|0;;){if((t[r+4>>2]&-8|0)==(l|0)){e=73;break}if(u=r+16+(n>>>31<<2)|0,e=t[u>>2]|0,e)n=n<<1,r=e;else{e=72;break}}if((e|0)==72){t[u>>2]=D,t[D+24>>2]=r,t[D+12>>2]=D,t[D+8>>2]=D;break}else if((e|0)==73){h=r+8|0,S=t[h>>2]|0,t[S+12>>2]=D,t[h>>2]=D,t[D+8>>2]=S,t[D+12>>2]=r,t[D+24>>2]=0;break}}else t[2784]=n|r,t[u>>2]=D,t[D+24>>2]=u,t[D+12>>2]=D,t[D+8>>2]=D;while(0);if(S=(t[2791]|0)+-1|0,t[2791]=S,!S)e=11588;else return;for(;e=t[e>>2]|0,e;)e=e+8|0;t[2791]=-1}}}function dL(){return 11628}function pL(e){e=e|0;var n=0,r=0;return n=m,m=m+16|0,r=n,t[r>>2]=mL(t[e+60>>2]|0)|0,e=p_(Ou(6,r|0)|0)|0,m=n,e|0}function n8(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0,be=0;I=m,m=m+48|0,N=I+16|0,s=I,l=I+32|0,D=e+28|0,u=t[D>>2]|0,t[l>>2]=u,S=e+20|0,u=(t[S>>2]|0)-u|0,t[l+4>>2]=u,t[l+8>>2]=n,t[l+12>>2]=r,u=u+r|0,h=e+60|0,t[s>>2]=t[h>>2],t[s+4>>2]=l,t[s+8>>2]=2,s=p_(v0(146,s|0)|0)|0;e:do if((u|0)!=(s|0)){for(n=2;!((s|0)<0);)if(u=u-s|0,be=t[l+4>>2]|0,K=s>>>0>be>>>0,l=K?l+8|0:l,n=(K<<31>>31)+n|0,be=s-(K?be:0)|0,t[l>>2]=(t[l>>2]|0)+be,K=l+4|0,t[K>>2]=(t[K>>2]|0)-be,t[N>>2]=t[h>>2],t[N+4>>2]=l,t[N+8>>2]=n,s=p_(v0(146,N|0)|0)|0,(u|0)==(s|0)){M=3;break e}t[e+16>>2]=0,t[D>>2]=0,t[S>>2]=0,t[e>>2]=t[e>>2]|32,(n|0)==2?r=0:r=r-(t[l+4>>2]|0)|0}else M=3;while(0);return(M|0)==3&&(be=t[e+44>>2]|0,t[e+16>>2]=be+(t[e+48>>2]|0),t[D>>2]=be,t[S>>2]=be),m=I,r|0}function hL(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;return l=m,m=m+32|0,s=l,u=l+20|0,t[s>>2]=t[e+60>>2],t[s+4>>2]=0,t[s+8>>2]=n,t[s+12>>2]=u,t[s+16>>2]=r,(p_(Ni(140,s|0)|0)|0)<0?(t[u>>2]=-1,e=-1):e=t[u>>2]|0,m=l,e|0}function p_(e){return e=e|0,e>>>0>4294963200&&(t[(Fv()|0)>>2]=0-e,e=-1),e|0}function Fv(){return(vL()|0)+64|0}function vL(){return RE()|0}function RE(){return 2084}function mL(e){return e=e|0,e|0}function yL(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;return l=m,m=m+32|0,u=l,t[e+36>>2]=1,((t[e>>2]&64|0)==0?(t[u>>2]=t[e+60>>2],t[u+4>>2]=21523,t[u+8>>2]=l+16,I0(54,u|0)|0):0)&&(p[e+75>>0]=-1),u=n8(e,n,r)|0,m=l,u|0}function r8(e,n){e=e|0,n=n|0;var r=0,u=0;if(r=p[e>>0]|0,u=p[n>>0]|0,r<<24>>24==0?1:r<<24>>24!=u<<24>>24)e=u;else{do e=e+1|0,n=n+1|0,r=p[e>>0]|0,u=p[n>>0]|0;while(!(r<<24>>24==0?1:r<<24>>24!=u<<24>>24));e=u}return(r&255)-(e&255)|0}function gL(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;e:do if(!r)e=0;else{for(;u=p[e>>0]|0,l=p[n>>0]|0,u<<24>>24==l<<24>>24;)if(r=r+-1|0,r)e=e+1|0,n=n+1|0;else{e=0;break e}e=(u&255)-(l&255)|0}while(0);return e|0}function i8(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0,be=0,Se=0,ye=0;ye=m,m=m+224|0,M=ye+120|0,I=ye+80|0,be=ye,Se=ye+136|0,u=I,l=u+40|0;do t[u>>2]=0,u=u+4|0;while((u|0)<(l|0));return t[M>>2]=t[r>>2],(AE(0,n,M,be,I)|0)<0?r=-1:((t[e+76>>2]|0)>-1?K=_L(e)|0:K=0,r=t[e>>2]|0,N=r&32,(p[e+74>>0]|0)<1&&(t[e>>2]=r&-33),u=e+48|0,t[u>>2]|0?r=AE(e,n,M,be,I)|0:(l=e+44|0,s=t[l>>2]|0,t[l>>2]=Se,h=e+28|0,t[h>>2]=Se,D=e+20|0,t[D>>2]=Se,t[u>>2]=80,S=e+16|0,t[S>>2]=Se+80,r=AE(e,n,M,be,I)|0,s&&(y_[t[e+36>>2]&7](e,0,0)|0,r=(t[D>>2]|0)==0?-1:r,t[l>>2]=s,t[u>>2]=0,t[S>>2]=0,t[h>>2]=0,t[D>>2]=0)),u=t[e>>2]|0,t[e>>2]=u|N,K|0&&EL(e),r=(u&32|0)==0?r:-1),m=ye,r|0}function AE(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0,be=0,Se=0,ye=0,Je=0,Ge=0,ft=0,Me=0,Pe=0,Zt=0,Br=0,In=0,gn=0,_r=0,Pr=0,Nn=0;Nn=m,m=m+64|0,In=Nn+16|0,gn=Nn,Zt=Nn+24|0,_r=Nn+8|0,Pr=Nn+20|0,t[In>>2]=n,ft=(e|0)!=0,Me=Zt+40|0,Pe=Me,Zt=Zt+39|0,Br=_r+4|0,h=0,s=0,M=0;e:for(;;){do if((s|0)>-1)if((h|0)>(2147483647-s|0)){t[(Fv()|0)>>2]=75,s=-1;break}else{s=h+s|0;break}while(0);if(h=p[n>>0]|0,h<<24>>24)D=n;else{Ge=87;break}t:for(;;){switch(h<<24>>24){case 37:{h=D,Ge=9;break t}case 0:{h=D;break t}default:}Je=D+1|0,t[In>>2]=Je,h=p[Je>>0]|0,D=Je}t:do if((Ge|0)==9)for(;;){if(Ge=0,(p[D+1>>0]|0)!=37)break t;if(h=h+1|0,D=D+2|0,t[In>>2]=D,(p[D>>0]|0)==37)Ge=9;else break}while(0);if(h=h-n|0,ft&&Go(e,n,h),h|0){n=D;continue}S=D+1|0,h=(p[S>>0]|0)+-48|0,h>>>0<10?(Je=(p[D+2>>0]|0)==36,ye=Je?h:-1,M=Je?1:M,S=Je?D+3|0:S):ye=-1,t[In>>2]=S,h=p[S>>0]|0,D=(h<<24>>24)+-32|0;t:do if(D>>>0<32)for(N=0,I=h;;){if(h=1<<D,!(h&75913)){h=I;break t}if(N=h|N,S=S+1|0,t[In>>2]=S,h=p[S>>0]|0,D=(h<<24>>24)+-32|0,D>>>0>=32)break;I=h}else N=0;while(0);if(h<<24>>24==42){if(D=S+1|0,h=(p[D>>0]|0)+-48|0,h>>>0<10?(p[S+2>>0]|0)==36:0)t[l+(h<<2)>>2]=10,h=t[u+((p[D>>0]|0)+-48<<3)>>2]|0,M=1,S=S+3|0;else{if(M|0){s=-1;break}ft?(M=(t[r>>2]|0)+(4-1)&~(4-1),h=t[M>>2]|0,t[r>>2]=M+4,M=0,S=D):(h=0,M=0,S=D)}t[In>>2]=S,Je=(h|0)<0,h=Je?0-h|0:h,N=Je?N|8192:N}else{if(h=u8(In)|0,(h|0)<0){s=-1;break}S=t[In>>2]|0}do if((p[S>>0]|0)==46){if((p[S+1>>0]|0)!=42){t[In>>2]=S+1,D=u8(In)|0,S=t[In>>2]|0;break}if(I=S+2|0,D=(p[I>>0]|0)+-48|0,D>>>0<10?(p[S+3>>0]|0)==36:0){t[l+(D<<2)>>2]=10,D=t[u+((p[I>>0]|0)+-48<<3)>>2]|0,S=S+4|0,t[In>>2]=S;break}if(M|0){s=-1;break e}ft?(Je=(t[r>>2]|0)+(4-1)&~(4-1),D=t[Je>>2]|0,t[r>>2]=Je+4):D=0,t[In>>2]=I,S=I}else D=-1;while(0);for(Se=0;;){if(((p[S>>0]|0)+-65|0)>>>0>57){s=-1;break e}if(Je=S+1|0,t[In>>2]=Je,I=p[(p[S>>0]|0)+-65+(5178+(Se*58|0))>>0]|0,K=I&255,(K+-1|0)>>>0<8)Se=K,S=Je;else break}if(!(I<<24>>24)){s=-1;break}be=(ye|0)>-1;do if(I<<24>>24==19)if(be){s=-1;break e}else Ge=49;else{if(be){t[l+(ye<<2)>>2]=K,be=u+(ye<<3)|0,ye=t[be+4>>2]|0,Ge=gn,t[Ge>>2]=t[be>>2],t[Ge+4>>2]=ye,Ge=49;break}if(!ft){s=0;break e}o8(gn,K,r)}while(0);if((Ge|0)==49?(Ge=0,!ft):0){h=0,n=Je;continue}S=p[S>>0]|0,S=(Se|0)!=0&(S&15|0)==3?S&-33:S,be=N&-65537,ye=(N&8192|0)==0?N:be;t:do switch(S|0){case 110:switch((Se&255)<<24>>24){case 0:{t[t[gn>>2]>>2]=s,h=0,n=Je;continue e}case 1:{t[t[gn>>2]>>2]=s,h=0,n=Je;continue e}case 2:{h=t[gn>>2]|0,t[h>>2]=s,t[h+4>>2]=((s|0)<0)<<31>>31,h=0,n=Je;continue e}case 3:{_[t[gn>>2]>>1]=s,h=0,n=Je;continue e}case 4:{p[t[gn>>2]>>0]=s,h=0,n=Je;continue e}case 6:{t[t[gn>>2]>>2]=s,h=0,n=Je;continue e}case 7:{h=t[gn>>2]|0,t[h>>2]=s,t[h+4>>2]=((s|0)<0)<<31>>31,h=0,n=Je;continue e}default:{h=0,n=Je;continue e}}case 112:{S=120,D=D>>>0>8?D:8,n=ye|8,Ge=61;break}case 88:case 120:{n=ye,Ge=61;break}case 111:{S=gn,n=t[S>>2]|0,S=t[S+4>>2]|0,K=wL(n,S,Me)|0,be=Pe-K|0,N=0,I=5642,D=(ye&8|0)==0|(D|0)>(be|0)?D:be+1|0,be=ye,Ge=67;break}case 105:case 100:if(S=gn,n=t[S>>2]|0,S=t[S+4>>2]|0,(S|0)<0){n=h_(0,0,n|0,S|0)|0,S=ut,N=gn,t[N>>2]=n,t[N+4>>2]=S,N=1,I=5642,Ge=66;break t}else{N=(ye&2049|0)!=0&1,I=(ye&2048|0)==0?(ye&1|0)==0?5642:5644:5643,Ge=66;break t}case 117:{S=gn,N=0,I=5642,n=t[S>>2]|0,S=t[S+4>>2]|0,Ge=66;break}case 99:{p[Zt>>0]=t[gn>>2],n=Zt,N=0,I=5642,K=Me,S=1,D=be;break}case 109:{S=SL(t[(Fv()|0)>>2]|0)|0,Ge=71;break}case 115:{S=t[gn>>2]|0,S=S|0?S:5652,Ge=71;break}case 67:{t[_r>>2]=t[gn>>2],t[Br>>2]=0,t[gn>>2]=_r,K=-1,S=_r,Ge=75;break}case 83:{n=t[gn>>2]|0,D?(K=D,S=n,Ge=75):(gl(e,32,h,0,ye),n=0,Ge=84);break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{h=CL(e,+U[gn>>3],h,D,ye,S)|0,n=Je;continue e}default:N=0,I=5642,K=Me,S=D,D=ye}while(0);t:do if((Ge|0)==61)ye=gn,Se=t[ye>>2]|0,ye=t[ye+4>>2]|0,K=DL(Se,ye,Me,S&32)|0,I=(n&8|0)==0|(Se|0)==0&(ye|0)==0,N=I?0:2,I=I?5642:5642+(S>>4)|0,be=n,n=Se,S=ye,Ge=67;else if((Ge|0)==66)K=Pv(n,S,Me)|0,be=ye,Ge=67;else if((Ge|0)==71)Ge=0,ye=TL(S,0,D)|0,Se=(ye|0)==0,n=S,N=0,I=5642,K=Se?S+D|0:ye,S=Se?D:ye-S|0,D=be;else if((Ge|0)==75){for(Ge=0,I=S,n=0,D=0;N=t[I>>2]|0,!(!N||(D=l8(Pr,N)|0,(D|0)<0|D>>>0>(K-n|0)>>>0));)if(n=D+n|0,K>>>0>n>>>0)I=I+4|0;else break;if((D|0)<0){s=-1;break e}if(gl(e,32,h,n,ye),!n)n=0,Ge=84;else for(N=0;;){if(D=t[S>>2]|0,!D){Ge=84;break t}if(D=l8(Pr,D)|0,N=D+N|0,(N|0)>(n|0)){Ge=84;break t}if(Go(e,Pr,D),N>>>0>=n>>>0){Ge=84;break}else S=S+4|0}}while(0);if((Ge|0)==67)Ge=0,S=(n|0)!=0|(S|0)!=0,ye=(D|0)!=0|S,S=((S^1)&1)+(Pe-K)|0,n=ye?K:Me,K=Me,S=ye?(D|0)>(S|0)?D:S:D,D=(D|0)>-1?be&-65537:be;else if((Ge|0)==84){Ge=0,gl(e,32,h,n,ye^8192),h=(h|0)>(n|0)?h:n,n=Je;continue}Se=K-n|0,be=(S|0)<(Se|0)?Se:S,ye=be+N|0,h=(h|0)<(ye|0)?ye:h,gl(e,32,h,ye,D),Go(e,I,N),gl(e,48,h,ye,D^65536),gl(e,48,be,Se,0),Go(e,n,Se),gl(e,32,h,ye,D^8192),n=Je}e:do if((Ge|0)==87&&!e)if(!M)s=0;else{for(s=1;n=t[l+(s<<2)>>2]|0,!!n;)if(o8(u+(s<<3)|0,n,r),s=s+1|0,(s|0)>=10){s=1;break e}for(;;){if(t[l+(s<<2)>>2]|0){s=-1;break e}if(s=s+1|0,(s|0)>=10){s=1;break}}}while(0);return m=Nn,s|0}function _L(e){return e=e|0,0}function EL(e){e=e|0}function Go(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]&32||FL(n,r,e)|0}function u8(e){e=e|0;var n=0,r=0,u=0;if(r=t[e>>2]|0,u=(p[r>>0]|0)+-48|0,u>>>0<10){n=0;do n=u+(n*10|0)|0,r=r+1|0,t[e>>2]=r,u=(p[r>>0]|0)+-48|0;while(u>>>0<10)}else n=0;return n|0}function o8(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;e:do if(n>>>0<=20)do switch(n|0){case 9:{u=(t[r>>2]|0)+(4-1)&~(4-1),n=t[u>>2]|0,t[r>>2]=u+4,t[e>>2]=n;break e}case 10:{u=(t[r>>2]|0)+(4-1)&~(4-1),n=t[u>>2]|0,t[r>>2]=u+4,u=e,t[u>>2]=n,t[u+4>>2]=((n|0)<0)<<31>>31;break e}case 11:{u=(t[r>>2]|0)+(4-1)&~(4-1),n=t[u>>2]|0,t[r>>2]=u+4,u=e,t[u>>2]=n,t[u+4>>2]=0;break e}case 12:{u=(t[r>>2]|0)+(8-1)&~(8-1),n=u,l=t[n>>2]|0,n=t[n+4>>2]|0,t[r>>2]=u+8,u=e,t[u>>2]=l,t[u+4>>2]=n;break e}case 13:{l=(t[r>>2]|0)+(4-1)&~(4-1),u=t[l>>2]|0,t[r>>2]=l+4,u=(u&65535)<<16>>16,l=e,t[l>>2]=u,t[l+4>>2]=((u|0)<0)<<31>>31;break e}case 14:{l=(t[r>>2]|0)+(4-1)&~(4-1),u=t[l>>2]|0,t[r>>2]=l+4,l=e,t[l>>2]=u&65535,t[l+4>>2]=0;break e}case 15:{l=(t[r>>2]|0)+(4-1)&~(4-1),u=t[l>>2]|0,t[r>>2]=l+4,u=(u&255)<<24>>24,l=e,t[l>>2]=u,t[l+4>>2]=((u|0)<0)<<31>>31;break e}case 16:{l=(t[r>>2]|0)+(4-1)&~(4-1),u=t[l>>2]|0,t[r>>2]=l+4,l=e,t[l>>2]=u&255,t[l+4>>2]=0;break e}case 17:{l=(t[r>>2]|0)+(8-1)&~(8-1),s=+U[l>>3],t[r>>2]=l+8,U[e>>3]=s;break e}case 18:{l=(t[r>>2]|0)+(8-1)&~(8-1),s=+U[l>>3],t[r>>2]=l+8,U[e>>3]=s;break e}default:break e}while(0);while(0)}function DL(e,n,r,u){if(e=e|0,n=n|0,r=r|0,u=u|0,!((e|0)==0&(n|0)==0))do r=r+-1|0,p[r>>0]=k[5694+(e&15)>>0]|0|u,e=v_(e|0,n|0,4)|0,n=ut;while(!((e|0)==0&(n|0)==0));return r|0}function wL(e,n,r){if(e=e|0,n=n|0,r=r|0,!((e|0)==0&(n|0)==0))do r=r+-1|0,p[r>>0]=e&7|48,e=v_(e|0,n|0,3)|0,n=ut;while(!((e|0)==0&(n|0)==0));return r|0}function Pv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;if(n>>>0>0|(n|0)==0&e>>>0>4294967295){for(;u=NE(e|0,n|0,10,0)|0,r=r+-1|0,p[r>>0]=u&255|48,u=e,e=kE(e|0,n|0,10,0)|0,n>>>0>9|(n|0)==9&u>>>0>4294967295;)n=ut;n=e}else n=e;if(n)for(;r=r+-1|0,p[r>>0]=(n>>>0)%10|0|48,!(n>>>0<10);)n=(n>>>0)/10|0;return r|0}function SL(e){return e=e|0,ML(e,t[(OL()|0)+188>>2]|0)|0}function TL(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;s=n&255,u=(r|0)!=0;e:do if(u&(e&3|0)!=0)for(l=n&255;;){if((p[e>>0]|0)==l<<24>>24){h=6;break e}if(e=e+1|0,r=r+-1|0,u=(r|0)!=0,!(u&(e&3|0)!=0)){h=5;break}}else h=5;while(0);(h|0)==5&&(u?h=6:r=0);e:do if((h|0)==6&&(l=n&255,(p[e>>0]|0)!=l<<24>>24)){u=lr(s,16843009)|0;t:do if(r>>>0>3){for(;s=t[e>>2]^u,!((s&-2139062144^-2139062144)&s+-16843009|0);)if(e=e+4|0,r=r+-4|0,r>>>0<=3){h=11;break t}}else h=11;while(0);if((h|0)==11&&!r){r=0;break}for(;;){if((p[e>>0]|0)==l<<24>>24)break e;if(e=e+1|0,r=r+-1|0,!r){r=0;break}}}while(0);return(r|0?e:0)|0}function gl(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0;if(h=m,m=m+256|0,s=h,(r|0)>(u|0)&(l&73728|0)==0){if(l=r-u|0,bv(s|0,n|0,(l>>>0<256?l:256)|0)|0,l>>>0>255){n=r-u|0;do Go(e,s,256),l=l+-256|0;while(l>>>0>255);l=n&255}Go(e,s,l)}m=h}function l8(e,n){return e=e|0,n=n|0,e?e=RL(e,n,0)|0:e=0,e|0}function CL(e,n,r,u,l,s){e=e|0,n=+n,r=r|0,u=u|0,l=l|0,s=s|0;var h=0,D=0,S=0,N=0,M=0,I=0,K=0,be=0,Se=0,ye=0,Je=0,Ge=0,ft=0,Me=0,Pe=0,Zt=0,Br=0,In=0,gn=0,_r=0,Pr=0,Nn=0,uu=0;uu=m,m=m+560|0,S=uu+8|0,Je=uu,Nn=uu+524|0,Pr=Nn,N=uu+512|0,t[Je>>2]=0,_r=N+12|0,s8(n)|0,(ut|0)<0?(n=-n,In=1,Br=5659):(In=(l&2049|0)!=0&1,Br=(l&2048|0)==0?(l&1|0)==0?5660:5665:5662),s8(n)|0,gn=ut&2146435072;do if(gn>>>0<2146435072|(gn|0)==2146435072&0<0){if(be=+xL(n,Je)*2,h=be!=0,h&&(t[Je>>2]=(t[Je>>2]|0)+-1),ft=s|32,(ft|0)==97){Se=s&32,K=(Se|0)==0?Br:Br+9|0,I=In|2,h=12-u|0;do if(u>>>0>11|(h|0)==0)n=be;else{n=8;do h=h+-1|0,n=n*16;while((h|0)!=0);if((p[K>>0]|0)==45){n=-(n+(-be-n));break}else{n=be+n-n;break}}while(0);D=t[Je>>2]|0,h=(D|0)<0?0-D|0:D,h=Pv(h,((h|0)<0)<<31>>31,_r)|0,(h|0)==(_r|0)&&(h=N+11|0,p[h>>0]=48),p[h+-1>>0]=(D>>31&2)+43,M=h+-2|0,p[M>>0]=s+15,N=(u|0)<1,S=(l&8|0)==0,h=Nn;do gn=~~n,D=h+1|0,p[h>>0]=k[5694+gn>>0]|Se,n=(n-+(gn|0))*16,((D-Pr|0)==1?!(S&(N&n==0)):0)?(p[D>>0]=46,h=h+2|0):h=D;while(n!=0);gn=h-Pr|0,Pr=_r-M|0,_r=(u|0)!=0&(gn+-2|0)<(u|0)?u+2|0:gn,h=Pr+I+_r|0,gl(e,32,r,h,l),Go(e,K,I),gl(e,48,r,h,l^65536),Go(e,Nn,gn),gl(e,48,_r-gn|0,0,0),Go(e,M,Pr),gl(e,32,r,h,l^8192);break}D=(u|0)<0?6:u,h?(h=(t[Je>>2]|0)+-28|0,t[Je>>2]=h,n=be*268435456):(n=be,h=t[Je>>2]|0),gn=(h|0)<0?S:S+288|0,S=gn;do Pe=~~n>>>0,t[S>>2]=Pe,S=S+4|0,n=(n-+(Pe>>>0))*1e9;while(n!=0);if((h|0)>0)for(N=gn,I=S;;){if(M=(h|0)<29?h:29,h=I+-4|0,h>>>0>=N>>>0){S=0;do Me=h8(t[h>>2]|0,0,M|0)|0,Me=ME(Me|0,ut|0,S|0,0)|0,Pe=ut,Ge=NE(Me|0,Pe|0,1e9,0)|0,t[h>>2]=Ge,S=kE(Me|0,Pe|0,1e9,0)|0,h=h+-4|0;while(h>>>0>=N>>>0);S&&(N=N+-4|0,t[N>>2]=S)}for(S=I;!(S>>>0<=N>>>0);)if(h=S+-4|0,!(t[h>>2]|0))S=h;else break;if(h=(t[Je>>2]|0)-M|0,t[Je>>2]=h,(h|0)>0)I=S;else break}else N=gn;if((h|0)<0){u=((D+25|0)/9|0)+1|0,ye=(ft|0)==102;do{if(Se=0-h|0,Se=(Se|0)<9?Se:9,N>>>0<S>>>0){M=(1<<Se)+-1|0,I=1e9>>>Se,K=0,h=N;do Pe=t[h>>2]|0,t[h>>2]=(Pe>>>Se)+K,K=lr(Pe&M,I)|0,h=h+4|0;while(h>>>0<S>>>0);h=(t[N>>2]|0)==0?N+4|0:N,K?(t[S>>2]=K,N=h,h=S+4|0):(N=h,h=S)}else N=(t[N>>2]|0)==0?N+4|0:N,h=S;S=ye?gn:N,S=(h-S>>2|0)>(u|0)?S+(u<<2)|0:h,h=(t[Je>>2]|0)+Se|0,t[Je>>2]=h}while((h|0)<0);h=N,u=S}else h=N,u=S;if(Pe=gn,h>>>0<u>>>0){if(S=(Pe-h>>2)*9|0,M=t[h>>2]|0,M>>>0>=10){N=10;do N=N*10|0,S=S+1|0;while(M>>>0>=N>>>0)}}else S=0;if(ye=(ft|0)==103,Ge=(D|0)!=0,N=D-((ft|0)!=102?S:0)+((Ge&ye)<<31>>31)|0,(N|0)<(((u-Pe>>2)*9|0)+-9|0)){if(N=N+9216|0,Se=gn+4+(((N|0)/9|0)+-1024<<2)|0,N=((N|0)%9|0)+1|0,(N|0)<9){M=10;do M=M*10|0,N=N+1|0;while((N|0)!=9)}else M=10;if(I=t[Se>>2]|0,K=(I>>>0)%(M>>>0)|0,N=(Se+4|0)==(u|0),N&(K|0)==0)N=Se;else if(be=(((I>>>0)/(M>>>0)|0)&1|0)==0?9007199254740992:9007199254740994,Me=(M|0)/2|0,n=K>>>0<Me>>>0?.5:N&(K|0)==(Me|0)?1:1.5,In&&(Me=(p[Br>>0]|0)==45,n=Me?-n:n,be=Me?-be:be),N=I-K|0,t[Se>>2]=N,be+n!=be){if(Me=N+M|0,t[Se>>2]=Me,Me>>>0>999999999)for(S=Se;N=S+-4|0,t[S>>2]=0,N>>>0<h>>>0&&(h=h+-4|0,t[h>>2]=0),Me=(t[N>>2]|0)+1|0,t[N>>2]=Me,Me>>>0>999999999;)S=N;else N=Se;if(S=(Pe-h>>2)*9|0,I=t[h>>2]|0,I>>>0>=10){M=10;do M=M*10|0,S=S+1|0;while(I>>>0>=M>>>0)}}else N=Se;N=N+4|0,N=u>>>0>N>>>0?N:u,Me=h}else N=u,Me=h;for(ft=N;;){if(ft>>>0<=Me>>>0){Je=0;break}if(h=ft+-4|0,!(t[h>>2]|0))ft=h;else{Je=1;break}}u=0-S|0;do if(ye)if(h=((Ge^1)&1)+D|0,(h|0)>(S|0)&(S|0)>-5?(M=s+-1|0,D=h+-1-S|0):(M=s+-2|0,D=h+-1|0),h=l&8,h)Se=h;else{if(Je?(Zt=t[ft+-4>>2]|0,(Zt|0)!=0):0)if((Zt>>>0)%10|0)N=0;else{N=0,h=10;do h=h*10|0,N=N+1|0;while(!((Zt>>>0)%(h>>>0)|0|0))}else N=9;if(h=((ft-Pe>>2)*9|0)+-9|0,(M|32|0)==102){Se=h-N|0,Se=(Se|0)>0?Se:0,D=(D|0)<(Se|0)?D:Se,Se=0;break}else{Se=h+S-N|0,Se=(Se|0)>0?Se:0,D=(D|0)<(Se|0)?D:Se,Se=0;break}}else M=s,Se=l&8;while(0);if(ye=D|Se,I=(ye|0)!=0&1,K=(M|32|0)==102,K)Ge=0,h=(S|0)>0?S:0;else{if(h=(S|0)<0?u:S,h=Pv(h,((h|0)<0)<<31>>31,_r)|0,N=_r,(N-h|0)<2)do h=h+-1|0,p[h>>0]=48;while((N-h|0)<2);p[h+-1>>0]=(S>>31&2)+43,h=h+-2|0,p[h>>0]=M,Ge=h,h=N-h|0}if(h=In+1+D+I+h|0,gl(e,32,r,h,l),Go(e,Br,In),gl(e,48,r,h,l^65536),K){M=Me>>>0>gn>>>0?gn:Me,Se=Nn+9|0,I=Se,K=Nn+8|0,N=M;do{if(S=Pv(t[N>>2]|0,0,Se)|0,(N|0)==(M|0))(S|0)==(Se|0)&&(p[K>>0]=48,S=K);else if(S>>>0>Nn>>>0){bv(Nn|0,48,S-Pr|0)|0;do S=S+-1|0;while(S>>>0>Nn>>>0)}Go(e,S,I-S|0),N=N+4|0}while(N>>>0<=gn>>>0);if(ye|0&&Go(e,5710,1),N>>>0<ft>>>0&(D|0)>0)for(;;){if(S=Pv(t[N>>2]|0,0,Se)|0,S>>>0>Nn>>>0){bv(Nn|0,48,S-Pr|0)|0;do S=S+-1|0;while(S>>>0>Nn>>>0)}if(Go(e,S,(D|0)<9?D:9),N=N+4|0,S=D+-9|0,N>>>0<ft>>>0&(D|0)>9)D=S;else{D=S;break}}gl(e,48,D+9|0,9,0)}else{if(ye=Je?ft:Me+4|0,(D|0)>-1){Je=Nn+9|0,Se=(Se|0)==0,u=Je,I=0-Pr|0,K=Nn+8|0,M=Me;do{S=Pv(t[M>>2]|0,0,Je)|0,(S|0)==(Je|0)&&(p[K>>0]=48,S=K);do if((M|0)==(Me|0)){if(N=S+1|0,Go(e,S,1),Se&(D|0)<1){S=N;break}Go(e,5710,1),S=N}else{if(S>>>0<=Nn>>>0)break;bv(Nn|0,48,S+I|0)|0;do S=S+-1|0;while(S>>>0>Nn>>>0)}while(0);Pr=u-S|0,Go(e,S,(D|0)>(Pr|0)?Pr:D),D=D-Pr|0,M=M+4|0}while(M>>>0<ye>>>0&(D|0)>-1)}gl(e,48,D+18|0,18,0),Go(e,Ge,_r-Ge|0)}gl(e,32,r,h,l^8192)}else Nn=(s&32|0)!=0,h=In+3|0,gl(e,32,r,h,l&-65537),Go(e,Br,In),Go(e,n!=n|!1?Nn?5686:5690:Nn?5678:5682,3),gl(e,32,r,h,l^8192);while(0);return m=uu,((h|0)<(r|0)?r:h)|0}function s8(e){e=+e;var n=0;return U[W>>3]=e,n=t[W>>2]|0,ut=t[W+4>>2]|0,n|0}function xL(e,n){return e=+e,n=n|0,+ +a8(e,n)}function a8(e,n){e=+e,n=n|0;var r=0,u=0,l=0;switch(U[W>>3]=e,r=t[W>>2]|0,u=t[W+4>>2]|0,l=v_(r|0,u|0,52)|0,l&2047){case 0:{e!=0?(e=+a8(e*18446744073709552e3,n),r=(t[n>>2]|0)+-64|0):r=0,t[n>>2]=r;break}case 2047:break;default:t[n>>2]=(l&2047)+-1022,t[W>>2]=r,t[W+4>>2]=u&-2146435073|1071644672,e=+U[W>>3]}return+e}function RL(e,n,r){e=e|0,n=n|0,r=r|0;do if(e){if(n>>>0<128){p[e>>0]=n,e=1;break}if(!(t[t[(AL()|0)+188>>2]>>2]|0))if((n&-128|0)==57216){p[e>>0]=n,e=1;break}else{t[(Fv()|0)>>2]=84,e=-1;break}if(n>>>0<2048){p[e>>0]=n>>>6|192,p[e+1>>0]=n&63|128,e=2;break}if(n>>>0<55296|(n&-8192|0)==57344){p[e>>0]=n>>>12|224,p[e+1>>0]=n>>>6&63|128,p[e+2>>0]=n&63|128,e=3;break}if((n+-65536|0)>>>0<1048576){p[e>>0]=n>>>18|240,p[e+1>>0]=n>>>12&63|128,p[e+2>>0]=n>>>6&63|128,p[e+3>>0]=n&63|128,e=4;break}else{t[(Fv()|0)>>2]=84,e=-1;break}}else e=1;while(0);return e|0}function AL(){return RE()|0}function OL(){return RE()|0}function ML(e,n){e=e|0,n=n|0;var r=0,u=0;for(u=0;;){if((k[5712+u>>0]|0)==(e|0)){e=2;break}if(r=u+1|0,(r|0)==87){r=5800,u=87,e=5;break}else u=r}if((e|0)==2&&(u?(r=5800,e=5):r=5800),(e|0)==5)for(;;){do e=r,r=r+1|0;while((p[e>>0]|0)!=0);if(u=u+-1|0,u)e=5;else break}return kL(r,t[n+20>>2]|0)|0}function kL(e,n){return e=e|0,n=n|0,NL(e,n)|0}function NL(e,n){return e=e|0,n=n|0,n?n=LL(t[n>>2]|0,t[n+4>>2]|0,e)|0:n=0,(n|0?n:e)|0}function LL(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;K=(t[e>>2]|0)+1794895138|0,s=Kp(t[e+8>>2]|0,K)|0,u=Kp(t[e+12>>2]|0,K)|0,l=Kp(t[e+16>>2]|0,K)|0;e:do if((s>>>0<n>>>2>>>0?(I=n-(s<<2)|0,u>>>0<I>>>0&l>>>0<I>>>0):0)?((l|u)&3|0)==0:0){for(I=u>>>2,M=l>>>2,N=0;;){if(D=s>>>1,S=N+D|0,h=S<<1,l=h+I|0,u=Kp(t[e+(l<<2)>>2]|0,K)|0,l=Kp(t[e+(l+1<<2)>>2]|0,K)|0,!(l>>>0<n>>>0&u>>>0<(n-l|0)>>>0)){u=0;break e}if(p[e+(l+u)>>0]|0){u=0;break e}if(u=r8(r,e+l|0)|0,!u)break;if(u=(u|0)<0,(s|0)==1){u=0;break e}else N=u?N:S,s=u?D:s-D|0}u=h+M|0,l=Kp(t[e+(u<<2)>>2]|0,K)|0,u=Kp(t[e+(u+1<<2)>>2]|0,K)|0,u>>>0<n>>>0&l>>>0<(n-u|0)>>>0?u=(p[e+(u+l)>>0]|0)==0?e+u|0:0:u=0}else u=0;while(0);return u|0}function Kp(e,n){e=e|0,n=n|0;var r=0;return r=y8(e|0)|0,((n|0)==0?e:r)|0}function FL(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=r+16|0,l=t[u>>2]|0,l?s=5:PL(r)|0?u=0:(l=t[u>>2]|0,s=5);e:do if((s|0)==5){if(D=r+20|0,h=t[D>>2]|0,u=h,(l-h|0)>>>0<n>>>0){u=y_[t[r+36>>2]&7](r,e,n)|0;break}t:do if((p[r+75>>0]|0)>-1){for(h=n;;){if(!h){s=0,l=e;break t}if(l=h+-1|0,(p[e+l>>0]|0)==10)break;h=l}if(u=y_[t[r+36>>2]&7](r,e,h)|0,u>>>0<h>>>0)break e;s=h,l=e+h|0,n=n-h|0,u=t[D>>2]|0}else s=0,l=e;while(0);gr(u|0,l|0,n|0)|0,t[D>>2]=(t[D>>2]|0)+n,u=s+n|0}while(0);return u|0}function PL(e){e=e|0;var n=0,r=0;return n=e+74|0,r=p[n>>0]|0,p[n>>0]=r+255|r,n=t[e>>2]|0,n&8?(t[e>>2]=n|32,e=-1):(t[e+8>>2]=0,t[e+4>>2]=0,r=t[e+44>>2]|0,t[e+28>>2]=r,t[e+20>>2]=r,t[e+16>>2]=r+(t[e+48>>2]|0),e=0),e|0}function Ru(e,n){e=w(e),n=w(n);var r=0,u=0;r=f8(e)|0;do if((r&2147483647)>>>0<=2139095040){if(u=f8(n)|0,(u&2147483647)>>>0<=2139095040)if((u^r|0)<0){e=(r|0)<0?n:e;break}else{e=e<n?n:e;break}}else e=n;while(0);return w(e)}function f8(e){return e=w(e),C[W>>2]=e,t[W>>2]|0|0}function Xp(e,n){e=w(e),n=w(n);var r=0,u=0;r=c8(e)|0;do if((r&2147483647)>>>0<=2139095040){if(u=c8(n)|0,(u&2147483647)>>>0<=2139095040)if((u^r|0)<0){e=(r|0)<0?e:n;break}else{e=e<n?e:n;break}}else e=n;while(0);return w(e)}function c8(e){return e=w(e),C[W>>2]=e,t[W>>2]|0|0}function OE(e,n){e=w(e),n=w(n);var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0;s=(C[W>>2]=e,t[W>>2]|0),D=(C[W>>2]=n,t[W>>2]|0),r=s>>>23&255,h=D>>>23&255,S=s&-2147483648,l=D<<1;e:do if((l|0)!=0?!((r|0)==255|((IL(n)|0)&2147483647)>>>0>2139095040):0){if(u=s<<1,u>>>0<=l>>>0)return n=w(e*w(0)),w((u|0)==(l|0)?n:e);if(r)u=s&8388607|8388608;else{if(r=s<<9,(r|0)>-1){u=r,r=0;do r=r+-1|0,u=u<<1;while((u|0)>-1)}else r=0;u=s<<1-r}if(h)D=D&8388607|8388608;else{if(s=D<<9,(s|0)>-1){l=0;do l=l+-1|0,s=s<<1;while((s|0)>-1)}else l=0;h=l,D=D<<1-l}l=u-D|0,s=(l|0)>-1;t:do if((r|0)>(h|0)){for(;;){if(s)if(l)u=l;else break;if(u=u<<1,r=r+-1|0,l=u-D|0,s=(l|0)>-1,(r|0)<=(h|0))break t}n=w(e*w(0));break e}while(0);if(s)if(l)u=l;else{n=w(e*w(0));break}if(u>>>0<8388608)do u=u<<1,r=r+-1|0;while(u>>>0<8388608);(r|0)>0?r=u+-8388608|r<<23:r=u>>>(1-r|0),n=(t[W>>2]=r|S,w(C[W>>2]))}else N=3;while(0);return(N|0)==3&&(n=w(e*n),n=w(n/n)),w(n)}function IL(e){return e=w(e),C[W>>2]=e,t[W>>2]|0|0}function bL(e,n){return e=e|0,n=n|0,i8(t[582]|0,e,n)|0}function hi(e){e=e|0,$n()}function Iv(e){e=e|0}function BL(e,n){return e=e|0,n=n|0,0}function UL(e){return e=e|0,(d8(e+4|0)|0)==-1?(F1[t[(t[e>>2]|0)+8>>2]&127](e),e=1):e=0,e|0}function d8(e){e=e|0;var n=0;return n=t[e>>2]|0,t[e>>2]=n+-1,n+-1|0}function e2(e){e=e|0,UL(e)|0&&jL(e)}function jL(e){e=e|0;var n=0;n=e+8|0,((t[n>>2]|0)!=0?(d8(n)|0)!=-1:0)||F1[t[(t[e>>2]|0)+16>>2]&127](e)}function pn(e){e=e|0;var n=0;for(n=(e|0)==0?1:e;e=c_(n)|0,!(e|0);){if(e=HL()|0,!e){e=0;break}R8[e&0]()}return e|0}function p8(e){return e=e|0,pn(e)|0}function _t(e){e=e|0,d_(e)}function zL(e){e=e|0,(p[e+11>>0]|0)<0&&_t(t[e>>2]|0)}function HL(){var e=0;return e=t[2923]|0,t[2923]=e+0,e|0}function qL(){}function h_(e,n,r,u){return e=e|0,n=n|0,r=r|0,u=u|0,u=n-u-(r>>>0>e>>>0|0)>>>0,ut=u,e-r>>>0|0|0}function ME(e,n,r,u){return e=e|0,n=n|0,r=r|0,u=u|0,r=e+r>>>0,ut=n+u+(r>>>0<e>>>0|0)>>>0,r|0|0}function bv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;if(s=e+r|0,n=n&255,(r|0)>=67){for(;e&3;)p[e>>0]=n,e=e+1|0;for(u=s&-4|0,l=u-64|0,h=n|n<<8|n<<16|n<<24;(e|0)<=(l|0);)t[e>>2]=h,t[e+4>>2]=h,t[e+8>>2]=h,t[e+12>>2]=h,t[e+16>>2]=h,t[e+20>>2]=h,t[e+24>>2]=h,t[e+28>>2]=h,t[e+32>>2]=h,t[e+36>>2]=h,t[e+40>>2]=h,t[e+44>>2]=h,t[e+48>>2]=h,t[e+52>>2]=h,t[e+56>>2]=h,t[e+60>>2]=h,e=e+64|0;for(;(e|0)<(u|0);)t[e>>2]=h,e=e+4|0}for(;(e|0)<(s|0);)p[e>>0]=n,e=e+1|0;return s-r|0}function h8(e,n,r){return e=e|0,n=n|0,r=r|0,(r|0)<32?(ut=n<<r|(e&(1<<r)-1<<32-r)>>>32-r,e<<r):(ut=e<<r-32,0)}function v_(e,n,r){return e=e|0,n=n|0,r=r|0,(r|0)<32?(ut=n>>>r,e>>>r|(n&(1<<r)-1)<<32-r):(ut=0,n>>>r-32|0)}function gr(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;if((r|0)>=8192)return ai(e|0,n|0,r|0)|0;if(s=e|0,l=e+r|0,(e&3)==(n&3)){for(;e&3;){if(!r)return s|0;p[e>>0]=p[n>>0]|0,e=e+1|0,n=n+1|0,r=r-1|0}for(r=l&-4|0,u=r-64|0;(e|0)<=(u|0);)t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=t[n+8>>2],t[e+12>>2]=t[n+12>>2],t[e+16>>2]=t[n+16>>2],t[e+20>>2]=t[n+20>>2],t[e+24>>2]=t[n+24>>2],t[e+28>>2]=t[n+28>>2],t[e+32>>2]=t[n+32>>2],t[e+36>>2]=t[n+36>>2],t[e+40>>2]=t[n+40>>2],t[e+44>>2]=t[n+44>>2],t[e+48>>2]=t[n+48>>2],t[e+52>>2]=t[n+52>>2],t[e+56>>2]=t[n+56>>2],t[e+60>>2]=t[n+60>>2],e=e+64|0,n=n+64|0;for(;(e|0)<(r|0);)t[e>>2]=t[n>>2],e=e+4|0,n=n+4|0}else for(r=l-4|0;(e|0)<(r|0);)p[e>>0]=p[n>>0]|0,p[e+1>>0]=p[n+1>>0]|0,p[e+2>>0]=p[n+2>>0]|0,p[e+3>>0]=p[n+3>>0]|0,e=e+4|0,n=n+4|0;for(;(e|0)<(l|0);)p[e>>0]=p[n>>0]|0,e=e+1|0,n=n+1|0;return s|0}function v8(e){e=e|0;var n=0;return n=p[Ee+(e&255)>>0]|0,(n|0)<8?n|0:(n=p[Ee+(e>>8&255)>>0]|0,(n|0)<8?n+8|0:(n=p[Ee+(e>>16&255)>>0]|0,(n|0)<8?n+16|0:(p[Ee+(e>>>24)>>0]|0)+24|0))}function m8(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0,be=0,Se=0;if(M=e,S=n,N=S,h=r,K=u,D=K,!N)return s=(l|0)!=0,D?s?(t[l>>2]=e|0,t[l+4>>2]=n&0,K=0,l=0,ut=K,l|0):(K=0,l=0,ut=K,l|0):(s&&(t[l>>2]=(M>>>0)%(h>>>0),t[l+4>>2]=0),K=0,l=(M>>>0)/(h>>>0)>>>0,ut=K,l|0);s=(D|0)==0;do if(h){if(!s){if(s=(Er(D|0)|0)-(Er(N|0)|0)|0,s>>>0<=31){I=s+1|0,D=31-s|0,n=s-31>>31,h=I,e=M>>>(I>>>0)&n|N<<D,n=N>>>(I>>>0)&n,s=0,D=M<<D;break}return l?(t[l>>2]=e|0,t[l+4>>2]=S|n&0,K=0,l=0,ut=K,l|0):(K=0,l=0,ut=K,l|0)}if(s=h-1|0,s&h|0){D=(Er(h|0)|0)+33-(Er(N|0)|0)|0,Se=64-D|0,I=32-D|0,S=I>>31,be=D-32|0,n=be>>31,h=D,e=I-1>>31&N>>>(be>>>0)|(N<<I|M>>>(D>>>0))&n,n=n&N>>>(D>>>0),s=M<<Se&S,D=(N<<Se|M>>>(be>>>0))&S|M<<I&D-33>>31;break}return l|0&&(t[l>>2]=s&M,t[l+4>>2]=0),(h|0)==1?(be=S|n&0,Se=e|0|0,ut=be,Se|0):(Se=v8(h|0)|0,be=N>>>(Se>>>0)|0,Se=N<<32-Se|M>>>(Se>>>0)|0,ut=be,Se|0)}else{if(s)return l|0&&(t[l>>2]=(N>>>0)%(h>>>0),t[l+4>>2]=0),be=0,Se=(N>>>0)/(h>>>0)>>>0,ut=be,Se|0;if(!M)return l|0&&(t[l>>2]=0,t[l+4>>2]=(N>>>0)%(D>>>0)),be=0,Se=(N>>>0)/(D>>>0)>>>0,ut=be,Se|0;if(s=D-1|0,!(s&D))return l|0&&(t[l>>2]=e|0,t[l+4>>2]=s&N|n&0),be=0,Se=N>>>((v8(D|0)|0)>>>0),ut=be,Se|0;if(s=(Er(D|0)|0)-(Er(N|0)|0)|0,s>>>0<=30){n=s+1|0,D=31-s|0,h=n,e=N<<D|M>>>(n>>>0),n=N>>>(n>>>0),s=0,D=M<<D;break}return l?(t[l>>2]=e|0,t[l+4>>2]=S|n&0,be=0,Se=0,ut=be,Se|0):(be=0,Se=0,ut=be,Se|0)}while(0);if(!h)N=D,S=0,D=0;else{I=r|0|0,M=K|u&0,N=ME(I|0,M|0,-1,-1)|0,r=ut,S=D,D=0;do u=S,S=s>>>31|S<<1,s=D|s<<1,u=e<<1|u>>>31|0,K=e>>>31|n<<1|0,h_(N|0,r|0,u|0,K|0)|0,Se=ut,be=Se>>31|((Se|0)<0?-1:0)<<1,D=be&1,e=h_(u|0,K|0,be&I|0,(((Se|0)<0?-1:0)>>31|((Se|0)<0?-1:0)<<1)&M|0)|0,n=ut,h=h-1|0;while((h|0)!=0);N=S,S=0}return h=0,l|0&&(t[l>>2]=e,t[l+4>>2]=n),be=(s|0)>>>31|(N|h)<<1|(h<<1|s>>>31)&0|S,Se=(s<<1|0>>>31)&-2|D,ut=be,Se|0}function kE(e,n,r,u){return e=e|0,n=n|0,r=r|0,u=u|0,m8(e,n,r,u,0)|0}function t2(e){e=e|0;var n=0,r=0;return r=e+15&-16|0,n=t[H>>2]|0,e=n+r|0,(r|0)>0&(e|0)<(n|0)|(e|0)<0?(fr()|0,Ql(12),-1):(t[H>>2]=e,((e|0)>(jr()|0)?(vr()|0)==0:0)?(t[H>>2]=n,Ql(12),-1):n|0)}function Ty(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;if((n|0)<(e|0)&(e|0)<(n+r|0)){for(u=e,n=n+r|0,e=e+r|0;(r|0)>0;)e=e-1|0,n=n-1|0,r=r-1|0,p[e>>0]=p[n>>0]|0;e=u}else gr(e,n,r)|0;return e|0}function NE(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;return s=m,m=m+16|0,l=s|0,m8(e,n,r,u,l)|0,m=s,ut=t[l+4>>2]|0,t[l>>2]|0|0}function y8(e){return e=e|0,(e&255)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>>24|0}function WL(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,g8[e&1](n|0,r|0,u|0,l|0,s|0)}function VL(e,n,r){e=e|0,n=n|0,r=w(r),_8[e&1](n|0,w(r))}function YL(e,n,r){e=e|0,n=n|0,r=+r,E8[e&31](n|0,+r)}function KL(e,n,r,u){return e=e|0,n=n|0,r=w(r),u=w(u),w(D8[e&0](n|0,w(r),w(u)))}function XL(e,n){e=e|0,n=n|0,F1[e&127](n|0)}function QL(e,n,r){e=e|0,n=n|0,r=r|0,P1[e&31](n|0,r|0)}function JL(e,n){return e=e|0,n=n|0,Jp[e&31](n|0)|0}function ZL(e,n,r,u,l){e=e|0,n=n|0,r=+r,u=+u,l=l|0,w8[e&1](n|0,+r,+u,l|0)}function $L(e,n,r,u){e=e|0,n=n|0,r=+r,u=+u,LF[e&1](n|0,+r,+u)}function eF(e,n,r,u){return e=e|0,n=n|0,r=r|0,u=u|0,y_[e&7](n|0,r|0,u|0)|0}function tF(e,n,r,u){return e=e|0,n=n|0,r=r|0,u=u|0,+FF[e&1](n|0,r|0,u|0)}function nF(e,n){return e=e|0,n=n|0,+S8[e&15](n|0)}function rF(e,n,r){return e=e|0,n=n|0,r=+r,PF[e&1](n|0,+r)|0}function iF(e,n,r){return e=e|0,n=n|0,r=r|0,FE[e&15](n|0,r|0)|0}function uF(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=+u,l=+l,s=s|0,IF[e&1](n|0,r|0,+u,+l,s|0)}function oF(e,n,r,u,l,s,h){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,h=h|0,bF[e&1](n|0,r|0,u|0,l|0,s|0,h|0)}function lF(e,n,r){return e=e|0,n=n|0,r=r|0,+T8[e&7](n|0,r|0)}function sF(e){return e=e|0,g_[e&7]()|0}function aF(e,n,r,u,l,s){return e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,C8[e&1](n|0,r|0,u|0,l|0,s|0)|0}function fF(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=+l,BF[e&1](n|0,r|0,u|0,+l)}function cF(e,n,r,u,l,s,h){e=e|0,n=n|0,r=r|0,u=w(u),l=l|0,s=w(s),h=h|0,x8[e&1](n|0,r|0,w(u),l|0,w(s),h|0)}function dF(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,Ry[e&15](n|0,r|0,u|0)}function pF(e){e=e|0,R8[e&0]()}function hF(e,n,r,u){e=e|0,n=n|0,r=r|0,u=+u,A8[e&15](n|0,r|0,+u)}function vF(e,n,r){return e=e|0,n=+n,r=+r,UF[e&1](+n,+r)|0}function mF(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,PE[e&15](n|0,r|0,u|0,l|0)}function yF(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,jt(0)}function gF(e,n){e=e|0,n=w(n),jt(1)}function $s(e,n){e=e|0,n=+n,jt(2)}function _F(e,n,r){return e=e|0,n=w(n),r=w(r),jt(3),Tt}function Zn(e){e=e|0,jt(4)}function Cy(e,n){e=e|0,n=n|0,jt(5)}function Na(e){return e=e|0,jt(6),0}function EF(e,n,r,u){e=e|0,n=+n,r=+r,u=u|0,jt(7)}function DF(e,n,r){e=e|0,n=+n,r=+r,jt(8)}function wF(e,n,r){return e=e|0,n=n|0,r=r|0,jt(9),0}function SF(e,n,r){return e=e|0,n=n|0,r=r|0,jt(10),0}function Qp(e){return e=e|0,jt(11),0}function TF(e,n){return e=e|0,n=+n,jt(12),0}function xy(e,n){return e=e|0,n=n|0,jt(13),0}function CF(e,n,r,u,l){e=e|0,n=n|0,r=+r,u=+u,l=l|0,jt(14)}function xF(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,jt(15)}function LE(e,n){return e=e|0,n=n|0,jt(16),0}function RF(){return jt(17),0}function AF(e,n,r,u,l){return e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,jt(18),0}function OF(e,n,r,u){e=e|0,n=n|0,r=r|0,u=+u,jt(19)}function MF(e,n,r,u,l,s){e=e|0,n=n|0,r=w(r),u=u|0,l=w(l),s=s|0,jt(20)}function m_(e,n,r){e=e|0,n=n|0,r=r|0,jt(21)}function kF(){jt(22)}function Bv(e,n,r){e=e|0,n=n|0,r=+r,jt(23)}function NF(e,n){return e=+e,n=+n,jt(24),0}function Uv(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,jt(25)}var g8=[yF,RO],_8=[gF,n0],E8=[$s,ca,ws,Ss,ts,zo,Ef,ul,qa,r0,Df,qc,dc,Al,Ts,da,ud,pa,pc,$s,$s,$s,$s,$s,$s,$s,$s,$s,$s,$s,$s,$s],D8=[_F],F1=[Zn,Iv,cn,is,Eo,Uf,O1,Ul,n7,r7,i7,hO,vO,mO,IN,bN,BN,Le,fc,Ua,Gu,j0,hh,Sf,n1,Lf,Ea,Ah,fm,y1,g1,Xh,vp,Fd,Lm,T1,Ac,Wm,Ym,Sv,Rv,on,N4,q4,e_,Nt,xu,t0,m9,N9,J9,vR,MR,JR,lA,fA,RA,MA,YA,o7,a7,x7,W7,gd,CM,nk,yk,Nk,eN,vN,xN,ON,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn],P1=[Cy,E2,nd,Hc,xl,il,D2,qs,Rl,ja,za,Ha,Ol,Ue,lt,$t,Wn,si,ur,Wa,S2,mh,G4,J4,_R,AM,Z7,Hw,Cy,Cy,Cy,Cy],Jp=[Na,pL,_f,y,J,ce,mt,xt,kt,xr,cu,z0,Va,od,Kc,Ms,FR,O7,NM,Oa,Na,Na,Na,Na,Na,Na,Na,Na,Na,Na,Na,Na],w8=[EF,x2],LF=[DF,QA],y_=[wF,n8,hL,yL,zh,dv,E9,Ik],FF=[SF,lv],S8=[Qp,u0,Ve,ci,vh,sl,ha,R2,A2,hc,Qp,Qp,Qp,Qp,Qp,Qp],PF=[TF,iA],FE=[xy,BL,w2,cl,q2,_m,cp,Rp,Km,kr,Uo,Dk,xy,xy,xy,xy],IF=[CF,Sh],bF=[xF,iN],T8=[LE,Qi,O2,dd,Xc,vl,LE,LE],g_=[RF,Qc,ro,D0,hA,FA,p7,LN],C8=[AF,li],BF=[OF,sy],x8=[MF,ld],Ry=[m_,R,i0,Gr,Cu,v1,Ld,ar,dy,vo,QO,ok,_N,m_,m_,m_],R8=[kF],A8=[Bv,rd,mo,id,jo,Wc,qi,g,Up,I9,eA,Bv,Bv,Bv,Bv,Bv],UF=[NF,e7],PE=[Uv,Dp,Lc,tR,qR,EA,jA,E7,X7,BM,WN,Uv,Uv,Uv,Uv,Uv];return{_llvm_bswap_i32:y8,dynCall_idd:vF,dynCall_i:sF,_i64Subtract:h_,___udivdi3:kE,dynCall_vif:VL,setThrew:vs,dynCall_viii:dF,_bitshift64Lshr:v_,_bitshift64Shl:h8,dynCall_vi:XL,dynCall_viiddi:uF,dynCall_diii:tF,dynCall_iii:iF,_memset:bv,_sbrk:t2,_memcpy:gr,__GLOBAL__sub_I_Yoga_cpp:ru,dynCall_vii:QL,___uremdi3:NE,dynCall_vid:YL,stackAlloc:fo,_nbind_init:tL,getTempRet0:X,dynCall_di:nF,dynCall_iid:rF,setTempRet0:b0,_i64Add:ME,dynCall_fiff:KL,dynCall_iiii:eF,_emscripten_get_global_libc:dL,dynCall_viid:hF,dynCall_viiid:fF,dynCall_viififi:cF,dynCall_ii:JL,__GLOBAL__sub_I_Binding_cc:yM,dynCall_viiii:mF,dynCall_iiiiii:aF,stackSave:tl,dynCall_viiiii:WL,__GLOBAL__sub_I_nbind_cc:Ws,dynCall_vidd:$L,_free:d_,runPostSets:qL,dynCall_viiiiii:oF,establishStackSpace:ju,_memmove:Ty,stackRestore:Jl,_malloc:c_,__GLOBAL__sub_I_common_cc:b7,dynCall_viddi:ZL,dynCall_dii:lF,dynCall_v:pF}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_llvm_bswap_i32=Module._llvm_bswap_i32=asm._llvm_bswap_i32,getTempRet0=Module.getTempRet0=asm.getTempRet0,___udivdi3=Module.___udivdi3=asm.___udivdi3,setThrew=Module.setThrew=asm.setThrew,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,_memset=Module._memset=asm._memset,_sbrk=Module._sbrk=asm._sbrk,_memcpy=Module._memcpy=asm._memcpy,stackAlloc=Module.stackAlloc=asm.stackAlloc,___uremdi3=Module.___uremdi3=asm.___uremdi3,_nbind_init=Module._nbind_init=asm._nbind_init,_i64Subtract=Module._i64Subtract=asm._i64Subtract,setTempRet0=Module.setTempRet0=asm.setTempRet0,_i64Add=Module._i64Add=asm._i64Add,_emscripten_get_global_libc=Module._emscripten_get_global_libc=asm._emscripten_get_global_libc,__GLOBAL__sub_I_Yoga_cpp=Module.__GLOBAL__sub_I_Yoga_cpp=asm.__GLOBAL__sub_I_Yoga_cpp,__GLOBAL__sub_I_Binding_cc=Module.__GLOBAL__sub_I_Binding_cc=asm.__GLOBAL__sub_I_Binding_cc,stackSave=Module.stackSave=asm.stackSave,__GLOBAL__sub_I_nbind_cc=Module.__GLOBAL__sub_I_nbind_cc=asm.__GLOBAL__sub_I_nbind_cc,_free=Module._free=asm._free,runPostSets=Module.runPostSets=asm.runPostSets,establishStackSpace=Module.establishStackSpace=asm.establishStackSpace,_memmove=Module._memmove=asm._memmove,stackRestore=Module.stackRestore=asm.stackRestore,_malloc=Module._malloc=asm._malloc,__GLOBAL__sub_I_common_cc=Module.__GLOBAL__sub_I_common_cc=asm.__GLOBAL__sub_I_common_cc,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_vif=Module.dynCall_vif=asm.dynCall_vif,dynCall_vid=Module.dynCall_vid=asm.dynCall_vid,dynCall_fiff=Module.dynCall_fiff=asm.dynCall_fiff,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viddi=Module.dynCall_viddi=asm.dynCall_viddi,dynCall_vidd=Module.dynCall_vidd=asm.dynCall_vidd,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_diii=Module.dynCall_diii=asm.dynCall_diii,dynCall_di=Module.dynCall_di=asm.dynCall_di,dynCall_iid=Module.dynCall_iid=asm.dynCall_iid,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_viiddi=Module.dynCall_viiddi=asm.dynCall_viiddi,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_dii=Module.dynCall_dii=asm.dynCall_dii,dynCall_i=Module.dynCall_i=asm.dynCall_i,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_viiid=Module.dynCall_viiid=asm.dynCall_viiid,dynCall_viififi=Module.dynCall_viififi=asm.dynCall_viififi,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_viid=Module.dynCall_viid=asm.dynCall_viid,dynCall_idd=Module.dynCall_idd=asm.dynCall_idd,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii;Runtime.stackAlloc=Module.stackAlloc,Runtime.stackSave=Module.stackSave,Runtime.stackRestore=Module.stackRestore,Runtime.establishStackSpace=Module.establishStackSpace,Runtime.setTempRet0=Module.setTempRet0,Runtime.getTempRet0=Module.getTempRet0,Module.asm=asm;function ExitStatus(i){this.name=\"ExitStatus\",this.message=\"Program terminated with exit(\"+i+\")\",this.status=i}ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var initialStackTop,preloadStartTime=null,calledMain=!1;dependenciesFulfilled=function i(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=i)},Module.callMain=Module.callMain=function(o){o=o||[],ensureInitRuntime();var a=o.length+1;function p(){for(var O=0;O<4-1;O++)_.push(0)}var _=[allocate(intArrayFromString(Module.thisProgram),\"i8\",ALLOC_NORMAL)];p();for(var t=0;t<a-1;t=t+1)_.push(allocate(intArrayFromString(o[t]),\"i8\",ALLOC_NORMAL)),p();_.push(0),_=allocate(_,\"i32\",ALLOC_NORMAL);try{var k=Module._main(a,_,0);exit(k,!0)}catch(O){if(O instanceof ExitStatus)return;if(O==\"SimulateInfiniteLoop\"){Module.noExitRuntime=!0;return}else{var L=O;O&&typeof O==\"object\"&&O.stack&&(L=[O,O.stack]),Module.printErr(\"exception thrown: \"+L),Module.quit(1,O)}}finally{calledMain=!0}};function run(i){if(i=i||Module.arguments,preloadStartTime===null&&(preloadStartTime=Date.now()),runDependencies>0||(preRun(),runDependencies>0)||Module.calledRun)return;function o(){Module.calledRun||(Module.calledRun=!0,!ABORT&&(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(i),postRun()))}Module.setStatus?(Module.setStatus(\"Running...\"),setTimeout(function(){setTimeout(function(){Module.setStatus(\"\")},1),o()},1)):o()}Module.run=Module.run=run;function exit(i,o){o&&Module.noExitRuntime||(Module.noExitRuntime||(ABORT=!0,EXITSTATUS=i,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(i)),ENVIRONMENT_IS_NODE&&process.exit(i),Module.quit(i,new ExitStatus(i)))}Module.exit=Module.exit=exit;var abortDecorators=[];function abort(i){Module.onAbort&&Module.onAbort(i),i!==void 0?(Module.print(i),Module.printErr(i),i=JSON.stringify(i)):i=\"\",ABORT=!0,EXITSTATUS=1;var o=`\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,a=\"abort(\"+i+\") at \"+stackTrace()+o;throw abortDecorators&&abortDecorators.forEach(function(p){a=p(a,i)}),a}if(Module.abort=Module.abort=abort,Module.preInit)for(typeof Module.preInit==\"function\"&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;Module.noInitialRun&&(shouldRunNow=!1),run()})});var $p=tt((MH,WS)=>{\"use strict\";var kP=HS(),NP=qS(),gD=!1,_D=null;NP({},function(i,o){if(!gD){if(gD=!0,i)throw i;_D=o}});if(!gD)throw new Error(\"Failed to load the yoga module - it needed to be loaded synchronously, but didn't\");WS.exports=kP(_D.bind,_D.lib)});var GS=tt((kH,VS)=>{\"use strict\";VS.exports=({onlyFirst:i=!1}={})=>{let o=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(o,i?void 0:\"g\")}});var ED=tt((NH,YS)=>{\"use strict\";var LP=GS();YS.exports=i=>typeof i==\"string\"?i.replace(LP(),\"\"):i});var wD=tt((LH,DD)=>{\"use strict\";var KS=i=>Number.isNaN(i)?!1:i>=4352&&(i<=4447||i===9001||i===9002||11904<=i&&i<=12871&&i!==12351||12880<=i&&i<=19903||19968<=i&&i<=42182||43360<=i&&i<=43388||44032<=i&&i<=55203||63744<=i&&i<=64255||65040<=i&&i<=65049||65072<=i&&i<=65131||65281<=i&&i<=65376||65504<=i&&i<=65510||110592<=i&&i<=110593||127488<=i&&i<=127569||131072<=i&&i<=262141);DD.exports=KS;DD.exports.default=KS});var QS=tt((FH,XS)=>{\"use strict\";XS.exports=function(){return/\\uD83C\\uDFF4\\uDB40\\uDC67\\uDB40\\uDC62(?:\\uDB40\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDB40\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDB40\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F|\\uD83D\\uDC68(?:\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C\\uDFFB|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFE])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83D\\uDC68|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D[\\uDC68\\uDC69])\\u200D(?:\\uD83D[\\uDC66\\uDC67])|[\\u2695\\u2696\\u2708]\\uFE0F|\\uD83D[\\uDC66\\uDC67]|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|(?:\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708])\\uFE0F|\\uD83C\\uDFFB\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C[\\uDFFB-\\uDFFF])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFB\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)\\uD83C\\uDFFB|\\uD83E\\uDDD1(?:\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1)|(?:\\uD83E\\uDDD1\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFF\\u200D\\uD83E\\uDD1D\\u200D(?:\\uD83D[\\uDC68\\uDC69]))(?:\\uD83C[\\uDFFB-\\uDFFE])|(?:\\uD83E\\uDDD1\\uD83C\\uDFFC\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB\\uDFFC])|\\uD83D\\uDC69(?:\\uD83C\\uDFFE\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFC\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFB\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFC-\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFD\\u200D(?:\\uD83E\\uDD1D\\u200D\\uD83D\\uDC68(?:\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\u200D(?:\\u2764\\uFE0F\\u200D(?:\\uD83D\\uDC8B\\u200D(?:\\uD83D[\\uDC68\\uDC69])|\\uD83D[\\uDC68\\uDC69])|\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD])|\\uD83C\\uDFFF\\u200D(?:\\uD83C[\\uDF3E\\uDF73\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E[\\uDDAF-\\uDDB3\\uDDBC\\uDDBD]))|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67]))|(?:\\uD83E\\uDDD1\\uD83C\\uDFFD\\u200D\\uD83E\\uDD1D\\u200D\\uD83E\\uDDD1|\\uD83D\\uDC69\\uD83C\\uDFFE\\u200D\\uD83E\\uDD1D\\u200D\\uD83D\\uDC69)(?:\\uD83C[\\uDFFB-\\uDFFD])|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC69\\u200D(?:\\uD83D[\\uDC66\\uDC67])|(?:\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8|\\uD83D\\uDC69(?:\\uD83C\\uDFFF\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFE\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFC\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFB\\u200D[\\u2695\\u2696\\u2708]|\\uD83C\\uDFFD\\u200D[\\u2695\\u2696\\u2708]|\\u200D[\\u2695\\u2696\\u2708])|(?:(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)\\uFE0F|\\uD83D\\uDC6F|\\uD83E[\\uDD3C\\uDDDE\\uDDDF])\\u200D[\\u2640\\u2642]|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:(?:\\uD83C[\\uDFFB-\\uDFFF])\\u200D[\\u2640\\u2642]|\\u200D[\\u2640\\u2642])|\\uD83C\\uDFF4\\u200D\\u2620)\\uFE0F|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67\\u200D(?:\\uD83D[\\uDC66\\uDC67])|\\uD83C\\uDFF3\\uFE0F\\u200D\\uD83C\\uDF08|\\uD83D\\uDC15\\u200D\\uD83E\\uDDBA|\\uD83D\\uDC69\\u200D\\uD83D\\uDC66|\\uD83D\\uDC69\\u200D\\uD83D\\uDC67|\\uD83C\\uDDFD\\uD83C\\uDDF0|\\uD83C\\uDDF4\\uD83C\\uDDF2|\\uD83C\\uDDF6\\uD83C\\uDDE6|[#\\*0-9]\\uFE0F\\u20E3|\\uD83C\\uDDE7(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDF9(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF])|\\uD83C\\uDDEA(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA])|\\uD83E\\uDDD1(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF7(?:\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC])|\\uD83D\\uDC69(?:\\uD83C[\\uDFFB-\\uDFFF])|\\uD83C\\uDDF2(?:\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF])|\\uD83C\\uDDE6(?:\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF])|\\uD83C\\uDDF0(?:\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF])|\\uD83C\\uDDED(?:\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA])|\\uD83C\\uDDE9(?:\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF])|\\uD83C\\uDDFE(?:\\uD83C[\\uDDEA\\uDDF9])|\\uD83C\\uDDEC(?:\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE])|\\uD83C\\uDDF8(?:\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF])|\\uD83C\\uDDEB(?:\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7])|\\uD83C\\uDDF5(?:\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE])|\\uD83C\\uDDFB(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA])|\\uD83C\\uDDF3(?:\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF])|\\uD83C\\uDDE8(?:\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF5\\uDDF7\\uDDFA-\\uDDFF])|\\uD83C\\uDDF1(?:\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE])|\\uD83C\\uDDFF(?:\\uD83C[\\uDDE6\\uDDF2\\uDDFC])|\\uD83C\\uDDFC(?:\\uD83C[\\uDDEB\\uDDF8])|\\uD83C\\uDDFA(?:\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF])|\\uD83C\\uDDEE(?:\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9])|\\uD83C\\uDDEF(?:\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5])|(?:\\uD83C[\\uDFC3\\uDFC4\\uDFCA]|\\uD83D[\\uDC6E\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4-\\uDEB6]|\\uD83E[\\uDD26\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD-\\uDDCF\\uDDD6-\\uDDDD])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:\\u26F9|\\uD83C[\\uDFCB\\uDFCC]|\\uD83D\\uDD75)(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u261D\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2\\uDFC7]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC70\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDCAA\\uDD74\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1C\\uDD1E\\uDD1F\\uDD30-\\uDD36\\uDDB5\\uDDB6\\uDDBB\\uDDD2-\\uDDD5])(?:\\uD83C[\\uDFFB-\\uDFFF])|(?:[\\u231A\\u231B\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u25FE\\u2614\\u2615\\u2648-\\u2653\\u267F\\u2693\\u26A1\\u26AA\\u26AB\\u26BD\\u26BE\\u26C4\\u26C5\\u26CE\\u26D4\\u26EA\\u26F2\\u26F3\\u26F5\\u26FA\\u26FD\\u2705\\u270A\\u270B\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2795-\\u2797\\u27B0\\u27BF\\u2B1B\\u2B1C\\u2B50\\u2B55]|\\uD83C[\\uDC04\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF7C\\uDF7E-\\uDF93\\uDFA0-\\uDFCA\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF4\\uDFF8-\\uDFFF]|\\uD83D[\\uDC00-\\uDC3E\\uDC40\\uDC42-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDD7A\\uDD95\\uDD96\\uDDA4\\uDDFB-\\uDE4F\\uDE80-\\uDEC5\\uDECC\\uDED0-\\uDED2\\uDED5\\uDEEB\\uDEEC\\uDEF4-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])|(?:[#\\*0-9\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23E9-\\u23F3\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB-\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u261D\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A1\\u26AA\\u26AB\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C5\\u26C8\\u26CE\\u26CF\\u26D1\\u26D3\\u26D4\\u26E9\\u26EA\\u26F0-\\u26F5\\u26F7-\\u26FA\\u26FD\\u2702\\u2705\\u2708-\\u270D\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2728\\u2733\\u2734\\u2744\\u2747\\u274C\\u274E\\u2753-\\u2755\\u2757\\u2763\\u2764\\u2795-\\u2797\\u27A1\\u27B0\\u27BF\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B50\\u2B55\\u3030\\u303D\\u3297\\u3299]|\\uD83C[\\uDC04\\uDCCF\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDD8E\\uDD91-\\uDD9A\\uDDE6-\\uDDFF\\uDE01\\uDE02\\uDE1A\\uDE2F\\uDE32-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF21\\uDF24-\\uDF93\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E-\\uDFF0\\uDFF3-\\uDFF5\\uDFF7-\\uDFFF]|\\uD83D[\\uDC00-\\uDCFD\\uDCFF-\\uDD3D\\uDD49-\\uDD4E\\uDD50-\\uDD67\\uDD6F\\uDD70\\uDD73-\\uDD7A\\uDD87\\uDD8A-\\uDD8D\\uDD90\\uDD95\\uDD96\\uDDA4\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA-\\uDE4F\\uDE80-\\uDEC5\\uDECB-\\uDED2\\uDED5\\uDEE0-\\uDEE5\\uDEE9\\uDEEB\\uDEEC\\uDEF0\\uDEF3-\\uDEFA\\uDFE0-\\uDFEB]|\\uD83E[\\uDD0D-\\uDD3A\\uDD3C-\\uDD45\\uDD47-\\uDD71\\uDD73-\\uDD76\\uDD7A-\\uDDA2\\uDDA5-\\uDDAA\\uDDAE-\\uDDCA\\uDDCD-\\uDDFF\\uDE70-\\uDE73\\uDE78-\\uDE7A\\uDE80-\\uDE82\\uDE90-\\uDE95])\\uFE0F|(?:[\\u261D\\u26F9\\u270A-\\u270D]|\\uD83C[\\uDF85\\uDFC2-\\uDFC4\\uDFC7\\uDFCA-\\uDFCC]|\\uD83D[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66-\\uDC78\\uDC7C\\uDC81-\\uDC83\\uDC85-\\uDC87\\uDC8F\\uDC91\\uDCAA\\uDD74\\uDD75\\uDD7A\\uDD90\\uDD95\\uDD96\\uDE45-\\uDE47\\uDE4B-\\uDE4F\\uDEA3\\uDEB4-\\uDEB6\\uDEC0\\uDECC]|\\uD83E[\\uDD0F\\uDD18-\\uDD1F\\uDD26\\uDD30-\\uDD39\\uDD3C-\\uDD3E\\uDDB5\\uDDB6\\uDDB8\\uDDB9\\uDDBB\\uDDCD-\\uDDCF\\uDDD1-\\uDDDD])/g}});var U_=tt((PH,SD)=>{\"use strict\";var FP=ED(),PP=wD(),IP=QS(),JS=i=>{if(i=i.replace(IP(),\"  \"),typeof i!=\"string\"||i.length===0)return 0;i=FP(i);let o=0;for(let a=0;a<i.length;a++){let p=i.codePointAt(a);p<=31||p>=127&&p<=159||p>=768&&p<=879||(p>65535&&a++,o+=PP(p)?2:1)}return o};SD.exports=JS;SD.exports.default=JS});var CD=tt((IH,TD)=>{\"use strict\";var bP=U_(),ZS=i=>{let o=0;for(let a of i.split(`\n`))o=Math.max(o,bP(a));return o};TD.exports=ZS;TD.exports.default=ZS});var $S=tt(Wy=>{\"use strict\";var BP=Wy&&Wy.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Wy,\"__esModule\",{value:!0});var UP=BP(CD()),xD={};Wy.default=i=>{if(i.length===0)return{width:0,height:0};if(xD[i])return xD[i];let o=UP.default(i),a=i.split(`\n`).length;return xD[i]={width:o,height:a},{width:o,height:a}}});var eT=tt(Vy=>{\"use strict\";var jP=Vy&&Vy.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Vy,\"__esModule\",{value:!0});var Vi=jP($p()),zP=(i,o)=>{\"position\"in o&&i.setPositionType(o.position===\"absolute\"?Vi.default.POSITION_TYPE_ABSOLUTE:Vi.default.POSITION_TYPE_RELATIVE)},HP=(i,o)=>{\"marginLeft\"in o&&i.setMargin(Vi.default.EDGE_START,o.marginLeft||0),\"marginRight\"in o&&i.setMargin(Vi.default.EDGE_END,o.marginRight||0),\"marginTop\"in o&&i.setMargin(Vi.default.EDGE_TOP,o.marginTop||0),\"marginBottom\"in o&&i.setMargin(Vi.default.EDGE_BOTTOM,o.marginBottom||0)},qP=(i,o)=>{\"paddingLeft\"in o&&i.setPadding(Vi.default.EDGE_LEFT,o.paddingLeft||0),\"paddingRight\"in o&&i.setPadding(Vi.default.EDGE_RIGHT,o.paddingRight||0),\"paddingTop\"in o&&i.setPadding(Vi.default.EDGE_TOP,o.paddingTop||0),\"paddingBottom\"in o&&i.setPadding(Vi.default.EDGE_BOTTOM,o.paddingBottom||0)},WP=(i,o)=>{var a;\"flexGrow\"in o&&i.setFlexGrow((a=o.flexGrow)!==null&&a!==void 0?a:0),\"flexShrink\"in o&&i.setFlexShrink(typeof o.flexShrink==\"number\"?o.flexShrink:1),\"flexDirection\"in o&&(o.flexDirection===\"row\"&&i.setFlexDirection(Vi.default.FLEX_DIRECTION_ROW),o.flexDirection===\"row-reverse\"&&i.setFlexDirection(Vi.default.FLEX_DIRECTION_ROW_REVERSE),o.flexDirection===\"column\"&&i.setFlexDirection(Vi.default.FLEX_DIRECTION_COLUMN),o.flexDirection===\"column-reverse\"&&i.setFlexDirection(Vi.default.FLEX_DIRECTION_COLUMN_REVERSE)),\"flexBasis\"in o&&(typeof o.flexBasis==\"number\"?i.setFlexBasis(o.flexBasis):typeof o.flexBasis==\"string\"?i.setFlexBasisPercent(Number.parseInt(o.flexBasis,10)):i.setFlexBasis(NaN)),\"alignItems\"in o&&((o.alignItems===\"stretch\"||!o.alignItems)&&i.setAlignItems(Vi.default.ALIGN_STRETCH),o.alignItems===\"flex-start\"&&i.setAlignItems(Vi.default.ALIGN_FLEX_START),o.alignItems===\"center\"&&i.setAlignItems(Vi.default.ALIGN_CENTER),o.alignItems===\"flex-end\"&&i.setAlignItems(Vi.default.ALIGN_FLEX_END)),\"alignSelf\"in o&&((o.alignSelf===\"auto\"||!o.alignSelf)&&i.setAlignSelf(Vi.default.ALIGN_AUTO),o.alignSelf===\"flex-start\"&&i.setAlignSelf(Vi.default.ALIGN_FLEX_START),o.alignSelf===\"center\"&&i.setAlignSelf(Vi.default.ALIGN_CENTER),o.alignSelf===\"flex-end\"&&i.setAlignSelf(Vi.default.ALIGN_FLEX_END)),\"justifyContent\"in o&&((o.justifyContent===\"flex-start\"||!o.justifyContent)&&i.setJustifyContent(Vi.default.JUSTIFY_FLEX_START),o.justifyContent===\"center\"&&i.setJustifyContent(Vi.default.JUSTIFY_CENTER),o.justifyContent===\"flex-end\"&&i.setJustifyContent(Vi.default.JUSTIFY_FLEX_END),o.justifyContent===\"space-between\"&&i.setJustifyContent(Vi.default.JUSTIFY_SPACE_BETWEEN),o.justifyContent===\"space-around\"&&i.setJustifyContent(Vi.default.JUSTIFY_SPACE_AROUND))},VP=(i,o)=>{var a,p;\"width\"in o&&(typeof o.width==\"number\"?i.setWidth(o.width):typeof o.width==\"string\"?i.setWidthPercent(Number.parseInt(o.width,10)):i.setWidthAuto()),\"height\"in o&&(typeof o.height==\"number\"?i.setHeight(o.height):typeof o.height==\"string\"?i.setHeightPercent(Number.parseInt(o.height,10)):i.setHeightAuto()),\"minWidth\"in o&&(typeof o.minWidth==\"string\"?i.setMinWidthPercent(Number.parseInt(o.minWidth,10)):i.setMinWidth((a=o.minWidth)!==null&&a!==void 0?a:0)),\"minHeight\"in o&&(typeof o.minHeight==\"string\"?i.setMinHeightPercent(Number.parseInt(o.minHeight,10)):i.setMinHeight((p=o.minHeight)!==null&&p!==void 0?p:0))},GP=(i,o)=>{\"display\"in o&&i.setDisplay(o.display===\"flex\"?Vi.default.DISPLAY_FLEX:Vi.default.DISPLAY_NONE)},YP=(i,o)=>{if(\"borderStyle\"in o){let a=typeof o.borderStyle==\"string\"?1:0;i.setBorder(Vi.default.EDGE_TOP,a),i.setBorder(Vi.default.EDGE_BOTTOM,a),i.setBorder(Vi.default.EDGE_LEFT,a),i.setBorder(Vi.default.EDGE_RIGHT,a)}};Vy.default=(i,o={})=>{zP(i,o),HP(i,o),qP(i,o),WP(i,o),VP(i,o),GP(i,o),YP(i,o)}});var nT=tt((UH,tT)=>{\"use strict\";tT.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var RD=tt((jH,rT)=>{var Gy=nT(),iT={};for(let i of Object.keys(Gy))iT[Gy[i]]=i;var zn={rgb:{channels:3,labels:\"rgb\"},hsl:{channels:3,labels:\"hsl\"},hsv:{channels:3,labels:\"hsv\"},hwb:{channels:3,labels:\"hwb\"},cmyk:{channels:4,labels:\"cmyk\"},xyz:{channels:3,labels:\"xyz\"},lab:{channels:3,labels:\"lab\"},lch:{channels:3,labels:\"lch\"},hex:{channels:1,labels:[\"hex\"]},keyword:{channels:1,labels:[\"keyword\"]},ansi16:{channels:1,labels:[\"ansi16\"]},ansi256:{channels:1,labels:[\"ansi256\"]},hcg:{channels:3,labels:[\"h\",\"c\",\"g\"]},apple:{channels:3,labels:[\"r16\",\"g16\",\"b16\"]},gray:{channels:1,labels:[\"gray\"]}};rT.exports=zn;for(let i of Object.keys(zn)){if(!(\"channels\"in zn[i]))throw new Error(\"missing channels property: \"+i);if(!(\"labels\"in zn[i]))throw new Error(\"missing channel labels property: \"+i);if(zn[i].labels.length!==zn[i].channels)throw new Error(\"channel and label counts mismatch: \"+i);let{channels:o,labels:a}=zn[i];delete zn[i].channels,delete zn[i].labels,Object.defineProperty(zn[i],\"channels\",{value:o}),Object.defineProperty(zn[i],\"labels\",{value:a})}zn.rgb.hsl=function(i){let o=i[0]/255,a=i[1]/255,p=i[2]/255,_=Math.min(o,a,p),t=Math.max(o,a,p),k=t-_,L,O;t===_?L=0:o===t?L=(a-p)/k:a===t?L=2+(p-o)/k:p===t&&(L=4+(o-a)/k),L=Math.min(L*60,360),L<0&&(L+=360);let C=(_+t)/2;return t===_?O=0:C<=.5?O=k/(t+_):O=k/(2-t-_),[L,O*100,C*100]};zn.rgb.hsv=function(i){let o,a,p,_,t,k=i[0]/255,L=i[1]/255,O=i[2]/255,C=Math.max(k,L,O),U=C-Math.min(k,L,O),H=function(W){return(C-W)/6/U+1/2};return U===0?(_=0,t=0):(t=U/C,o=H(k),a=H(L),p=H(O),k===C?_=p-a:L===C?_=1/3+o-p:O===C&&(_=2/3+a-o),_<0?_+=1:_>1&&(_-=1)),[_*360,t*100,C*100]};zn.rgb.hwb=function(i){let o=i[0],a=i[1],p=i[2],_=zn.rgb.hsl(i)[0],t=1/255*Math.min(o,Math.min(a,p));return p=1-1/255*Math.max(o,Math.max(a,p)),[_,t*100,p*100]};zn.rgb.cmyk=function(i){let o=i[0]/255,a=i[1]/255,p=i[2]/255,_=Math.min(1-o,1-a,1-p),t=(1-o-_)/(1-_)||0,k=(1-a-_)/(1-_)||0,L=(1-p-_)/(1-_)||0;return[t*100,k*100,L*100,_*100]};function KP(i,o){return(i[0]-o[0])**2+(i[1]-o[1])**2+(i[2]-o[2])**2}zn.rgb.keyword=function(i){let o=iT[i];if(o)return o;let a=Infinity,p;for(let _ of Object.keys(Gy)){let t=Gy[_],k=KP(i,t);k<a&&(a=k,p=_)}return p};zn.keyword.rgb=function(i){return Gy[i]};zn.rgb.xyz=function(i){let o=i[0]/255,a=i[1]/255,p=i[2]/255;o=o>.04045?((o+.055)/1.055)**2.4:o/12.92,a=a>.04045?((a+.055)/1.055)**2.4:a/12.92,p=p>.04045?((p+.055)/1.055)**2.4:p/12.92;let _=o*.4124+a*.3576+p*.1805,t=o*.2126+a*.7152+p*.0722,k=o*.0193+a*.1192+p*.9505;return[_*100,t*100,k*100]};zn.rgb.lab=function(i){let o=zn.rgb.xyz(i),a=o[0],p=o[1],_=o[2];a/=95.047,p/=100,_/=108.883,a=a>.008856?a**(1/3):7.787*a+16/116,p=p>.008856?p**(1/3):7.787*p+16/116,_=_>.008856?_**(1/3):7.787*_+16/116;let t=116*p-16,k=500*(a-p),L=200*(p-_);return[t,k,L]};zn.hsl.rgb=function(i){let o=i[0]/360,a=i[1]/100,p=i[2]/100,_,t,k;if(a===0)return k=p*255,[k,k,k];p<.5?_=p*(1+a):_=p+a-p*a;let L=2*p-_,O=[0,0,0];for(let C=0;C<3;C++)t=o+1/3*-(C-1),t<0&&t++,t>1&&t--,6*t<1?k=L+(_-L)*6*t:2*t<1?k=_:3*t<2?k=L+(_-L)*(2/3-t)*6:k=L,O[C]=k*255;return O};zn.hsl.hsv=function(i){let o=i[0],a=i[1]/100,p=i[2]/100,_=a,t=Math.max(p,.01);p*=2,a*=p<=1?p:2-p,_*=t<=1?t:2-t;let k=(p+a)/2,L=p===0?2*_/(t+_):2*a/(p+a);return[o,L*100,k*100]};zn.hsv.rgb=function(i){let o=i[0]/60,a=i[1]/100,p=i[2]/100,_=Math.floor(o)%6,t=o-Math.floor(o),k=255*p*(1-a),L=255*p*(1-a*t),O=255*p*(1-a*(1-t));switch(p*=255,_){case 0:return[p,O,k];case 1:return[L,p,k];case 2:return[k,p,O];case 3:return[k,L,p];case 4:return[O,k,p];case 5:return[p,k,L]}};zn.hsv.hsl=function(i){let o=i[0],a=i[1]/100,p=i[2]/100,_=Math.max(p,.01),t,k;k=(2-a)*p;let L=(2-a)*_;return t=a*_,t/=L<=1?L:2-L,t=t||0,k/=2,[o,t*100,k*100]};zn.hwb.rgb=function(i){let o=i[0]/360,a=i[1]/100,p=i[2]/100,_=a+p,t;_>1&&(a/=_,p/=_);let k=Math.floor(6*o),L=1-p;t=6*o-k,(k&1)!=0&&(t=1-t);let O=a+t*(L-a),C,U,H;switch(k){default:case 6:case 0:C=L,U=O,H=a;break;case 1:C=O,U=L,H=a;break;case 2:C=a,U=L,H=O;break;case 3:C=a,U=O,H=L;break;case 4:C=O,U=a,H=L;break;case 5:C=L,U=a,H=O;break}return[C*255,U*255,H*255]};zn.cmyk.rgb=function(i){let o=i[0]/100,a=i[1]/100,p=i[2]/100,_=i[3]/100,t=1-Math.min(1,o*(1-_)+_),k=1-Math.min(1,a*(1-_)+_),L=1-Math.min(1,p*(1-_)+_);return[t*255,k*255,L*255]};zn.xyz.rgb=function(i){let o=i[0]/100,a=i[1]/100,p=i[2]/100,_,t,k;return _=o*3.2406+a*-1.5372+p*-.4986,t=o*-.9689+a*1.8758+p*.0415,k=o*.0557+a*-.204+p*1.057,_=_>.0031308?1.055*_**(1/2.4)-.055:_*12.92,t=t>.0031308?1.055*t**(1/2.4)-.055:t*12.92,k=k>.0031308?1.055*k**(1/2.4)-.055:k*12.92,_=Math.min(Math.max(0,_),1),t=Math.min(Math.max(0,t),1),k=Math.min(Math.max(0,k),1),[_*255,t*255,k*255]};zn.xyz.lab=function(i){let o=i[0],a=i[1],p=i[2];o/=95.047,a/=100,p/=108.883,o=o>.008856?o**(1/3):7.787*o+16/116,a=a>.008856?a**(1/3):7.787*a+16/116,p=p>.008856?p**(1/3):7.787*p+16/116;let _=116*a-16,t=500*(o-a),k=200*(a-p);return[_,t,k]};zn.lab.xyz=function(i){let o=i[0],a=i[1],p=i[2],_,t,k;t=(o+16)/116,_=a/500+t,k=t-p/200;let L=t**3,O=_**3,C=k**3;return t=L>.008856?L:(t-16/116)/7.787,_=O>.008856?O:(_-16/116)/7.787,k=C>.008856?C:(k-16/116)/7.787,_*=95.047,t*=100,k*=108.883,[_,t,k]};zn.lab.lch=function(i){let o=i[0],a=i[1],p=i[2],_;_=Math.atan2(p,a)*360/2/Math.PI,_<0&&(_+=360);let k=Math.sqrt(a*a+p*p);return[o,k,_]};zn.lch.lab=function(i){let o=i[0],a=i[1],_=i[2]/360*2*Math.PI,t=a*Math.cos(_),k=a*Math.sin(_);return[o,t,k]};zn.rgb.ansi16=function(i,o=null){let[a,p,_]=i,t=o===null?zn.rgb.hsv(i)[2]:o;if(t=Math.round(t/50),t===0)return 30;let k=30+(Math.round(_/255)<<2|Math.round(p/255)<<1|Math.round(a/255));return t===2&&(k+=60),k};zn.hsv.ansi16=function(i){return zn.rgb.ansi16(zn.hsv.rgb(i),i[2])};zn.rgb.ansi256=function(i){let o=i[0],a=i[1],p=i[2];return o===a&&a===p?o<8?16:o>248?231:Math.round((o-8)/247*24)+232:16+36*Math.round(o/255*5)+6*Math.round(a/255*5)+Math.round(p/255*5)};zn.ansi16.rgb=function(i){let o=i%10;if(o===0||o===7)return i>50&&(o+=3.5),o=o/10.5*255,[o,o,o];let a=(~~(i>50)+1)*.5,p=(o&1)*a*255,_=(o>>1&1)*a*255,t=(o>>2&1)*a*255;return[p,_,t]};zn.ansi256.rgb=function(i){if(i>=232){let t=(i-232)*10+8;return[t,t,t]}i-=16;let o,a=Math.floor(i/36)/5*255,p=Math.floor((o=i%36)/6)/5*255,_=o%6/5*255;return[a,p,_]};zn.rgb.hex=function(i){let a=(((Math.round(i[0])&255)<<16)+((Math.round(i[1])&255)<<8)+(Math.round(i[2])&255)).toString(16).toUpperCase();return\"000000\".substring(a.length)+a};zn.hex.rgb=function(i){let o=i.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!o)return[0,0,0];let a=o[0];o[0].length===3&&(a=a.split(\"\").map(L=>L+L).join(\"\"));let p=parseInt(a,16),_=p>>16&255,t=p>>8&255,k=p&255;return[_,t,k]};zn.rgb.hcg=function(i){let o=i[0]/255,a=i[1]/255,p=i[2]/255,_=Math.max(Math.max(o,a),p),t=Math.min(Math.min(o,a),p),k=_-t,L,O;return k<1?L=t/(1-k):L=0,k<=0?O=0:_===o?O=(a-p)/k%6:_===a?O=2+(p-o)/k:O=4+(o-a)/k,O/=6,O%=1,[O*360,k*100,L*100]};zn.hsl.hcg=function(i){let o=i[1]/100,a=i[2]/100,p=a<.5?2*o*a:2*o*(1-a),_=0;return p<1&&(_=(a-.5*p)/(1-p)),[i[0],p*100,_*100]};zn.hsv.hcg=function(i){let o=i[1]/100,a=i[2]/100,p=o*a,_=0;return p<1&&(_=(a-p)/(1-p)),[i[0],p*100,_*100]};zn.hcg.rgb=function(i){let o=i[0]/360,a=i[1]/100,p=i[2]/100;if(a===0)return[p*255,p*255,p*255];let _=[0,0,0],t=o%1*6,k=t%1,L=1-k,O=0;switch(Math.floor(t)){case 0:_[0]=1,_[1]=k,_[2]=0;break;case 1:_[0]=L,_[1]=1,_[2]=0;break;case 2:_[0]=0,_[1]=1,_[2]=k;break;case 3:_[0]=0,_[1]=L,_[2]=1;break;case 4:_[0]=k,_[1]=0,_[2]=1;break;default:_[0]=1,_[1]=0,_[2]=L}return O=(1-a)*p,[(a*_[0]+O)*255,(a*_[1]+O)*255,(a*_[2]+O)*255]};zn.hcg.hsv=function(i){let o=i[1]/100,a=i[2]/100,p=o+a*(1-o),_=0;return p>0&&(_=o/p),[i[0],_*100,p*100]};zn.hcg.hsl=function(i){let o=i[1]/100,p=i[2]/100*(1-o)+.5*o,_=0;return p>0&&p<.5?_=o/(2*p):p>=.5&&p<1&&(_=o/(2*(1-p))),[i[0],_*100,p*100]};zn.hcg.hwb=function(i){let o=i[1]/100,a=i[2]/100,p=o+a*(1-o);return[i[0],(p-o)*100,(1-p)*100]};zn.hwb.hcg=function(i){let o=i[1]/100,a=i[2]/100,p=1-a,_=p-o,t=0;return _<1&&(t=(p-_)/(1-_)),[i[0],_*100,t*100]};zn.apple.rgb=function(i){return[i[0]/65535*255,i[1]/65535*255,i[2]/65535*255]};zn.rgb.apple=function(i){return[i[0]/255*65535,i[1]/255*65535,i[2]/255*65535]};zn.gray.rgb=function(i){return[i[0]/100*255,i[0]/100*255,i[0]/100*255]};zn.gray.hsl=function(i){return[0,0,i[0]]};zn.gray.hsv=zn.gray.hsl;zn.gray.hwb=function(i){return[0,100,i[0]]};zn.gray.cmyk=function(i){return[0,0,0,i[0]]};zn.gray.lab=function(i){return[i[0],0,0]};zn.gray.hex=function(i){let o=Math.round(i[0]/100*255)&255,p=((o<<16)+(o<<8)+o).toString(16).toUpperCase();return\"000000\".substring(p.length)+p};zn.rgb.gray=function(i){return[(i[0]+i[1]+i[2])/3/255*100]}});var oT=tt((zH,uT)=>{var j_=RD();function XP(){let i={},o=Object.keys(j_);for(let a=o.length,p=0;p<a;p++)i[o[p]]={distance:-1,parent:null};return i}function QP(i){let o=XP(),a=[i];for(o[i].distance=0;a.length;){let p=a.pop(),_=Object.keys(j_[p]);for(let t=_.length,k=0;k<t;k++){let L=_[k],O=o[L];O.distance===-1&&(O.distance=o[p].distance+1,O.parent=p,a.unshift(L))}}return o}function JP(i,o){return function(a){return o(i(a))}}function ZP(i,o){let a=[o[i].parent,i],p=j_[o[i].parent][i],_=o[i].parent;for(;o[_].parent;)a.unshift(o[_].parent),p=JP(j_[o[_].parent][_],p),_=o[_].parent;return p.conversion=a,p}uT.exports=function(i){let o=QP(i),a={},p=Object.keys(o);for(let _=p.length,t=0;t<_;t++){let k=p[t];o[k].parent!==null&&(a[k]=ZP(k,o))}return a}});var sT=tt((HH,lT)=>{var AD=RD(),$P=oT(),Yv={},eI=Object.keys(AD);function tI(i){let o=function(...a){let p=a[0];return p==null?p:(p.length>1&&(a=p),i(a))};return\"conversion\"in i&&(o.conversion=i.conversion),o}function nI(i){let o=function(...a){let p=a[0];if(p==null)return p;p.length>1&&(a=p);let _=i(a);if(typeof _==\"object\")for(let t=_.length,k=0;k<t;k++)_[k]=Math.round(_[k]);return _};return\"conversion\"in i&&(o.conversion=i.conversion),o}eI.forEach(i=>{Yv[i]={},Object.defineProperty(Yv[i],\"channels\",{value:AD[i].channels}),Object.defineProperty(Yv[i],\"labels\",{value:AD[i].labels});let o=$P(i);Object.keys(o).forEach(p=>{let _=o[p];Yv[i][p]=nI(_),Yv[i][p].raw=tI(_)})});lT.exports=Yv});var H_=tt((qH,aT)=>{\"use strict\";var fT=(i,o)=>(...a)=>`\u001b[${i(...a)+o}m`,cT=(i,o)=>(...a)=>{let p=i(...a);return`\u001b[${38+o};5;${p}m`},dT=(i,o)=>(...a)=>{let p=i(...a);return`\u001b[${38+o};2;${p[0]};${p[1]};${p[2]}m`},z_=i=>i,pT=(i,o,a)=>[i,o,a],Kv=(i,o,a)=>{Object.defineProperty(i,o,{get:()=>{let p=a();return Object.defineProperty(i,o,{value:p,enumerable:!0,configurable:!0}),p},enumerable:!0,configurable:!0})},OD,Xv=(i,o,a,p)=>{OD===void 0&&(OD=sT());let _=p?10:0,t={};for(let[k,L]of Object.entries(OD)){let O=k===\"ansi16\"?\"ansi\":k;k===o?t[O]=i(a,_):typeof L==\"object\"&&(t[O]=i(L[o],_))}return t};function rI(){let i=new Map,o={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};o.color.gray=o.color.blackBright,o.bgColor.bgGray=o.bgColor.bgBlackBright,o.color.grey=o.color.blackBright,o.bgColor.bgGrey=o.bgColor.bgBlackBright;for(let[a,p]of Object.entries(o)){for(let[_,t]of Object.entries(p))o[_]={open:`\u001b[${t[0]}m`,close:`\u001b[${t[1]}m`},p[_]=o[_],i.set(t[0],t[1]);Object.defineProperty(o,a,{value:p,enumerable:!1})}return Object.defineProperty(o,\"codes\",{value:i,enumerable:!1}),o.color.close=\"\u001b[39m\",o.bgColor.close=\"\u001b[49m\",Kv(o.color,\"ansi\",()=>Xv(fT,\"ansi16\",z_,!1)),Kv(o.color,\"ansi256\",()=>Xv(cT,\"ansi256\",z_,!1)),Kv(o.color,\"ansi16m\",()=>Xv(dT,\"rgb\",pT,!1)),Kv(o.bgColor,\"ansi\",()=>Xv(fT,\"ansi16\",z_,!0)),Kv(o.bgColor,\"ansi256\",()=>Xv(cT,\"ansi256\",z_,!0)),Kv(o.bgColor,\"ansi16m\",()=>Xv(dT,\"rgb\",pT,!0)),o}Object.defineProperty(aT,\"exports\",{enumerable:!0,get:rI})});var mT=tt((WH,hT)=>{\"use strict\";var Yy=U_(),iI=ED(),uI=H_(),MD=new Set([\"\u001b\",\"\\x9B\"]),oI=39,vT=i=>`${MD.values().next().value}[${i}m`,lI=i=>i.split(\" \").map(o=>Yy(o)),kD=(i,o,a)=>{let p=[...o],_=!1,t=Yy(iI(i[i.length-1]));for(let[k,L]of p.entries()){let O=Yy(L);if(t+O<=a?i[i.length-1]+=L:(i.push(L),t=0),MD.has(L))_=!0;else if(_&&L===\"m\"){_=!1;continue}_||(t+=O,t===a&&k<p.length-1&&(i.push(\"\"),t=0))}!t&&i[i.length-1].length>0&&i.length>1&&(i[i.length-2]+=i.pop())},sI=i=>{let o=i.split(\" \"),a=o.length;for(;a>0&&!(Yy(o[a-1])>0);)a--;return a===o.length?i:o.slice(0,a).join(\" \")+o.slice(a).join(\"\")},aI=(i,o,a={})=>{if(a.trim!==!1&&i.trim()===\"\")return\"\";let p=\"\",_=\"\",t,k=lI(i),L=[\"\"];for(let[O,C]of i.split(\" \").entries()){a.trim!==!1&&(L[L.length-1]=L[L.length-1].trimLeft());let U=Yy(L[L.length-1]);if(O!==0&&(U>=o&&(a.wordWrap===!1||a.trim===!1)&&(L.push(\"\"),U=0),(U>0||a.trim===!1)&&(L[L.length-1]+=\" \",U++)),a.hard&&k[O]>o){let H=o-U,W=1+Math.floor((k[O]-H-1)/o);Math.floor((k[O]-1)/o)<W&&L.push(\"\"),kD(L,C,o);continue}if(U+k[O]>o&&U>0&&k[O]>0){if(a.wordWrap===!1&&U<o){kD(L,C,o);continue}L.push(\"\")}if(U+k[O]>o&&a.wordWrap===!1){kD(L,C,o);continue}L[L.length-1]+=C}a.trim!==!1&&(L=L.map(sI)),p=L.join(`\n`);for(let[O,C]of[...p].entries()){if(_+=C,MD.has(C)){let H=parseFloat(/\\d[^m]*/.exec(p.slice(O,O+4)));t=H===oI?null:H}let U=uI.codes.get(Number(t));t&&U&&(p[O+1]===`\n`?_+=vT(U):C===`\n`&&(_+=vT(t)))}return _};hT.exports=(i,o,a)=>String(i).normalize().replace(/\\r\\n/g,`\n`).split(`\n`).map(p=>aI(p,o,a)).join(`\n`)});var _T=tt((VH,yT)=>{\"use strict\";var gT=\"[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]\",fI=i=>i&&i.exact?new RegExp(`^${gT}$`):new RegExp(gT,\"g\");yT.exports=fI});var ND=tt((GH,ET)=>{\"use strict\";var cI=wD(),dI=_T(),DT=H_(),wT=[\"\u001b\",\"\\x9B\"],q_=i=>`${wT[0]}[${i}m`,ST=(i,o,a)=>{let p=[];i=[...i];for(let _ of i){let t=_;_.match(\";\")&&(_=_.split(\";\")[0][0]+\"0\");let k=DT.codes.get(parseInt(_,10));if(k){let L=i.indexOf(k.toString());L>=0?i.splice(L,1):p.push(q_(o?k:t))}else if(o){p.push(q_(0));break}else p.push(q_(t))}if(o&&(p=p.filter((_,t)=>p.indexOf(_)===t),a!==void 0)){let _=q_(DT.codes.get(parseInt(a,10)));p=p.reduce((t,k)=>k===_?[k,...t]:[...t,k],[])}return p.join(\"\")};ET.exports=(i,o,a)=>{let p=[...i.normalize()],_=[];a=typeof a==\"number\"?a:p.length;let t=!1,k,L=0,O=\"\";for(let[C,U]of p.entries()){let H=!1;if(wT.includes(U)){let W=/\\d[^m]*/.exec(i.slice(C,C+18));k=W&&W.length>0?W[0]:void 0,L<a&&(t=!0,k!==void 0&&_.push(k))}else t&&U===\"m\"&&(t=!1,H=!0);if(!t&&!H&&++L,!dI({exact:!0}).test(U)&&cI(U.codePointAt())&&++L,L>o&&L<=a)O+=U;else if(L===o&&!t&&k!==void 0)O=ST(_);else if(L>=a){O+=ST(_,!0,k);break}}return O}});var CT=tt((YH,TT)=>{\"use strict\";var d2=ND(),pI=U_();function W_(i,o,a){if(i.charAt(o)===\" \")return o;for(let p=1;p<=3;p++)if(a){if(i.charAt(o+p)===\" \")return o+p}else if(i.charAt(o-p)===\" \")return o-p;return o}TT.exports=(i,o,a)=>{a=Ht({position:\"end\",preferTruncationOnSpace:!1},a);let{position:p,space:_,preferTruncationOnSpace:t}=a,k=\"\\u2026\",L=1;if(typeof i!=\"string\")throw new TypeError(`Expected \\`input\\` to be a string, got ${typeof i}`);if(typeof o!=\"number\")throw new TypeError(`Expected \\`columns\\` to be a number, got ${typeof o}`);if(o<1)return\"\";if(o===1)return k;let O=pI(i);if(O<=o)return i;if(p===\"start\"){if(t){let C=W_(i,O-o+1,!0);return k+d2(i,C,O).trim()}return _===!0&&(k+=\" \",L=2),k+d2(i,O-o+L,O)}if(p===\"middle\"){_===!0&&(k=\" \"+k+\" \",L=3);let C=Math.floor(o/2);if(t){let U=W_(i,C),H=W_(i,O-(o-C)+1,!0);return d2(i,0,U)+k+d2(i,H,O).trim()}return d2(i,0,C)+k+d2(i,O-(o-C)+L,O)}if(p===\"end\"){if(t){let C=W_(i,o-1);return d2(i,0,C)+k}return _===!0&&(k=\" \"+k,L=2),d2(i,0,o-L)+k}throw new Error(`Expected \\`options.position\\` to be either \\`start\\`, \\`middle\\` or \\`end\\`, got ${p}`)}});var FD=tt(Ky=>{\"use strict\";var xT=Ky&&Ky.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Ky,\"__esModule\",{value:!0});var hI=xT(mT()),vI=xT(CT()),LD={};Ky.default=(i,o,a)=>{let p=i+String(o)+String(a);if(LD[p])return LD[p];let _=i;if(a===\"wrap\"&&(_=hI.default(i,o,{trim:!1,hard:!0})),a.startsWith(\"truncate\")){let t=\"end\";a===\"truncate-middle\"&&(t=\"middle\"),a===\"truncate-start\"&&(t=\"start\"),_=vI.default(i,o,{position:t})}return LD[p]=_,_}});var ID=tt(PD=>{\"use strict\";Object.defineProperty(PD,\"__esModule\",{value:!0});var RT=i=>{let o=\"\";if(i.childNodes.length>0)for(let a of i.childNodes){let p=\"\";a.nodeName===\"#text\"?p=a.nodeValue:((a.nodeName===\"ink-text\"||a.nodeName===\"ink-virtual-text\")&&(p=RT(a)),p.length>0&&typeof a.internal_transform==\"function\"&&(p=a.internal_transform(p))),o+=p}return o};PD.default=RT});var bD=tt(c0=>{\"use strict\";var Xy=c0&&c0.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(c0,\"__esModule\",{value:!0});c0.setTextNodeValue=c0.createTextNode=c0.setStyle=c0.setAttribute=c0.removeChildNode=c0.insertBeforeNode=c0.appendChildNode=c0.createNode=c0.TEXT_NAME=void 0;var mI=Xy($p()),AT=Xy($S()),yI=Xy(eT()),gI=Xy(FD()),_I=Xy(ID());c0.TEXT_NAME=\"#text\";c0.createNode=i=>{var o;let a={nodeName:i,style:{},attributes:{},childNodes:[],parentNode:null,yogaNode:i===\"ink-virtual-text\"?void 0:mI.default.Node.create()};return i===\"ink-text\"&&((o=a.yogaNode)===null||o===void 0||o.setMeasureFunc(EI.bind(null,a))),a};c0.appendChildNode=(i,o)=>{var a;o.parentNode&&c0.removeChildNode(o.parentNode,o),o.parentNode=i,i.childNodes.push(o),o.yogaNode&&((a=i.yogaNode)===null||a===void 0||a.insertChild(o.yogaNode,i.yogaNode.getChildCount())),(i.nodeName===\"ink-text\"||i.nodeName===\"ink-virtual-text\")&&V_(i)};c0.insertBeforeNode=(i,o,a)=>{var p,_;o.parentNode&&c0.removeChildNode(o.parentNode,o),o.parentNode=i;let t=i.childNodes.indexOf(a);if(t>=0){i.childNodes.splice(t,0,o),o.yogaNode&&((p=i.yogaNode)===null||p===void 0||p.insertChild(o.yogaNode,t));return}i.childNodes.push(o),o.yogaNode&&((_=i.yogaNode)===null||_===void 0||_.insertChild(o.yogaNode,i.yogaNode.getChildCount())),(i.nodeName===\"ink-text\"||i.nodeName===\"ink-virtual-text\")&&V_(i)};c0.removeChildNode=(i,o)=>{var a,p;o.yogaNode&&((p=(a=o.parentNode)===null||a===void 0?void 0:a.yogaNode)===null||p===void 0||p.removeChild(o.yogaNode)),o.parentNode=null;let _=i.childNodes.indexOf(o);_>=0&&i.childNodes.splice(_,1),(i.nodeName===\"ink-text\"||i.nodeName===\"ink-virtual-text\")&&V_(i)};c0.setAttribute=(i,o,a)=>{i.attributes[o]=a};c0.setStyle=(i,o)=>{i.style=o,i.yogaNode&&yI.default(i.yogaNode,o)};c0.createTextNode=i=>{let o={nodeName:\"#text\",nodeValue:i,yogaNode:void 0,parentNode:null,style:{}};return c0.setTextNodeValue(o,i),o};var EI=function(i,o){var a,p;let _=i.nodeName===\"#text\"?i.nodeValue:_I.default(i),t=AT.default(_);if(t.width<=o||t.width>=1&&o>0&&o<1)return t;let k=(p=(a=i.style)===null||a===void 0?void 0:a.textWrap)!==null&&p!==void 0?p:\"wrap\",L=gI.default(_,o,k);return AT.default(L)},OT=i=>{var o;if(!(!i||!i.parentNode))return(o=i.yogaNode)!==null&&o!==void 0?o:OT(i.parentNode)},V_=i=>{let o=OT(i);o==null||o.markDirty()};c0.setTextNodeValue=(i,o)=>{typeof o!=\"string\"&&(o=String(o)),i.nodeValue=o,V_(i)}});var eh=tt((JH,MT)=>{\"use strict\";MT.exports={BINARY_TYPES:[\"nodebuffer\",\"arraybuffer\",\"fragments\"],GUID:\"258EAFA5-E914-47DA-95CA-C5AB0DC85B11\",kStatusCode:Symbol(\"status-code\"),kWebSocket:Symbol(\"websocket\"),EMPTY_BUFFER:Buffer.alloc(0),NOOP:()=>{}}});var Qy=tt((ZH,BD)=>{\"use strict\";var{EMPTY_BUFFER:DI}=eh();function kT(i,o){if(i.length===0)return DI;if(i.length===1)return i[0];let a=Buffer.allocUnsafe(o),p=0;for(let _=0;_<i.length;_++){let t=i[_];a.set(t,p),p+=t.length}return p<o?a.slice(0,p):a}function NT(i,o,a,p,_){for(let t=0;t<_;t++)a[p+t]=i[t]^o[t&3]}function LT(i,o){let a=i.length;for(let p=0;p<a;p++)i[p]^=o[p&3]}function FT(i){return i.byteLength===i.buffer.byteLength?i.buffer:i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength)}function G_(i){if(G_.readOnly=!0,Buffer.isBuffer(i))return i;let o;return i instanceof ArrayBuffer?o=Buffer.from(i):ArrayBuffer.isView(i)?o=Buffer.from(i.buffer,i.byteOffset,i.byteLength):(o=Buffer.from(i),G_.readOnly=!1),o}try{let i=require(\"bufferutil\"),o=i.BufferUtil||i;BD.exports={concat:kT,mask(a,p,_,t,k){k<48?NT(a,p,_,t,k):o.mask(a,p,_,t,k)},toArrayBuffer:FT,toBuffer:G_,unmask(a,p){a.length<32?LT(a,p):o.unmask(a,p)}}}catch(i){BD.exports={concat:kT,mask:NT,toArrayBuffer:FT,toBuffer:G_,unmask:LT}}});var BT=tt(($H,PT)=>{\"use strict\";var IT=Symbol(\"kDone\"),UD=Symbol(\"kRun\"),bT=class{constructor(o){this[IT]=()=>{this.pending--,this[UD]()},this.concurrency=o||Infinity,this.jobs=[],this.pending=0}add(o){this.jobs.push(o),this[UD]()}[UD](){if(this.pending!==this.concurrency&&this.jobs.length){let o=this.jobs.shift();this.pending++,o(this[IT])}}};PT.exports=bT});var $y=tt((eq,UT)=>{\"use strict\";var Jy=require(\"zlib\"),jT=Qy(),wI=BT(),{kStatusCode:zT,NOOP:SI}=eh(),TI=Buffer.from([0,0,255,255]),Y_=Symbol(\"permessage-deflate\"),K1=Symbol(\"total-length\"),Zy=Symbol(\"callback\"),p2=Symbol(\"buffers\"),jD=Symbol(\"error\"),K_,HT=class{constructor(o,a,p){if(this._maxPayload=p|0,this._options=o||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!a,this._deflate=null,this._inflate=null,this.params=null,!K_){let _=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;K_=new wI(_)}}static get extensionName(){return\"permessage-deflate\"}offer(){let o={};return this._options.serverNoContextTakeover&&(o.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(o.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(o.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?o.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(o.client_max_window_bits=!0),o}accept(o){return o=this.normalizeParams(o),this.params=this._isServer?this.acceptAsServer(o):this.acceptAsClient(o),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let o=this._deflate[Zy];this._deflate.close(),this._deflate=null,o&&o(new Error(\"The deflate stream was closed while data was being processed\"))}}acceptAsServer(o){let a=this._options,p=o.find(_=>!(a.serverNoContextTakeover===!1&&_.server_no_context_takeover||_.server_max_window_bits&&(a.serverMaxWindowBits===!1||typeof a.serverMaxWindowBits==\"number\"&&a.serverMaxWindowBits>_.server_max_window_bits)||typeof a.clientMaxWindowBits==\"number\"&&!_.client_max_window_bits));if(!p)throw new Error(\"None of the extension offers can be accepted\");return a.serverNoContextTakeover&&(p.server_no_context_takeover=!0),a.clientNoContextTakeover&&(p.client_no_context_takeover=!0),typeof a.serverMaxWindowBits==\"number\"&&(p.server_max_window_bits=a.serverMaxWindowBits),typeof a.clientMaxWindowBits==\"number\"?p.client_max_window_bits=a.clientMaxWindowBits:(p.client_max_window_bits===!0||a.clientMaxWindowBits===!1)&&delete p.client_max_window_bits,p}acceptAsClient(o){let a=o[0];if(this._options.clientNoContextTakeover===!1&&a.client_no_context_takeover)throw new Error('Unexpected parameter \"client_no_context_takeover\"');if(!a.client_max_window_bits)typeof this._options.clientMaxWindowBits==\"number\"&&(a.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits==\"number\"&&a.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter \"client_max_window_bits\"');return a}normalizeParams(o){return o.forEach(a=>{Object.keys(a).forEach(p=>{let _=a[p];if(_.length>1)throw new Error(`Parameter \"${p}\" must have only a single value`);if(_=_[0],p===\"client_max_window_bits\"){if(_!==!0){let t=+_;if(!Number.isInteger(t)||t<8||t>15)throw new TypeError(`Invalid value for parameter \"${p}\": ${_}`);_=t}else if(!this._isServer)throw new TypeError(`Invalid value for parameter \"${p}\": ${_}`)}else if(p===\"server_max_window_bits\"){let t=+_;if(!Number.isInteger(t)||t<8||t>15)throw new TypeError(`Invalid value for parameter \"${p}\": ${_}`);_=t}else if(p===\"client_no_context_takeover\"||p===\"server_no_context_takeover\"){if(_!==!0)throw new TypeError(`Invalid value for parameter \"${p}\": ${_}`)}else throw new Error(`Unknown parameter \"${p}\"`);a[p]=_})}),o}decompress(o,a,p){K_.add(_=>{this._decompress(o,a,(t,k)=>{_(),p(t,k)})})}compress(o,a,p){K_.add(_=>{this._compress(o,a,(t,k)=>{_(),p(t,k)})})}_decompress(o,a,p){let _=this._isServer?\"client\":\"server\";if(!this._inflate){let t=`${_}_max_window_bits`,k=typeof this.params[t]!=\"number\"?Jy.Z_DEFAULT_WINDOWBITS:this.params[t];this._inflate=Jy.createInflateRaw(Zr(Ht({},this._options.zlibInflateOptions),{windowBits:k})),this._inflate[Y_]=this,this._inflate[K1]=0,this._inflate[p2]=[],this._inflate.on(\"error\",xI),this._inflate.on(\"data\",qT)}this._inflate[Zy]=p,this._inflate.write(o),a&&this._inflate.write(TI),this._inflate.flush(()=>{let t=this._inflate[jD];if(t){this._inflate.close(),this._inflate=null,p(t);return}let k=jT.concat(this._inflate[p2],this._inflate[K1]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[K1]=0,this._inflate[p2]=[],a&&this.params[`${_}_no_context_takeover`]&&this._inflate.reset()),p(null,k)})}_compress(o,a,p){let _=this._isServer?\"server\":\"client\";if(!this._deflate){let t=`${_}_max_window_bits`,k=typeof this.params[t]!=\"number\"?Jy.Z_DEFAULT_WINDOWBITS:this.params[t];this._deflate=Jy.createDeflateRaw(Zr(Ht({},this._options.zlibDeflateOptions),{windowBits:k})),this._deflate[K1]=0,this._deflate[p2]=[],this._deflate.on(\"error\",SI),this._deflate.on(\"data\",CI)}this._deflate[Zy]=p,this._deflate.write(o),this._deflate.flush(Jy.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let t=jT.concat(this._deflate[p2],this._deflate[K1]);a&&(t=t.slice(0,t.length-4)),this._deflate[Zy]=null,this._deflate[K1]=0,this._deflate[p2]=[],a&&this.params[`${_}_no_context_takeover`]&&this._deflate.reset(),p(null,t)})}};UT.exports=HT;function CI(i){this[p2].push(i),this[K1]+=i.length}function qT(i){if(this[K1]+=i.length,this[Y_]._maxPayload<1||this[K1]<=this[Y_]._maxPayload){this[p2].push(i);return}this[jD]=new RangeError(\"Max payload size exceeded\"),this[jD][zT]=1009,this.removeListener(\"data\",qT),this.reset()}function xI(i){this[Y_]._inflate=null,i[zT]=1007,this[Zy](i)}});var HD=tt((tq,zD)=>{\"use strict\";function WT(i){return i>=1e3&&i<=1014&&i!==1004&&i!==1005&&i!==1006||i>=3e3&&i<=4999}function VT(i){let o=i.length,a=0;for(;a<o;)if((i[a]&128)==0)a++;else if((i[a]&224)==192){if(a+1===o||(i[a+1]&192)!=128||(i[a]&254)==192)return!1;a+=2}else if((i[a]&240)==224){if(a+2>=o||(i[a+1]&192)!=128||(i[a+2]&192)!=128||i[a]===224&&(i[a+1]&224)==128||i[a]===237&&(i[a+1]&224)==160)return!1;a+=3}else if((i[a]&248)==240){if(a+3>=o||(i[a+1]&192)!=128||(i[a+2]&192)!=128||(i[a+3]&192)!=128||i[a]===240&&(i[a+1]&240)==128||i[a]===244&&i[a+1]>143||i[a]>244)return!1;a+=4}else return!1;return!0}try{let i=require(\"utf-8-validate\");typeof i==\"object\"&&(i=i.Validation.isValidUTF8),zD.exports={isValidStatusCode:WT,isValidUTF8(o){return o.length<150?VT(o):i(o)}}}catch(i){zD.exports={isValidStatusCode:WT,isValidUTF8:VT}}});var VD=tt((nq,GT)=>{\"use strict\";var{Writable:RI}=require(\"stream\"),YT=$y(),{BINARY_TYPES:AI,EMPTY_BUFFER:OI,kStatusCode:MI,kWebSocket:kI}=eh(),{concat:qD,toArrayBuffer:NI,unmask:LI}=Qy(),{isValidStatusCode:FI,isValidUTF8:KT}=HD(),eg=0,XT=1,QT=2,JT=3,WD=4,PI=5,ZT=class extends RI{constructor(o,a,p,_){super();this._binaryType=o||AI[0],this[kI]=void 0,this._extensions=a||{},this._isServer=!!p,this._maxPayload=_|0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._state=eg,this._loop=!1}_write(o,a,p){if(this._opcode===8&&this._state==eg)return p();this._bufferedBytes+=o.length,this._buffers.push(o),this.startLoop(p)}consume(o){if(this._bufferedBytes-=o,o===this._buffers[0].length)return this._buffers.shift();if(o<this._buffers[0].length){let p=this._buffers[0];return this._buffers[0]=p.slice(o),p.slice(0,o)}let a=Buffer.allocUnsafe(o);do{let p=this._buffers[0],_=a.length-o;o>=p.length?a.set(this._buffers.shift(),_):(a.set(new Uint8Array(p.buffer,p.byteOffset,o),_),this._buffers[0]=p.slice(o)),o-=p.length}while(o>0);return a}startLoop(o){let a;this._loop=!0;do switch(this._state){case eg:a=this.getInfo();break;case XT:a=this.getPayloadLength16();break;case QT:a=this.getPayloadLength64();break;case JT:this.getMask();break;case WD:a=this.getData(o);break;default:this._loop=!1;return}while(this._loop);o(a)}getInfo(){if(this._bufferedBytes<2){this._loop=!1;return}let o=this.consume(2);if((o[0]&48)!=0)return this._loop=!1,Yo(RangeError,\"RSV2 and RSV3 must be clear\",!0,1002);let a=(o[0]&64)==64;if(a&&!this._extensions[YT.extensionName])return this._loop=!1,Yo(RangeError,\"RSV1 must be clear\",!0,1002);if(this._fin=(o[0]&128)==128,this._opcode=o[0]&15,this._payloadLength=o[1]&127,this._opcode===0){if(a)return this._loop=!1,Yo(RangeError,\"RSV1 must be clear\",!0,1002);if(!this._fragmented)return this._loop=!1,Yo(RangeError,\"invalid opcode 0\",!0,1002);this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented)return this._loop=!1,Yo(RangeError,`invalid opcode ${this._opcode}`,!0,1002);this._compressed=a}else if(this._opcode>7&&this._opcode<11){if(!this._fin)return this._loop=!1,Yo(RangeError,\"FIN must be set\",!0,1002);if(a)return this._loop=!1,Yo(RangeError,\"RSV1 must be clear\",!0,1002);if(this._payloadLength>125)return this._loop=!1,Yo(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002)}else return this._loop=!1,Yo(RangeError,`invalid opcode ${this._opcode}`,!0,1002);if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(o[1]&128)==128,this._isServer){if(!this._masked)return this._loop=!1,Yo(RangeError,\"MASK must be set\",!0,1002)}else if(this._masked)return this._loop=!1,Yo(RangeError,\"MASK must be clear\",!0,1002);if(this._payloadLength===126)this._state=XT;else if(this._payloadLength===127)this._state=QT;else return this.haveLength()}getPayloadLength16(){if(this._bufferedBytes<2){this._loop=!1;return}return this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength()}getPayloadLength64(){if(this._bufferedBytes<8){this._loop=!1;return}let o=this.consume(8),a=o.readUInt32BE(0);return a>Math.pow(2,53-32)-1?(this._loop=!1,Yo(RangeError,\"Unsupported WebSocket frame: payload length > 2^53 - 1\",!1,1009)):(this._payloadLength=a*Math.pow(2,32)+o.readUInt32BE(4),this.haveLength())}haveLength(){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0))return this._loop=!1,Yo(RangeError,\"Max payload size exceeded\",!1,1009);this._masked?this._state=JT:this._state=WD}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=WD}getData(o){let a=OI;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}a=this.consume(this._payloadLength),this._masked&&LI(a,this._mask)}if(this._opcode>7)return this.controlMessage(a);if(this._compressed){this._state=PI,this.decompress(a,o);return}return a.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(a)),this.dataMessage()}decompress(o,a){this._extensions[YT.extensionName].decompress(o,this._fin,(_,t)=>{if(_)return a(_);if(t.length){if(this._messageLength+=t.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return a(Yo(RangeError,\"Max payload size exceeded\",!1,1009));this._fragments.push(t)}let k=this.dataMessage();if(k)return a(k);this.startLoop(a)})}dataMessage(){if(this._fin){let o=this._messageLength,a=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let p;this._binaryType===\"nodebuffer\"?p=qD(a,o):this._binaryType===\"arraybuffer\"?p=NI(qD(a,o)):p=a,this.emit(\"message\",p)}else{let p=qD(a,o);if(!KT(p))return this._loop=!1,Yo(Error,\"invalid UTF-8 sequence\",!0,1007);this.emit(\"message\",p.toString())}}this._state=eg}controlMessage(o){if(this._opcode===8)if(this._loop=!1,o.length===0)this.emit(\"conclude\",1005,\"\"),this.end();else{if(o.length===1)return Yo(RangeError,\"invalid payload length 1\",!0,1002);{let a=o.readUInt16BE(0);if(!FI(a))return Yo(RangeError,`invalid status code ${a}`,!0,1002);let p=o.slice(2);if(!KT(p))return Yo(Error,\"invalid UTF-8 sequence\",!0,1007);this.emit(\"conclude\",a,p.toString()),this.end()}}else this._opcode===9?this.emit(\"ping\",o):this.emit(\"pong\",o);this._state=eg}};GT.exports=ZT;function Yo(i,o,a,p){let _=new i(a?`Invalid WebSocket frame: ${o}`:o);return Error.captureStackTrace(_,Yo),_[MI]=p,_}});var GD=tt((rq,$T)=>{\"use strict\";var{randomFillSync:II}=require(\"crypto\"),eC=$y(),{EMPTY_BUFFER:bI}=eh(),{isValidStatusCode:BI}=HD(),{mask:tC,toBuffer:X1}=Qy(),th=Buffer.alloc(4),Q1=class{constructor(o,a){this._extensions=a||{},this._socket=o,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._deflating=!1,this._queue=[]}static frame(o,a){let p=a.mask&&a.readOnly,_=a.mask?6:2,t=o.length;o.length>=65536?(_+=8,t=127):o.length>125&&(_+=2,t=126);let k=Buffer.allocUnsafe(p?o.length+_:_);return k[0]=a.fin?a.opcode|128:a.opcode,a.rsv1&&(k[0]|=64),k[1]=t,t===126?k.writeUInt16BE(o.length,2):t===127&&(k.writeUInt32BE(0,2),k.writeUInt32BE(o.length,6)),a.mask?(II(th,0,4),k[1]|=128,k[_-4]=th[0],k[_-3]=th[1],k[_-2]=th[2],k[_-1]=th[3],p?(tC(o,th,k,_,o.length),[k]):(tC(o,th,o,0,o.length),[k,o])):[k,o]}close(o,a,p,_){let t;if(o===void 0)t=bI;else{if(typeof o!=\"number\"||!BI(o))throw new TypeError(\"First argument must be a valid error code number\");if(a===void 0||a===\"\")t=Buffer.allocUnsafe(2),t.writeUInt16BE(o,0);else{let k=Buffer.byteLength(a);if(k>123)throw new RangeError(\"The message must not be greater than 123 bytes\");t=Buffer.allocUnsafe(2+k),t.writeUInt16BE(o,0),t.write(a,2)}}this._deflating?this.enqueue([this.doClose,t,p,_]):this.doClose(t,p,_)}doClose(o,a,p){this.sendFrame(Q1.frame(o,{fin:!0,rsv1:!1,opcode:8,mask:a,readOnly:!1}),p)}ping(o,a,p){let _=X1(o);if(_.length>125)throw new RangeError(\"The data size must not be greater than 125 bytes\");this._deflating?this.enqueue([this.doPing,_,a,X1.readOnly,p]):this.doPing(_,a,X1.readOnly,p)}doPing(o,a,p,_){this.sendFrame(Q1.frame(o,{fin:!0,rsv1:!1,opcode:9,mask:a,readOnly:p}),_)}pong(o,a,p){let _=X1(o);if(_.length>125)throw new RangeError(\"The data size must not be greater than 125 bytes\");this._deflating?this.enqueue([this.doPong,_,a,X1.readOnly,p]):this.doPong(_,a,X1.readOnly,p)}doPong(o,a,p,_){this.sendFrame(Q1.frame(o,{fin:!0,rsv1:!1,opcode:10,mask:a,readOnly:p}),_)}send(o,a,p){let _=X1(o),t=this._extensions[eC.extensionName],k=a.binary?2:1,L=a.compress;if(this._firstFragment?(this._firstFragment=!1,L&&t&&(L=_.length>=t._threshold),this._compress=L):(L=!1,k=0),a.fin&&(this._firstFragment=!0),t){let O={fin:a.fin,rsv1:L,opcode:k,mask:a.mask,readOnly:X1.readOnly};this._deflating?this.enqueue([this.dispatch,_,this._compress,O,p]):this.dispatch(_,this._compress,O,p)}else this.sendFrame(Q1.frame(_,{fin:a.fin,rsv1:!1,opcode:k,mask:a.mask,readOnly:X1.readOnly}),p)}dispatch(o,a,p,_){if(!a){this.sendFrame(Q1.frame(o,p),_);return}let t=this._extensions[eC.extensionName];this._bufferedBytes+=o.length,this._deflating=!0,t.compress(o,p.fin,(k,L)=>{if(this._socket.destroyed){let O=new Error(\"The socket was closed while data was being compressed\");typeof _==\"function\"&&_(O);for(let C=0;C<this._queue.length;C++){let U=this._queue[C][4];typeof U==\"function\"&&U(O)}return}this._bufferedBytes-=o.length,this._deflating=!1,p.readOnly=!1,this.sendFrame(Q1.frame(L,p),_),this.dequeue()})}dequeue(){for(;!this._deflating&&this._queue.length;){let o=this._queue.shift();this._bufferedBytes-=o[1].length,Reflect.apply(o[0],this,o.slice(1))}}enqueue(o){this._bufferedBytes+=o[1].length,this._queue.push(o)}sendFrame(o,a){o.length===2?(this._socket.cork(),this._socket.write(o[0]),this._socket.write(o[1],a),this._socket.uncork()):this._socket.write(o[0],a)}};$T.exports=Q1});var lC=tt((iq,nC)=>{\"use strict\";var tg=class{constructor(o,a){this.target=a,this.type=o}},rC=class extends tg{constructor(o,a){super(\"message\",a);this.data=o}},iC=class extends tg{constructor(o,a,p){super(\"close\",p);this.wasClean=p._closeFrameReceived&&p._closeFrameSent,this.reason=a,this.code=o}},uC=class extends tg{constructor(o){super(\"open\",o)}},oC=class extends tg{constructor(o,a){super(\"error\",a);this.message=o.message,this.error=o}},UI={addEventListener(i,o,a){if(typeof o!=\"function\")return;function p(O){o.call(this,new rC(O,this))}function _(O,C){o.call(this,new iC(O,C,this))}function t(O){o.call(this,new oC(O,this))}function k(){o.call(this,new uC(this))}let L=a&&a.once?\"once\":\"on\";i===\"message\"?(p._listener=o,this[L](i,p)):i===\"close\"?(_._listener=o,this[L](i,_)):i===\"error\"?(t._listener=o,this[L](i,t)):i===\"open\"?(k._listener=o,this[L](i,k)):this[L](i,o)},removeEventListener(i,o){let a=this.listeners(i);for(let p=0;p<a.length;p++)(a[p]===o||a[p]._listener===o)&&this.removeListener(i,a[p])}};nC.exports=UI});var YD=tt((uq,sC)=>{\"use strict\";var ng=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function jc(i,o,a){i[o]===void 0?i[o]=[a]:i[o].push(a)}function jI(i){let o=Object.create(null);if(i===void 0||i===\"\")return o;let a=Object.create(null),p=!1,_=!1,t=!1,k,L,O=-1,C=-1,U=0;for(;U<i.length;U++){let W=i.charCodeAt(U);if(k===void 0)if(C===-1&&ng[W]===1)O===-1&&(O=U);else if(W===32||W===9)C===-1&&O!==-1&&(C=U);else if(W===59||W===44){if(O===-1)throw new SyntaxError(`Unexpected character at index ${U}`);C===-1&&(C=U);let ne=i.slice(O,C);W===44?(jc(o,ne,a),a=Object.create(null)):k=ne,O=C=-1}else throw new SyntaxError(`Unexpected character at index ${U}`);else if(L===void 0)if(C===-1&&ng[W]===1)O===-1&&(O=U);else if(W===32||W===9)C===-1&&O!==-1&&(C=U);else if(W===59||W===44){if(O===-1)throw new SyntaxError(`Unexpected character at index ${U}`);C===-1&&(C=U),jc(a,i.slice(O,C),!0),W===44&&(jc(o,k,a),a=Object.create(null),k=void 0),O=C=-1}else if(W===61&&O!==-1&&C===-1)L=i.slice(O,U),O=C=-1;else throw new SyntaxError(`Unexpected character at index ${U}`);else if(_){if(ng[W]!==1)throw new SyntaxError(`Unexpected character at index ${U}`);O===-1?O=U:p||(p=!0),_=!1}else if(t)if(ng[W]===1)O===-1&&(O=U);else if(W===34&&O!==-1)t=!1,C=U;else if(W===92)_=!0;else throw new SyntaxError(`Unexpected character at index ${U}`);else if(W===34&&i.charCodeAt(U-1)===61)t=!0;else if(C===-1&&ng[W]===1)O===-1&&(O=U);else if(O!==-1&&(W===32||W===9))C===-1&&(C=U);else if(W===59||W===44){if(O===-1)throw new SyntaxError(`Unexpected character at index ${U}`);C===-1&&(C=U);let ne=i.slice(O,C);p&&(ne=ne.replace(/\\\\/g,\"\"),p=!1),jc(a,L,ne),W===44&&(jc(o,k,a),a=Object.create(null),k=void 0),L=void 0,O=C=-1}else throw new SyntaxError(`Unexpected character at index ${U}`)}if(O===-1||t)throw new SyntaxError(\"Unexpected end of input\");C===-1&&(C=U);let H=i.slice(O,C);return k===void 0?jc(o,H,a):(L===void 0?jc(a,H,!0):p?jc(a,L,H.replace(/\\\\/g,\"\")):jc(a,L,H),jc(o,k,a)),o}function zI(i){return Object.keys(i).map(o=>{let a=i[o];return Array.isArray(a)||(a=[a]),a.map(p=>[o].concat(Object.keys(p).map(_=>{let t=p[_];return Array.isArray(t)||(t=[t]),t.map(k=>k===!0?_:`${_}=${k}`).join(\"; \")})).join(\"; \")).join(\", \")}).join(\", \")}sC.exports={format:zI,parse:jI}});var ZD=tt((oq,aC)=>{\"use strict\";var HI=require(\"events\"),qI=require(\"https\"),WI=require(\"http\"),fC=require(\"net\"),VI=require(\"tls\"),{randomBytes:GI,createHash:YI}=require(\"crypto\"),{URL:KD}=require(\"url\"),h2=$y(),KI=VD(),XI=GD(),{BINARY_TYPES:cC,EMPTY_BUFFER:XD,GUID:QI,kStatusCode:JI,kWebSocket:ta,NOOP:dC}=eh(),{addEventListener:ZI,removeEventListener:$I}=lC(),{format:eb,parse:tb}=YD(),{toBuffer:nb}=Qy(),pC=[\"CONNECTING\",\"OPEN\",\"CLOSING\",\"CLOSED\"],QD=[8,13],rb=30*1e3,Gi=class extends HI{constructor(o,a,p){super();this._binaryType=cC[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=\"\",this._closeTimer=null,this._extensions={},this._protocol=\"\",this._readyState=Gi.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,o!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,Array.isArray(a)?a=a.join(\", \"):typeof a==\"object\"&&a!==null&&(p=a,a=void 0),hC(this,o,a,p)):this._isServer=!0}get binaryType(){return this._binaryType}set binaryType(o){!cC.includes(o)||(this._binaryType=o,this._receiver&&(this._receiver._binaryType=o))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(o,a,p){let _=new KI(this.binaryType,this._extensions,this._isServer,p);this._sender=new XI(o,this._extensions),this._receiver=_,this._socket=o,_[ta]=this,o[ta]=this,_.on(\"conclude\",ib),_.on(\"drain\",ub),_.on(\"error\",ob),_.on(\"message\",lb),_.on(\"ping\",sb),_.on(\"pong\",ab),o.setTimeout(0),o.setNoDelay(),a.length>0&&o.unshift(a),o.on(\"close\",vC),o.on(\"data\",X_),o.on(\"end\",mC),o.on(\"error\",yC),this._readyState=Gi.OPEN,this.emit(\"open\")}emitClose(){if(!this._socket){this._readyState=Gi.CLOSED,this.emit(\"close\",this._closeCode,this._closeMessage);return}this._extensions[h2.extensionName]&&this._extensions[h2.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=Gi.CLOSED,this.emit(\"close\",this._closeCode,this._closeMessage)}close(o,a){if(this.readyState!==Gi.CLOSED){if(this.readyState===Gi.CONNECTING){let p=\"WebSocket was closed before the connection was established\";return J1(this,this._req,p)}if(this.readyState===Gi.CLOSING){this._closeFrameSent&&this._closeFrameReceived&&this._socket.end();return}this._readyState=Gi.CLOSING,this._sender.close(o,a,!this._isServer,p=>{p||(this._closeFrameSent=!0,this._closeFrameReceived&&this._socket.end())}),this._closeTimer=setTimeout(this._socket.destroy.bind(this._socket),rb)}}ping(o,a,p){if(this.readyState===Gi.CONNECTING)throw new Error(\"WebSocket is not open: readyState 0 (CONNECTING)\");if(typeof o==\"function\"?(p=o,o=a=void 0):typeof a==\"function\"&&(p=a,a=void 0),typeof o==\"number\"&&(o=o.toString()),this.readyState!==Gi.OPEN){JD(this,o,p);return}a===void 0&&(a=!this._isServer),this._sender.ping(o||XD,a,p)}pong(o,a,p){if(this.readyState===Gi.CONNECTING)throw new Error(\"WebSocket is not open: readyState 0 (CONNECTING)\");if(typeof o==\"function\"?(p=o,o=a=void 0):typeof a==\"function\"&&(p=a,a=void 0),typeof o==\"number\"&&(o=o.toString()),this.readyState!==Gi.OPEN){JD(this,o,p);return}a===void 0&&(a=!this._isServer),this._sender.pong(o||XD,a,p)}send(o,a,p){if(this.readyState===Gi.CONNECTING)throw new Error(\"WebSocket is not open: readyState 0 (CONNECTING)\");if(typeof a==\"function\"&&(p=a,a={}),typeof o==\"number\"&&(o=o.toString()),this.readyState!==Gi.OPEN){JD(this,o,p);return}let _=Ht({binary:typeof o!=\"string\",mask:!this._isServer,compress:!0,fin:!0},a);this._extensions[h2.extensionName]||(_.compress=!1),this._sender.send(o||XD,_,p)}terminate(){if(this.readyState!==Gi.CLOSED){if(this.readyState===Gi.CONNECTING){let o=\"WebSocket was closed before the connection was established\";return J1(this,this._req,o)}this._socket&&(this._readyState=Gi.CLOSING,this._socket.destroy())}}};pC.forEach((i,o)=>{let a={enumerable:!0,value:o};Object.defineProperty(Gi.prototype,i,a),Object.defineProperty(Gi,i,a)});[\"binaryType\",\"bufferedAmount\",\"extensions\",\"protocol\",\"readyState\",\"url\"].forEach(i=>{Object.defineProperty(Gi.prototype,i,{enumerable:!0})});[\"open\",\"error\",\"close\",\"message\"].forEach(i=>{Object.defineProperty(Gi.prototype,`on${i}`,{configurable:!0,enumerable:!0,get(){let o=this.listeners(i);for(let a=0;a<o.length;a++)if(o[a]._listener)return o[a]._listener},set(o){let a=this.listeners(i);for(let p=0;p<a.length;p++)a[p]._listener&&this.removeListener(i,a[p]);this.addEventListener(i,o)}})});Gi.prototype.addEventListener=ZI;Gi.prototype.removeEventListener=$I;aC.exports=Gi;function hC(i,o,a,p){let _=Zr(Ht({protocolVersion:QD[1],maxPayload:100*1024*1024,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10},p),{createConnection:void 0,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:void 0,host:void 0,path:void 0,port:void 0});if(!QD.includes(_.protocolVersion))throw new RangeError(`Unsupported protocol version: ${_.protocolVersion} (supported versions: ${QD.join(\", \")})`);let t;o instanceof KD?(t=o,i._url=o.href):(t=new KD(o),i._url=o);let k=t.protocol===\"ws+unix:\";if(!t.host&&(!k||!t.pathname))throw new Error(`Invalid URL: ${i.url}`);let L=t.protocol===\"wss:\"||t.protocol===\"https:\",O=L?443:80,C=GI(16).toString(\"base64\"),U=L?qI.get:WI.get,H;if(_.createConnection=L?cb:fb,_.defaultPort=_.defaultPort||O,_.port=t.port||O,_.host=t.hostname.startsWith(\"[\")?t.hostname.slice(1,-1):t.hostname,_.headers=Ht({\"Sec-WebSocket-Version\":_.protocolVersion,\"Sec-WebSocket-Key\":C,Connection:\"Upgrade\",Upgrade:\"websocket\"},_.headers),_.path=t.pathname+t.search,_.timeout=_.handshakeTimeout,_.perMessageDeflate&&(H=new h2(_.perMessageDeflate!==!0?_.perMessageDeflate:{},!1,_.maxPayload),_.headers[\"Sec-WebSocket-Extensions\"]=eb({[h2.extensionName]:H.offer()})),a&&(_.headers[\"Sec-WebSocket-Protocol\"]=a),_.origin&&(_.protocolVersion<13?_.headers[\"Sec-WebSocket-Origin\"]=_.origin:_.headers.Origin=_.origin),(t.username||t.password)&&(_.auth=`${t.username}:${t.password}`),k){let ne=_.path.split(\":\");_.socketPath=ne[0],_.path=ne[1]}let W=i._req=U(_);_.timeout&&W.on(\"timeout\",()=>{J1(i,W,\"Opening handshake has timed out\")}),W.on(\"error\",ne=>{W===null||W.aborted||(W=i._req=null,i._readyState=Gi.CLOSING,i.emit(\"error\",ne),i.emitClose())}),W.on(\"response\",ne=>{let m=ne.headers.location,he=ne.statusCode;if(m&&_.followRedirects&&he>=300&&he<400){if(++i._redirects>_.maxRedirects){J1(i,W,\"Maximum redirects exceeded\");return}W.abort();let Ee=new KD(m,o);hC(i,Ee,a,p)}else i.emit(\"unexpected-response\",W,ne)||J1(i,W,`Unexpected server response: ${ne.statusCode}`)}),W.on(\"upgrade\",(ne,m,he)=>{if(i.emit(\"upgrade\",ne),i.readyState!==Gi.CONNECTING)return;W=i._req=null;let Ee=YI(\"sha1\").update(C+QI).digest(\"base64\");if(ne.headers[\"sec-websocket-accept\"]!==Ee){J1(i,m,\"Invalid Sec-WebSocket-Accept header\");return}let ve=ne.headers[\"sec-websocket-protocol\"],se=(a||\"\").split(/, */),De;if(!a&&ve?De=\"Server sent a subprotocol but none was requested\":a&&!ve?De=\"Server sent no subprotocol\":ve&&!se.includes(ve)&&(De=\"Server sent an invalid subprotocol\"),De){J1(i,m,De);return}if(ve&&(i._protocol=ve),H)try{let pe=tb(ne.headers[\"sec-websocket-extensions\"]);pe[h2.extensionName]&&(H.accept(pe[h2.extensionName]),i._extensions[h2.extensionName]=H)}catch(pe){J1(i,m,\"Invalid Sec-WebSocket-Extensions header\");return}i.setSocket(m,he,_.maxPayload)})}function fb(i){return i.path=i.socketPath,fC.connect(i)}function cb(i){return i.path=void 0,!i.servername&&i.servername!==\"\"&&(i.servername=fC.isIP(i.host)?\"\":i.host),VI.connect(i)}function J1(i,o,a){i._readyState=Gi.CLOSING;let p=new Error(a);Error.captureStackTrace(p,J1),o.setHeader?(o.abort(),o.socket&&!o.socket.destroyed&&o.socket.destroy(),o.once(\"abort\",i.emitClose.bind(i)),i.emit(\"error\",p)):(o.destroy(p),o.once(\"error\",i.emit.bind(i,\"error\")),o.once(\"close\",i.emitClose.bind(i)))}function JD(i,o,a){if(o){let p=nb(o).length;i._socket?i._sender._bufferedBytes+=p:i._bufferedAmount+=p}if(a){let p=new Error(`WebSocket is not open: readyState ${i.readyState} (${pC[i.readyState]})`);a(p)}}function ib(i,o){let a=this[ta];a._socket.removeListener(\"data\",X_),a._socket.resume(),a._closeFrameReceived=!0,a._closeMessage=o,a._closeCode=i,i===1005?a.close():a.close(i,o)}function ub(){this[ta]._socket.resume()}function ob(i){let o=this[ta];o._socket.removeListener(\"data\",X_),o._readyState=Gi.CLOSING,o._closeCode=i[JI],o.emit(\"error\",i),o._socket.destroy()}function gC(){this[ta].emitClose()}function lb(i){this[ta].emit(\"message\",i)}function sb(i){let o=this[ta];o.pong(i,!o._isServer,dC),o.emit(\"ping\",i)}function ab(i){this[ta].emit(\"pong\",i)}function vC(){let i=this[ta];this.removeListener(\"close\",vC),this.removeListener(\"end\",mC),i._readyState=Gi.CLOSING,i._socket.read(),i._receiver.end(),this.removeListener(\"data\",X_),this[ta]=void 0,clearTimeout(i._closeTimer),i._receiver._writableState.finished||i._receiver._writableState.errorEmitted?i.emitClose():(i._receiver.on(\"error\",gC),i._receiver.on(\"finish\",gC))}function X_(i){this[ta]._receiver.write(i)||this.pause()}function mC(){let i=this[ta];i._readyState=Gi.CLOSING,i._receiver.end(),this.end()}function yC(){let i=this[ta];this.removeListener(\"error\",yC),this.on(\"error\",dC),i&&(i._readyState=Gi.CLOSING,this.destroy())}});var wC=tt((lq,_C)=>{\"use strict\";var{Duplex:db}=require(\"stream\");function EC(i){i.emit(\"close\")}function pb(){!this.destroyed&&this._writableState.finished&&this.destroy()}function DC(i){this.removeListener(\"error\",DC),this.destroy(),this.listenerCount(\"error\")===0&&this.emit(\"error\",i)}function hb(i,o){let a=!0;function p(){a&&i._socket.resume()}i.readyState===i.CONNECTING?i.once(\"open\",function(){i._receiver.removeAllListeners(\"drain\"),i._receiver.on(\"drain\",p)}):(i._receiver.removeAllListeners(\"drain\"),i._receiver.on(\"drain\",p));let _=new db(Zr(Ht({},o),{autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1}));return i.on(\"message\",function(k){_.push(k)||(a=!1,i._socket.pause())}),i.once(\"error\",function(k){_.destroyed||_.destroy(k)}),i.once(\"close\",function(){_.destroyed||_.push(null)}),_._destroy=function(t,k){if(i.readyState===i.CLOSED){k(t),process.nextTick(EC,_);return}let L=!1;i.once(\"error\",function(C){L=!0,k(C)}),i.once(\"close\",function(){L||k(t),process.nextTick(EC,_)}),i.terminate()},_._final=function(t){if(i.readyState===i.CONNECTING){i.once(\"open\",function(){_._final(t)});return}i._socket!==null&&(i._socket._writableState.finished?(t(),_._readableState.endEmitted&&_.destroy()):(i._socket.once(\"finish\",function(){t()}),i.close()))},_._read=function(){i.readyState===i.OPEN&&!a&&(a=!0,i._receiver._writableState.needDrain||i._socket.resume())},_._write=function(t,k,L){if(i.readyState===i.CONNECTING){i.once(\"open\",function(){_._write(t,k,L)});return}i.send(t,L)},_.on(\"end\",pb),_.on(\"error\",DC),_}_C.exports=hb});var CC=tt((sq,SC)=>{\"use strict\";var vb=require(\"events\"),{createHash:mb}=require(\"crypto\"),{createServer:yb,STATUS_CODES:$D}=require(\"http\"),nh=$y(),gb=ZD(),{format:_b,parse:Eb}=YD(),{GUID:Db,kWebSocket:wb}=eh(),Sb=/^[+/0-9A-Za-z]{22}==$/,TC=class extends vb{constructor(o,a){super();if(o=Ht({maxPayload:100*1024*1024,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null},o),o.port==null&&!o.server&&!o.noServer)throw new TypeError('One of the \"port\", \"server\", or \"noServer\" options must be specified');if(o.port!=null?(this._server=yb((p,_)=>{let t=$D[426];_.writeHead(426,{\"Content-Length\":t.length,\"Content-Type\":\"text/plain\"}),_.end(t)}),this._server.listen(o.port,o.host,o.backlog,a)):o.server&&(this._server=o.server),this._server){let p=this.emit.bind(this,\"connection\");this._removeListeners=Tb(this._server,{listening:this.emit.bind(this,\"listening\"),error:this.emit.bind(this,\"error\"),upgrade:(_,t,k)=>{this.handleUpgrade(_,t,k,p)}})}o.perMessageDeflate===!0&&(o.perMessageDeflate={}),o.clientTracking&&(this.clients=new Set),this.options=o}address(){if(this.options.noServer)throw new Error('The server is operating in \"noServer\" mode');return this._server?this._server.address():null}close(o){if(o&&this.once(\"close\",o),this.clients)for(let p of this.clients)p.terminate();let a=this._server;if(a&&(this._removeListeners(),this._removeListeners=this._server=null,this.options.port!=null)){a.close(()=>this.emit(\"close\"));return}process.nextTick(Cb,this)}shouldHandle(o){if(this.options.path){let a=o.url.indexOf(\"?\");if((a!==-1?o.url.slice(0,a):o.url)!==this.options.path)return!1}return!0}handleUpgrade(o,a,p,_){a.on(\"error\",e3);let t=o.headers[\"sec-websocket-key\"]!==void 0?o.headers[\"sec-websocket-key\"].trim():!1,k=+o.headers[\"sec-websocket-version\"],L={};if(o.method!==\"GET\"||o.headers.upgrade.toLowerCase()!==\"websocket\"||!t||!Sb.test(t)||k!==8&&k!==13||!this.shouldHandle(o))return Q_(a,400);if(this.options.perMessageDeflate){let O=new nh(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let C=Eb(o.headers[\"sec-websocket-extensions\"]);C[nh.extensionName]&&(O.accept(C[nh.extensionName]),L[nh.extensionName]=O)}catch(C){return Q_(a,400)}}if(this.options.verifyClient){let O={origin:o.headers[`${k===8?\"sec-websocket-origin\":\"origin\"}`],secure:!!(o.socket.authorized||o.socket.encrypted),req:o};if(this.options.verifyClient.length===2){this.options.verifyClient(O,(C,U,H,W)=>{if(!C)return Q_(a,U||401,H,W);this.completeUpgrade(t,L,o,a,p,_)});return}if(!this.options.verifyClient(O))return Q_(a,401)}this.completeUpgrade(t,L,o,a,p,_)}completeUpgrade(o,a,p,_,t,k){if(!_.readable||!_.writable)return _.destroy();if(_[wb])throw new Error(\"server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration\");let L=mb(\"sha1\").update(o+Db).digest(\"base64\"),O=[\"HTTP/1.1 101 Switching Protocols\",\"Upgrade: websocket\",\"Connection: Upgrade\",`Sec-WebSocket-Accept: ${L}`],C=new gb(null),U=p.headers[\"sec-websocket-protocol\"];if(U&&(U=U.split(\",\").map(xb),this.options.handleProtocols?U=this.options.handleProtocols(U,p):U=U[0],U&&(O.push(`Sec-WebSocket-Protocol: ${U}`),C._protocol=U)),a[nh.extensionName]){let H=a[nh.extensionName].params,W=_b({[nh.extensionName]:[H]});O.push(`Sec-WebSocket-Extensions: ${W}`),C._extensions=a}this.emit(\"headers\",O,p),_.write(O.concat(`\\r\n`).join(`\\r\n`)),_.removeListener(\"error\",e3),C.setSocket(_,t,this.options.maxPayload),this.clients&&(this.clients.add(C),C.on(\"close\",()=>this.clients.delete(C))),k(C,p)}};SC.exports=TC;function Tb(i,o){for(let a of Object.keys(o))i.on(a,o[a]);return function(){for(let p of Object.keys(o))i.removeListener(p,o[p])}}function Cb(i){i.emit(\"close\")}function e3(){this.destroy()}function Q_(i,o,a,p){i.writable&&(a=a||$D[o],p=Ht({Connection:\"close\",\"Content-Type\":\"text/html\",\"Content-Length\":Buffer.byteLength(a)},p),i.write(`HTTP/1.1 ${o} ${$D[o]}\\r\n`+Object.keys(p).map(_=>`${_}: ${p[_]}`).join(`\\r\n`)+`\\r\n\\r\n`+a)),i.removeListener(\"error\",e3),i.destroy()}function xb(i){return i.trim()}});var RC=tt((aq,xC)=>{\"use strict\";var rg=ZD();rg.createWebSocketStream=wC();rg.Server=CC();rg.Receiver=VD();rg.Sender=GD();xC.exports=rg});var AC=tt(J_=>{\"use strict\";var Rb=J_&&J_.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(J_,\"__esModule\",{value:!0});var Ab=Rb(RC()),ig=global;ig.WebSocket||(ig.WebSocket=Ab.default);ig.window||(ig.window=global);ig.window.__REACT_DEVTOOLS_COMPONENT_FILTERS__=[{type:1,value:7,isEnabled:!0},{type:2,value:\"InternalApp\",isEnabled:!0,isValid:!0},{type:2,value:\"InternalAppContext\",isEnabled:!0,isValid:!0},{type:2,value:\"InternalStdoutContext\",isEnabled:!0,isValid:!0},{type:2,value:\"InternalStderrContext\",isEnabled:!0,isValid:!0},{type:2,value:\"InternalStdinContext\",isEnabled:!0,isValid:!0},{type:2,value:\"InternalFocusContext\",isEnabled:!0,isValid:!0}]});var OC=tt((Z_,t3)=>{(function(i,o){typeof Z_==\"object\"&&typeof t3==\"object\"?t3.exports=o():typeof define==\"function\"&&define.amd?define([],o):typeof Z_==\"object\"?Z_.ReactDevToolsBackend=o():i.ReactDevToolsBackend=o()})(window,function(){return function(i){var o={};function a(p){if(o[p])return o[p].exports;var _=o[p]={i:p,l:!1,exports:{}};return i[p].call(_.exports,_,_.exports,a),_.l=!0,_.exports}return a.m=i,a.c=o,a.d=function(p,_,t){a.o(p,_)||Object.defineProperty(p,_,{enumerable:!0,get:t})},a.r=function(p){typeof Symbol!=\"undefined\"&&Symbol.toStringTag&&Object.defineProperty(p,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(p,\"__esModule\",{value:!0})},a.t=function(p,_){if(1&_&&(p=a(p)),8&_||4&_&&typeof p==\"object\"&&p&&p.__esModule)return p;var t=Object.create(null);if(a.r(t),Object.defineProperty(t,\"default\",{enumerable:!0,value:p}),2&_&&typeof p!=\"string\")for(var k in p)a.d(t,k,function(L){return p[L]}.bind(null,k));return t},a.n=function(p){var _=p&&p.__esModule?function(){return p.default}:function(){return p};return a.d(_,\"a\",_),_},a.o=function(p,_){return Object.prototype.hasOwnProperty.call(p,_)},a.p=\"\",a(a.s=20)}([function(i,o,a){\"use strict\";i.exports=a(12)},function(i,o,a){\"use strict\";var p=Object.getOwnPropertySymbols,_=Object.prototype.hasOwnProperty,t=Object.prototype.propertyIsEnumerable;function k(L){if(L==null)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(L)}i.exports=function(){try{if(!Object.assign)return!1;var L=new String(\"abc\");if(L[5]=\"de\",Object.getOwnPropertyNames(L)[0]===\"5\")return!1;for(var O={},C=0;C<10;C++)O[\"_\"+String.fromCharCode(C)]=C;if(Object.getOwnPropertyNames(O).map(function(H){return O[H]}).join(\"\")!==\"0123456789\")return!1;var U={};return\"abcdefghijklmnopqrst\".split(\"\").forEach(function(H){U[H]=H}),Object.keys(Object.assign({},U)).join(\"\")===\"abcdefghijklmnopqrst\"}catch(H){return!1}}()?Object.assign:function(L,O){for(var C,U,H=k(L),W=1;W<arguments.length;W++){for(var ne in C=Object(arguments[W]))_.call(C,ne)&&(H[ne]=C[ne]);if(p){U=p(C);for(var m=0;m<U.length;m++)t.call(C,U[m])&&(H[U[m]]=C[U[m]])}}return H}},function(i,o,a){(function(p){function _(me){return(_=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(ie){return typeof ie}:function(ie){return ie&&typeof Symbol==\"function\"&&ie.constructor===Symbol&&ie!==Symbol.prototype?\"symbol\":typeof ie})(me)}var t=/^\\s+|\\s+$/g,k=/^[-+]0x[0-9a-f]+$/i,L=/^0b[01]+$/i,O=/^0o[0-7]+$/i,C=parseInt,U=(p===void 0?\"undefined\":_(p))==\"object\"&&p&&p.Object===Object&&p,H=(typeof self==\"undefined\"?\"undefined\":_(self))==\"object\"&&self&&self.Object===Object&&self,W=U||H||Function(\"return this\")(),ne=Object.prototype.toString,m=Math.max,he=Math.min,Ee=function(){return W.Date.now()};function ve(me,ie,Oe){var je,qe,yt,gt,Xe,ut,We=0,Ft=!1,Jt=!1,rt=!0;if(typeof me!=\"function\")throw new TypeError(\"Expected a function\");function Q(Rt){var nn=je,an=qe;return je=qe=void 0,We=Rt,gt=me.apply(an,nn)}function fe(Rt){return We=Rt,Xe=setTimeout(oe,ie),Ft?Q(Rt):gt}function xe(Rt){var nn=Rt-ut;return ut===void 0||nn>=ie||nn<0||Jt&&Rt-We>=yt}function oe(){var Rt=Ee();if(xe(Rt))return ze(Rt);Xe=setTimeout(oe,function(nn){var an=ie-(nn-ut);return Jt?he(an,yt-(nn-We)):an}(Rt))}function ze(Rt){return Xe=void 0,rt&&je?Q(Rt):(je=qe=void 0,gt)}function ct(){var Rt=Ee(),nn=xe(Rt);if(je=arguments,qe=this,ut=Rt,nn){if(Xe===void 0)return fe(ut);if(Jt)return Xe=setTimeout(oe,ie),Q(ut)}return Xe===void 0&&(Xe=setTimeout(oe,ie)),gt}return ie=pe(ie)||0,se(Oe)&&(Ft=!!Oe.leading,yt=(Jt=\"maxWait\"in Oe)?m(pe(Oe.maxWait)||0,ie):yt,rt=\"trailing\"in Oe?!!Oe.trailing:rt),ct.cancel=function(){Xe!==void 0&&clearTimeout(Xe),We=0,je=ut=qe=Xe=void 0},ct.flush=function(){return Xe===void 0?gt:ze(Ee())},ct}function se(me){var ie=_(me);return!!me&&(ie==\"object\"||ie==\"function\")}function De(me){return _(me)==\"symbol\"||function(ie){return!!ie&&_(ie)==\"object\"}(me)&&ne.call(me)==\"[object Symbol]\"}function pe(me){if(typeof me==\"number\")return me;if(De(me))return NaN;if(se(me)){var ie=typeof me.valueOf==\"function\"?me.valueOf():me;me=se(ie)?ie+\"\":ie}if(typeof me!=\"string\")return me===0?me:+me;me=me.replace(t,\"\");var Oe=L.test(me);return Oe||O.test(me)?C(me.slice(2),Oe?2:8):k.test(me)?NaN:+me}i.exports=function(me,ie,Oe){var je=!0,qe=!0;if(typeof me!=\"function\")throw new TypeError(\"Expected a function\");return se(Oe)&&(je=\"leading\"in Oe?!!Oe.leading:je,qe=\"trailing\"in Oe?!!Oe.trailing:qe),ve(me,ie,{leading:je,maxWait:ie,trailing:qe})}}).call(this,a(4))},function(i,o,a){(function(p){function _(Q){return(_=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(fe){return typeof fe}:function(fe){return fe&&typeof Symbol==\"function\"&&fe.constructor===Symbol&&fe!==Symbol.prototype?\"symbol\":typeof fe})(Q)}var t;o=i.exports=m,t=(p===void 0?\"undefined\":_(p))===\"object\"&&p.env&&p.env.NODE_DEBUG&&/\\bsemver\\b/i.test(p.env.NODE_DEBUG)?function(){var Q=Array.prototype.slice.call(arguments,0);Q.unshift(\"SEMVER\"),console.log.apply(console,Q)}:function(){},o.SEMVER_SPEC_VERSION=\"2.0.0\";var k=Number.MAX_SAFE_INTEGER||9007199254740991,L=o.re=[],O=o.src=[],C=o.tokens={},U=0;function H(Q){C[Q]=U++}H(\"NUMERICIDENTIFIER\"),O[C.NUMERICIDENTIFIER]=\"0|[1-9]\\\\d*\",H(\"NUMERICIDENTIFIERLOOSE\"),O[C.NUMERICIDENTIFIERLOOSE]=\"[0-9]+\",H(\"NONNUMERICIDENTIFIER\"),O[C.NONNUMERICIDENTIFIER]=\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\",H(\"MAINVERSION\"),O[C.MAINVERSION]=\"(\"+O[C.NUMERICIDENTIFIER]+\")\\\\.(\"+O[C.NUMERICIDENTIFIER]+\")\\\\.(\"+O[C.NUMERICIDENTIFIER]+\")\",H(\"MAINVERSIONLOOSE\"),O[C.MAINVERSIONLOOSE]=\"(\"+O[C.NUMERICIDENTIFIERLOOSE]+\")\\\\.(\"+O[C.NUMERICIDENTIFIERLOOSE]+\")\\\\.(\"+O[C.NUMERICIDENTIFIERLOOSE]+\")\",H(\"PRERELEASEIDENTIFIER\"),O[C.PRERELEASEIDENTIFIER]=\"(?:\"+O[C.NUMERICIDENTIFIER]+\"|\"+O[C.NONNUMERICIDENTIFIER]+\")\",H(\"PRERELEASEIDENTIFIERLOOSE\"),O[C.PRERELEASEIDENTIFIERLOOSE]=\"(?:\"+O[C.NUMERICIDENTIFIERLOOSE]+\"|\"+O[C.NONNUMERICIDENTIFIER]+\")\",H(\"PRERELEASE\"),O[C.PRERELEASE]=\"(?:-(\"+O[C.PRERELEASEIDENTIFIER]+\"(?:\\\\.\"+O[C.PRERELEASEIDENTIFIER]+\")*))\",H(\"PRERELEASELOOSE\"),O[C.PRERELEASELOOSE]=\"(?:-?(\"+O[C.PRERELEASEIDENTIFIERLOOSE]+\"(?:\\\\.\"+O[C.PRERELEASEIDENTIFIERLOOSE]+\")*))\",H(\"BUILDIDENTIFIER\"),O[C.BUILDIDENTIFIER]=\"[0-9A-Za-z-]+\",H(\"BUILD\"),O[C.BUILD]=\"(?:\\\\+(\"+O[C.BUILDIDENTIFIER]+\"(?:\\\\.\"+O[C.BUILDIDENTIFIER]+\")*))\",H(\"FULL\"),H(\"FULLPLAIN\"),O[C.FULLPLAIN]=\"v?\"+O[C.MAINVERSION]+O[C.PRERELEASE]+\"?\"+O[C.BUILD]+\"?\",O[C.FULL]=\"^\"+O[C.FULLPLAIN]+\"$\",H(\"LOOSEPLAIN\"),O[C.LOOSEPLAIN]=\"[v=\\\\s]*\"+O[C.MAINVERSIONLOOSE]+O[C.PRERELEASELOOSE]+\"?\"+O[C.BUILD]+\"?\",H(\"LOOSE\"),O[C.LOOSE]=\"^\"+O[C.LOOSEPLAIN]+\"$\",H(\"GTLT\"),O[C.GTLT]=\"((?:<|>)?=?)\",H(\"XRANGEIDENTIFIERLOOSE\"),O[C.XRANGEIDENTIFIERLOOSE]=O[C.NUMERICIDENTIFIERLOOSE]+\"|x|X|\\\\*\",H(\"XRANGEIDENTIFIER\"),O[C.XRANGEIDENTIFIER]=O[C.NUMERICIDENTIFIER]+\"|x|X|\\\\*\",H(\"XRANGEPLAIN\"),O[C.XRANGEPLAIN]=\"[v=\\\\s]*(\"+O[C.XRANGEIDENTIFIER]+\")(?:\\\\.(\"+O[C.XRANGEIDENTIFIER]+\")(?:\\\\.(\"+O[C.XRANGEIDENTIFIER]+\")(?:\"+O[C.PRERELEASE]+\")?\"+O[C.BUILD]+\"?)?)?\",H(\"XRANGEPLAINLOOSE\"),O[C.XRANGEPLAINLOOSE]=\"[v=\\\\s]*(\"+O[C.XRANGEIDENTIFIERLOOSE]+\")(?:\\\\.(\"+O[C.XRANGEIDENTIFIERLOOSE]+\")(?:\\\\.(\"+O[C.XRANGEIDENTIFIERLOOSE]+\")(?:\"+O[C.PRERELEASELOOSE]+\")?\"+O[C.BUILD]+\"?)?)?\",H(\"XRANGE\"),O[C.XRANGE]=\"^\"+O[C.GTLT]+\"\\\\s*\"+O[C.XRANGEPLAIN]+\"$\",H(\"XRANGELOOSE\"),O[C.XRANGELOOSE]=\"^\"+O[C.GTLT]+\"\\\\s*\"+O[C.XRANGEPLAINLOOSE]+\"$\",H(\"COERCE\"),O[C.COERCE]=\"(^|[^\\\\d])(\\\\d{1,16})(?:\\\\.(\\\\d{1,16}))?(?:\\\\.(\\\\d{1,16}))?(?:$|[^\\\\d])\",H(\"COERCERTL\"),L[C.COERCERTL]=new RegExp(O[C.COERCE],\"g\"),H(\"LONETILDE\"),O[C.LONETILDE]=\"(?:~>?)\",H(\"TILDETRIM\"),O[C.TILDETRIM]=\"(\\\\s*)\"+O[C.LONETILDE]+\"\\\\s+\",L[C.TILDETRIM]=new RegExp(O[C.TILDETRIM],\"g\"),H(\"TILDE\"),O[C.TILDE]=\"^\"+O[C.LONETILDE]+O[C.XRANGEPLAIN]+\"$\",H(\"TILDELOOSE\"),O[C.TILDELOOSE]=\"^\"+O[C.LONETILDE]+O[C.XRANGEPLAINLOOSE]+\"$\",H(\"LONECARET\"),O[C.LONECARET]=\"(?:\\\\^)\",H(\"CARETTRIM\"),O[C.CARETTRIM]=\"(\\\\s*)\"+O[C.LONECARET]+\"\\\\s+\",L[C.CARETTRIM]=new RegExp(O[C.CARETTRIM],\"g\"),H(\"CARET\"),O[C.CARET]=\"^\"+O[C.LONECARET]+O[C.XRANGEPLAIN]+\"$\",H(\"CARETLOOSE\"),O[C.CARETLOOSE]=\"^\"+O[C.LONECARET]+O[C.XRANGEPLAINLOOSE]+\"$\",H(\"COMPARATORLOOSE\"),O[C.COMPARATORLOOSE]=\"^\"+O[C.GTLT]+\"\\\\s*(\"+O[C.LOOSEPLAIN]+\")$|^$\",H(\"COMPARATOR\"),O[C.COMPARATOR]=\"^\"+O[C.GTLT]+\"\\\\s*(\"+O[C.FULLPLAIN]+\")$|^$\",H(\"COMPARATORTRIM\"),O[C.COMPARATORTRIM]=\"(\\\\s*)\"+O[C.GTLT]+\"\\\\s*(\"+O[C.LOOSEPLAIN]+\"|\"+O[C.XRANGEPLAIN]+\")\",L[C.COMPARATORTRIM]=new RegExp(O[C.COMPARATORTRIM],\"g\"),H(\"HYPHENRANGE\"),O[C.HYPHENRANGE]=\"^\\\\s*(\"+O[C.XRANGEPLAIN]+\")\\\\s+-\\\\s+(\"+O[C.XRANGEPLAIN]+\")\\\\s*$\",H(\"HYPHENRANGELOOSE\"),O[C.HYPHENRANGELOOSE]=\"^\\\\s*(\"+O[C.XRANGEPLAINLOOSE]+\")\\\\s+-\\\\s+(\"+O[C.XRANGEPLAINLOOSE]+\")\\\\s*$\",H(\"STAR\"),O[C.STAR]=\"(<|>)?=?\\\\s*\\\\*\";for(var W=0;W<U;W++)t(W,O[W]),L[W]||(L[W]=new RegExp(O[W]));function ne(Q,fe){if(fe&&_(fe)===\"object\"||(fe={loose:!!fe,includePrerelease:!1}),Q instanceof m)return Q;if(typeof Q!=\"string\"||Q.length>256||!(fe.loose?L[C.LOOSE]:L[C.FULL]).test(Q))return null;try{return new m(Q,fe)}catch(xe){return null}}function m(Q,fe){if(fe&&_(fe)===\"object\"||(fe={loose:!!fe,includePrerelease:!1}),Q instanceof m){if(Q.loose===fe.loose)return Q;Q=Q.version}else if(typeof Q!=\"string\")throw new TypeError(\"Invalid Version: \"+Q);if(Q.length>256)throw new TypeError(\"version is longer than 256 characters\");if(!(this instanceof m))return new m(Q,fe);t(\"SemVer\",Q,fe),this.options=fe,this.loose=!!fe.loose;var xe=Q.trim().match(fe.loose?L[C.LOOSE]:L[C.FULL]);if(!xe)throw new TypeError(\"Invalid Version: \"+Q);if(this.raw=Q,this.major=+xe[1],this.minor=+xe[2],this.patch=+xe[3],this.major>k||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>k||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>k||this.patch<0)throw new TypeError(\"Invalid patch version\");xe[4]?this.prerelease=xe[4].split(\".\").map(function(oe){if(/^[0-9]+$/.test(oe)){var ze=+oe;if(ze>=0&&ze<k)return ze}return oe}):this.prerelease=[],this.build=xe[5]?xe[5].split(\".\"):[],this.format()}o.parse=ne,o.valid=function(Q,fe){var xe=ne(Q,fe);return xe?xe.version:null},o.clean=function(Q,fe){var xe=ne(Q.trim().replace(/^[=v]+/,\"\"),fe);return xe?xe.version:null},o.SemVer=m,m.prototype.format=function(){return this.version=this.major+\".\"+this.minor+\".\"+this.patch,this.prerelease.length&&(this.version+=\"-\"+this.prerelease.join(\".\")),this.version},m.prototype.toString=function(){return this.version},m.prototype.compare=function(Q){return t(\"SemVer.compare\",this.version,this.options,Q),Q instanceof m||(Q=new m(Q,this.options)),this.compareMain(Q)||this.comparePre(Q)},m.prototype.compareMain=function(Q){return Q instanceof m||(Q=new m(Q,this.options)),Ee(this.major,Q.major)||Ee(this.minor,Q.minor)||Ee(this.patch,Q.patch)},m.prototype.comparePre=function(Q){if(Q instanceof m||(Q=new m(Q,this.options)),this.prerelease.length&&!Q.prerelease.length)return-1;if(!this.prerelease.length&&Q.prerelease.length)return 1;if(!this.prerelease.length&&!Q.prerelease.length)return 0;var fe=0;do{var xe=this.prerelease[fe],oe=Q.prerelease[fe];if(t(\"prerelease compare\",fe,xe,oe),xe===void 0&&oe===void 0)return 0;if(oe===void 0)return 1;if(xe===void 0)return-1;if(xe!==oe)return Ee(xe,oe)}while(++fe)},m.prototype.compareBuild=function(Q){Q instanceof m||(Q=new m(Q,this.options));var fe=0;do{var xe=this.build[fe],oe=Q.build[fe];if(t(\"prerelease compare\",fe,xe,oe),xe===void 0&&oe===void 0)return 0;if(oe===void 0)return 1;if(xe===void 0)return-1;if(xe!==oe)return Ee(xe,oe)}while(++fe)},m.prototype.inc=function(Q,fe){switch(Q){case\"premajor\":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc(\"pre\",fe);break;case\"preminor\":this.prerelease.length=0,this.patch=0,this.minor++,this.inc(\"pre\",fe);break;case\"prepatch\":this.prerelease.length=0,this.inc(\"patch\",fe),this.inc(\"pre\",fe);break;case\"prerelease\":this.prerelease.length===0&&this.inc(\"patch\",fe),this.inc(\"pre\",fe);break;case\"major\":this.minor===0&&this.patch===0&&this.prerelease.length!==0||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case\"minor\":this.patch===0&&this.prerelease.length!==0||this.minor++,this.patch=0,this.prerelease=[];break;case\"patch\":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case\"pre\":if(this.prerelease.length===0)this.prerelease=[0];else{for(var xe=this.prerelease.length;--xe>=0;)typeof this.prerelease[xe]==\"number\"&&(this.prerelease[xe]++,xe=-2);xe===-1&&this.prerelease.push(0)}fe&&(this.prerelease[0]===fe?isNaN(this.prerelease[1])&&(this.prerelease=[fe,0]):this.prerelease=[fe,0]);break;default:throw new Error(\"invalid increment argument: \"+Q)}return this.format(),this.raw=this.version,this},o.inc=function(Q,fe,xe,oe){typeof xe==\"string\"&&(oe=xe,xe=void 0);try{return new m(Q,xe).inc(fe,oe).version}catch(ze){return null}},o.diff=function(Q,fe){if(pe(Q,fe))return null;var xe=ne(Q),oe=ne(fe),ze=\"\";if(xe.prerelease.length||oe.prerelease.length){ze=\"pre\";var ct=\"prerelease\"}for(var Rt in xe)if((Rt===\"major\"||Rt===\"minor\"||Rt===\"patch\")&&xe[Rt]!==oe[Rt])return ze+Rt;return ct},o.compareIdentifiers=Ee;var he=/^[0-9]+$/;function Ee(Q,fe){var xe=he.test(Q),oe=he.test(fe);return xe&&oe&&(Q=+Q,fe=+fe),Q===fe?0:xe&&!oe?-1:oe&&!xe?1:Q<fe?-1:1}function ve(Q,fe,xe){return new m(Q,xe).compare(new m(fe,xe))}function se(Q,fe,xe){return ve(Q,fe,xe)>0}function De(Q,fe,xe){return ve(Q,fe,xe)<0}function pe(Q,fe,xe){return ve(Q,fe,xe)===0}function me(Q,fe,xe){return ve(Q,fe,xe)!==0}function ie(Q,fe,xe){return ve(Q,fe,xe)>=0}function Oe(Q,fe,xe){return ve(Q,fe,xe)<=0}function je(Q,fe,xe,oe){switch(fe){case\"===\":return _(Q)===\"object\"&&(Q=Q.version),_(xe)===\"object\"&&(xe=xe.version),Q===xe;case\"!==\":return _(Q)===\"object\"&&(Q=Q.version),_(xe)===\"object\"&&(xe=xe.version),Q!==xe;case\"\":case\"=\":case\"==\":return pe(Q,xe,oe);case\"!=\":return me(Q,xe,oe);case\">\":return se(Q,xe,oe);case\">=\":return ie(Q,xe,oe);case\"<\":return De(Q,xe,oe);case\"<=\":return Oe(Q,xe,oe);default:throw new TypeError(\"Invalid operator: \"+fe)}}function qe(Q,fe){if(fe&&_(fe)===\"object\"||(fe={loose:!!fe,includePrerelease:!1}),Q instanceof qe){if(Q.loose===!!fe.loose)return Q;Q=Q.value}if(!(this instanceof qe))return new qe(Q,fe);t(\"comparator\",Q,fe),this.options=fe,this.loose=!!fe.loose,this.parse(Q),this.semver===yt?this.value=\"\":this.value=this.operator+this.semver.version,t(\"comp\",this)}o.rcompareIdentifiers=function(Q,fe){return Ee(fe,Q)},o.major=function(Q,fe){return new m(Q,fe).major},o.minor=function(Q,fe){return new m(Q,fe).minor},o.patch=function(Q,fe){return new m(Q,fe).patch},o.compare=ve,o.compareLoose=function(Q,fe){return ve(Q,fe,!0)},o.compareBuild=function(Q,fe,xe){var oe=new m(Q,xe),ze=new m(fe,xe);return oe.compare(ze)||oe.compareBuild(ze)},o.rcompare=function(Q,fe,xe){return ve(fe,Q,xe)},o.sort=function(Q,fe){return Q.sort(function(xe,oe){return o.compareBuild(xe,oe,fe)})},o.rsort=function(Q,fe){return Q.sort(function(xe,oe){return o.compareBuild(oe,xe,fe)})},o.gt=se,o.lt=De,o.eq=pe,o.neq=me,o.gte=ie,o.lte=Oe,o.cmp=je,o.Comparator=qe;var yt={};function gt(Q,fe){if(fe&&_(fe)===\"object\"||(fe={loose:!!fe,includePrerelease:!1}),Q instanceof gt)return Q.loose===!!fe.loose&&Q.includePrerelease===!!fe.includePrerelease?Q:new gt(Q.raw,fe);if(Q instanceof qe)return new gt(Q.value,fe);if(!(this instanceof gt))return new gt(Q,fe);if(this.options=fe,this.loose=!!fe.loose,this.includePrerelease=!!fe.includePrerelease,this.raw=Q,this.set=Q.split(/\\s*\\|\\|\\s*/).map(function(xe){return this.parseRange(xe.trim())},this).filter(function(xe){return xe.length}),!this.set.length)throw new TypeError(\"Invalid SemVer Range: \"+Q);this.format()}function Xe(Q,fe){for(var xe=!0,oe=Q.slice(),ze=oe.pop();xe&&oe.length;)xe=oe.every(function(ct){return ze.intersects(ct,fe)}),ze=oe.pop();return xe}function ut(Q){return!Q||Q.toLowerCase()===\"x\"||Q===\"*\"}function We(Q,fe,xe,oe,ze,ct,Rt,nn,an,Mn,lr,ln,Vt){return((fe=ut(xe)?\"\":ut(oe)?\">=\"+xe+\".0.0\":ut(ze)?\">=\"+xe+\".\"+oe+\".0\":\">=\"+fe)+\" \"+(nn=ut(an)?\"\":ut(Mn)?\"<\"+(+an+1)+\".0.0\":ut(lr)?\"<\"+an+\".\"+(+Mn+1)+\".0\":ln?\"<=\"+an+\".\"+Mn+\".\"+lr+\"-\"+ln:\"<=\"+nn)).trim()}function Ft(Q,fe,xe){for(var oe=0;oe<Q.length;oe++)if(!Q[oe].test(fe))return!1;if(fe.prerelease.length&&!xe.includePrerelease){for(oe=0;oe<Q.length;oe++)if(t(Q[oe].semver),Q[oe].semver!==yt&&Q[oe].semver.prerelease.length>0){var ze=Q[oe].semver;if(ze.major===fe.major&&ze.minor===fe.minor&&ze.patch===fe.patch)return!0}return!1}return!0}function Jt(Q,fe,xe){try{fe=new gt(fe,xe)}catch(oe){return!1}return fe.test(Q)}function rt(Q,fe,xe,oe){var ze,ct,Rt,nn,an;switch(Q=new m(Q,oe),fe=new gt(fe,oe),xe){case\">\":ze=se,ct=Oe,Rt=De,nn=\">\",an=\">=\";break;case\"<\":ze=De,ct=ie,Rt=se,nn=\"<\",an=\"<=\";break;default:throw new TypeError('Must provide a hilo val of \"<\" or \">\"')}if(Jt(Q,fe,oe))return!1;for(var Mn=0;Mn<fe.set.length;++Mn){var lr=fe.set[Mn],ln=null,Vt=null;if(lr.forEach(function(Er){Er.semver===yt&&(Er=new qe(\">=0.0.0\")),ln=ln||Er,Vt=Vt||Er,ze(Er.semver,ln.semver,oe)?ln=Er:Rt(Er.semver,Vt.semver,oe)&&(Vt=Er)}),ln.operator===nn||ln.operator===an||(!Vt.operator||Vt.operator===nn)&&ct(Q,Vt.semver)||Vt.operator===an&&Rt(Q,Vt.semver))return!1}return!0}qe.prototype.parse=function(Q){var fe=this.options.loose?L[C.COMPARATORLOOSE]:L[C.COMPARATOR],xe=Q.match(fe);if(!xe)throw new TypeError(\"Invalid comparator: \"+Q);this.operator=xe[1]!==void 0?xe[1]:\"\",this.operator===\"=\"&&(this.operator=\"\"),xe[2]?this.semver=new m(xe[2],this.options.loose):this.semver=yt},qe.prototype.toString=function(){return this.value},qe.prototype.test=function(Q){if(t(\"Comparator.test\",Q,this.options.loose),this.semver===yt||Q===yt)return!0;if(typeof Q==\"string\")try{Q=new m(Q,this.options)}catch(fe){return!1}return je(Q,this.operator,this.semver,this.options)},qe.prototype.intersects=function(Q,fe){if(!(Q instanceof qe))throw new TypeError(\"a Comparator is required\");var xe;if(fe&&_(fe)===\"object\"||(fe={loose:!!fe,includePrerelease:!1}),this.operator===\"\")return this.value===\"\"||(xe=new gt(Q.value,fe),Jt(this.value,xe,fe));if(Q.operator===\"\")return Q.value===\"\"||(xe=new gt(this.value,fe),Jt(Q.semver,xe,fe));var oe=!(this.operator!==\">=\"&&this.operator!==\">\"||Q.operator!==\">=\"&&Q.operator!==\">\"),ze=!(this.operator!==\"<=\"&&this.operator!==\"<\"||Q.operator!==\"<=\"&&Q.operator!==\"<\"),ct=this.semver.version===Q.semver.version,Rt=!(this.operator!==\">=\"&&this.operator!==\"<=\"||Q.operator!==\">=\"&&Q.operator!==\"<=\"),nn=je(this.semver,\"<\",Q.semver,fe)&&(this.operator===\">=\"||this.operator===\">\")&&(Q.operator===\"<=\"||Q.operator===\"<\"),an=je(this.semver,\">\",Q.semver,fe)&&(this.operator===\"<=\"||this.operator===\"<\")&&(Q.operator===\">=\"||Q.operator===\">\");return oe||ze||ct&&Rt||nn||an},o.Range=gt,gt.prototype.format=function(){return this.range=this.set.map(function(Q){return Q.join(\" \").trim()}).join(\"||\").trim(),this.range},gt.prototype.toString=function(){return this.range},gt.prototype.parseRange=function(Q){var fe=this.options.loose;Q=Q.trim();var xe=fe?L[C.HYPHENRANGELOOSE]:L[C.HYPHENRANGE];Q=Q.replace(xe,We),t(\"hyphen replace\",Q),Q=Q.replace(L[C.COMPARATORTRIM],\"$1$2$3\"),t(\"comparator trim\",Q,L[C.COMPARATORTRIM]),Q=(Q=(Q=Q.replace(L[C.TILDETRIM],\"$1~\")).replace(L[C.CARETTRIM],\"$1^\")).split(/\\s+/).join(\" \");var oe=fe?L[C.COMPARATORLOOSE]:L[C.COMPARATOR],ze=Q.split(\" \").map(function(ct){return function(Rt,nn){return t(\"comp\",Rt,nn),Rt=function(an,Mn){return an.trim().split(/\\s+/).map(function(lr){return function(ln,Vt){t(\"caret\",ln,Vt);var Er=Vt.loose?L[C.CARETLOOSE]:L[C.CARET];return ln.replace(Er,function(w,jt,Xn,vr,jr){var fr;return t(\"caret\",ln,w,jt,Xn,vr,jr),ut(jt)?fr=\"\":ut(Xn)?fr=\">=\"+jt+\".0.0 <\"+(+jt+1)+\".0.0\":ut(vr)?fr=jt===\"0\"?\">=\"+jt+\".\"+Xn+\".0 <\"+jt+\".\"+(+Xn+1)+\".0\":\">=\"+jt+\".\"+Xn+\".0 <\"+(+jt+1)+\".0.0\":jr?(t(\"replaceCaret pr\",jr),fr=jt===\"0\"?Xn===\"0\"?\">=\"+jt+\".\"+Xn+\".\"+vr+\"-\"+jr+\" <\"+jt+\".\"+Xn+\".\"+(+vr+1):\">=\"+jt+\".\"+Xn+\".\"+vr+\"-\"+jr+\" <\"+jt+\".\"+(+Xn+1)+\".0\":\">=\"+jt+\".\"+Xn+\".\"+vr+\"-\"+jr+\" <\"+(+jt+1)+\".0.0\"):(t(\"no pr\"),fr=jt===\"0\"?Xn===\"0\"?\">=\"+jt+\".\"+Xn+\".\"+vr+\" <\"+jt+\".\"+Xn+\".\"+(+vr+1):\">=\"+jt+\".\"+Xn+\".\"+vr+\" <\"+jt+\".\"+(+Xn+1)+\".0\":\">=\"+jt+\".\"+Xn+\".\"+vr+\" <\"+(+jt+1)+\".0.0\"),t(\"caret return\",fr),fr})}(lr,Mn)}).join(\" \")}(Rt,nn),t(\"caret\",Rt),Rt=function(an,Mn){return an.trim().split(/\\s+/).map(function(lr){return function(ln,Vt){var Er=Vt.loose?L[C.TILDELOOSE]:L[C.TILDE];return ln.replace(Er,function(w,jt,Xn,vr,jr){var fr;return t(\"tilde\",ln,w,jt,Xn,vr,jr),ut(jt)?fr=\"\":ut(Xn)?fr=\">=\"+jt+\".0.0 <\"+(+jt+1)+\".0.0\":ut(vr)?fr=\">=\"+jt+\".\"+Xn+\".0 <\"+jt+\".\"+(+Xn+1)+\".0\":jr?(t(\"replaceTilde pr\",jr),fr=\">=\"+jt+\".\"+Xn+\".\"+vr+\"-\"+jr+\" <\"+jt+\".\"+(+Xn+1)+\".0\"):fr=\">=\"+jt+\".\"+Xn+\".\"+vr+\" <\"+jt+\".\"+(+Xn+1)+\".0\",t(\"tilde return\",fr),fr})}(lr,Mn)}).join(\" \")}(Rt,nn),t(\"tildes\",Rt),Rt=function(an,Mn){return t(\"replaceXRanges\",an,Mn),an.split(/\\s+/).map(function(lr){return function(ln,Vt){ln=ln.trim();var Er=Vt.loose?L[C.XRANGELOOSE]:L[C.XRANGE];return ln.replace(Er,function(w,jt,Xn,vr,jr,fr){t(\"xRange\",ln,w,jt,Xn,vr,jr,fr);var zr=ut(Xn),Xt=zr||ut(vr),wu=Xt||ut(jr),d0=wu;return jt===\"=\"&&d0&&(jt=\"\"),fr=Vt.includePrerelease?\"-0\":\"\",zr?w=jt===\">\"||jt===\"<\"?\"<0.0.0-0\":\"*\":jt&&d0?(Xt&&(vr=0),jr=0,jt===\">\"?(jt=\">=\",Xt?(Xn=+Xn+1,vr=0,jr=0):(vr=+vr+1,jr=0)):jt===\"<=\"&&(jt=\"<\",Xt?Xn=+Xn+1:vr=+vr+1),w=jt+Xn+\".\"+vr+\".\"+jr+fr):Xt?w=\">=\"+Xn+\".0.0\"+fr+\" <\"+(+Xn+1)+\".0.0\"+fr:wu&&(w=\">=\"+Xn+\".\"+vr+\".0\"+fr+\" <\"+Xn+\".\"+(+vr+1)+\".0\"+fr),t(\"xRange return\",w),w})}(lr,Mn)}).join(\" \")}(Rt,nn),t(\"xrange\",Rt),Rt=function(an,Mn){return t(\"replaceStars\",an,Mn),an.trim().replace(L[C.STAR],\"\")}(Rt,nn),t(\"stars\",Rt),Rt}(ct,this.options)},this).join(\" \").split(/\\s+/);return this.options.loose&&(ze=ze.filter(function(ct){return!!ct.match(oe)})),ze=ze.map(function(ct){return new qe(ct,this.options)},this)},gt.prototype.intersects=function(Q,fe){if(!(Q instanceof gt))throw new TypeError(\"a Range is required\");return this.set.some(function(xe){return Xe(xe,fe)&&Q.set.some(function(oe){return Xe(oe,fe)&&xe.every(function(ze){return oe.every(function(ct){return ze.intersects(ct,fe)})})})})},o.toComparators=function(Q,fe){return new gt(Q,fe).set.map(function(xe){return xe.map(function(oe){return oe.value}).join(\" \").trim().split(\" \")})},gt.prototype.test=function(Q){if(!Q)return!1;if(typeof Q==\"string\")try{Q=new m(Q,this.options)}catch(xe){return!1}for(var fe=0;fe<this.set.length;fe++)if(Ft(this.set[fe],Q,this.options))return!0;return!1},o.satisfies=Jt,o.maxSatisfying=function(Q,fe,xe){var oe=null,ze=null;try{var ct=new gt(fe,xe)}catch(Rt){return null}return Q.forEach(function(Rt){ct.test(Rt)&&(oe&&ze.compare(Rt)!==-1||(ze=new m(oe=Rt,xe)))}),oe},o.minSatisfying=function(Q,fe,xe){var oe=null,ze=null;try{var ct=new gt(fe,xe)}catch(Rt){return null}return Q.forEach(function(Rt){ct.test(Rt)&&(oe&&ze.compare(Rt)!==1||(ze=new m(oe=Rt,xe)))}),oe},o.minVersion=function(Q,fe){Q=new gt(Q,fe);var xe=new m(\"0.0.0\");if(Q.test(xe)||(xe=new m(\"0.0.0-0\"),Q.test(xe)))return xe;xe=null;for(var oe=0;oe<Q.set.length;++oe)Q.set[oe].forEach(function(ze){var ct=new m(ze.semver.version);switch(ze.operator){case\">\":ct.prerelease.length===0?ct.patch++:ct.prerelease.push(0),ct.raw=ct.format();case\"\":case\">=\":xe&&!se(xe,ct)||(xe=ct);break;case\"<\":case\"<=\":break;default:throw new Error(\"Unexpected operation: \"+ze.operator)}});return xe&&Q.test(xe)?xe:null},o.validRange=function(Q,fe){try{return new gt(Q,fe).range||\"*\"}catch(xe){return null}},o.ltr=function(Q,fe,xe){return rt(Q,fe,\"<\",xe)},o.gtr=function(Q,fe,xe){return rt(Q,fe,\">\",xe)},o.outside=rt,o.prerelease=function(Q,fe){var xe=ne(Q,fe);return xe&&xe.prerelease.length?xe.prerelease:null},o.intersects=function(Q,fe,xe){return Q=new gt(Q,xe),fe=new gt(fe,xe),Q.intersects(fe)},o.coerce=function(Q,fe){if(Q instanceof m)return Q;if(typeof Q==\"number\"&&(Q=String(Q)),typeof Q!=\"string\")return null;var xe=null;if((fe=fe||{}).rtl){for(var oe;(oe=L[C.COERCERTL].exec(Q))&&(!xe||xe.index+xe[0].length!==Q.length);)xe&&oe.index+oe[0].length===xe.index+xe[0].length||(xe=oe),L[C.COERCERTL].lastIndex=oe.index+oe[1].length+oe[2].length;L[C.COERCERTL].lastIndex=-1}else xe=Q.match(L[C.COERCE]);return xe===null?null:ne(xe[2]+\".\"+(xe[3]||\"0\")+\".\"+(xe[4]||\"0\"),fe)}}).call(this,a(5))},function(i,o){function a(_){return(a=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t){return typeof t}:function(t){return t&&typeof Symbol==\"function\"&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(_)}var p;p=function(){return this}();try{p=p||new Function(\"return this\")()}catch(_){(typeof window==\"undefined\"?\"undefined\":a(window))===\"object\"&&(p=window)}i.exports=p},function(i,o){var a,p,_=i.exports={};function t(){throw new Error(\"setTimeout has not been defined\")}function k(){throw new Error(\"clearTimeout has not been defined\")}function L(Ee){if(a===setTimeout)return setTimeout(Ee,0);if((a===t||!a)&&setTimeout)return a=setTimeout,setTimeout(Ee,0);try{return a(Ee,0)}catch(ve){try{return a.call(null,Ee,0)}catch(se){return a.call(this,Ee,0)}}}(function(){try{a=typeof setTimeout==\"function\"?setTimeout:t}catch(Ee){a=t}try{p=typeof clearTimeout==\"function\"?clearTimeout:k}catch(Ee){p=k}})();var O,C=[],U=!1,H=-1;function W(){U&&O&&(U=!1,O.length?C=O.concat(C):H=-1,C.length&&ne())}function ne(){if(!U){var Ee=L(W);U=!0;for(var ve=C.length;ve;){for(O=C,C=[];++H<ve;)O&&O[H].run();H=-1,ve=C.length}O=null,U=!1,function(se){if(p===clearTimeout)return clearTimeout(se);if((p===k||!p)&&clearTimeout)return p=clearTimeout,clearTimeout(se);try{p(se)}catch(De){try{return p.call(null,se)}catch(pe){return p.call(this,se)}}}(Ee)}}function m(Ee,ve){this.fun=Ee,this.array=ve}function he(){}_.nextTick=function(Ee){var ve=new Array(arguments.length-1);if(arguments.length>1)for(var se=1;se<arguments.length;se++)ve[se-1]=arguments[se];C.push(new m(Ee,ve)),C.length!==1||U||L(ne)},m.prototype.run=function(){this.fun.apply(null,this.array)},_.title=\"browser\",_.browser=!0,_.env={},_.argv=[],_.version=\"\",_.versions={},_.on=he,_.addListener=he,_.once=he,_.off=he,_.removeListener=he,_.removeAllListeners=he,_.emit=he,_.prependListener=he,_.prependOnceListener=he,_.listeners=function(Ee){return[]},_.binding=function(Ee){throw new Error(\"process.binding is not supported\")},_.cwd=function(){return\"/\"},_.chdir=function(Ee){throw new Error(\"process.chdir is not supported\")},_.umask=function(){return 0}},function(i,o,a){\"use strict\";function p(je,qe){if(!(je instanceof qe))throw new TypeError(\"Cannot call a class as a function\")}function _(je,qe){for(var yt=0;yt<qe.length;yt++){var gt=qe[yt];gt.enumerable=gt.enumerable||!1,gt.configurable=!0,\"value\"in gt&&(gt.writable=!0),Object.defineProperty(je,gt.key,gt)}}var t=a(10),k=Symbol(\"max\"),L=Symbol(\"length\"),O=Symbol(\"lengthCalculator\"),C=Symbol(\"allowStale\"),U=Symbol(\"maxAge\"),H=Symbol(\"dispose\"),W=Symbol(\"noDisposeOnSet\"),ne=Symbol(\"lruList\"),m=Symbol(\"cache\"),he=Symbol(\"updateAgeOnGet\"),Ee=function(){return 1},ve=function(){function je(Xe){if(p(this,je),typeof Xe==\"number\"&&(Xe={max:Xe}),Xe||(Xe={}),Xe.max&&(typeof Xe.max!=\"number\"||Xe.max<0))throw new TypeError(\"max must be a non-negative number\");this[k]=Xe.max||1/0;var ut=Xe.length||Ee;if(this[O]=typeof ut!=\"function\"?Ee:ut,this[C]=Xe.stale||!1,Xe.maxAge&&typeof Xe.maxAge!=\"number\")throw new TypeError(\"maxAge must be a number\");this[U]=Xe.maxAge||0,this[H]=Xe.dispose,this[W]=Xe.noDisposeOnSet||!1,this[he]=Xe.updateAgeOnGet||!1,this.reset()}var qe,yt,gt;return qe=je,(yt=[{key:\"rforEach\",value:function(Xe,ut){ut=ut||this;for(var We=this[ne].tail;We!==null;){var Ft=We.prev;Oe(this,Xe,We,ut),We=Ft}}},{key:\"forEach\",value:function(Xe,ut){ut=ut||this;for(var We=this[ne].head;We!==null;){var Ft=We.next;Oe(this,Xe,We,ut),We=Ft}}},{key:\"keys\",value:function(){return this[ne].toArray().map(function(Xe){return Xe.key})}},{key:\"values\",value:function(){return this[ne].toArray().map(function(Xe){return Xe.value})}},{key:\"reset\",value:function(){var Xe=this;this[H]&&this[ne]&&this[ne].length&&this[ne].forEach(function(ut){return Xe[H](ut.key,ut.value)}),this[m]=new Map,this[ne]=new t,this[L]=0}},{key:\"dump\",value:function(){var Xe=this;return this[ne].map(function(ut){return!De(Xe,ut)&&{k:ut.key,v:ut.value,e:ut.now+(ut.maxAge||0)}}).toArray().filter(function(ut){return ut})}},{key:\"dumpLru\",value:function(){return this[ne]}},{key:\"set\",value:function(Xe,ut,We){if((We=We||this[U])&&typeof We!=\"number\")throw new TypeError(\"maxAge must be a number\");var Ft=We?Date.now():0,Jt=this[O](ut,Xe);if(this[m].has(Xe)){if(Jt>this[k])return me(this,this[m].get(Xe)),!1;var rt=this[m].get(Xe).value;return this[H]&&(this[W]||this[H](Xe,rt.value)),rt.now=Ft,rt.maxAge=We,rt.value=ut,this[L]+=Jt-rt.length,rt.length=Jt,this.get(Xe),pe(this),!0}var Q=new ie(Xe,ut,Jt,Ft,We);return Q.length>this[k]?(this[H]&&this[H](Xe,ut),!1):(this[L]+=Q.length,this[ne].unshift(Q),this[m].set(Xe,this[ne].head),pe(this),!0)}},{key:\"has\",value:function(Xe){if(!this[m].has(Xe))return!1;var ut=this[m].get(Xe).value;return!De(this,ut)}},{key:\"get\",value:function(Xe){return se(this,Xe,!0)}},{key:\"peek\",value:function(Xe){return se(this,Xe,!1)}},{key:\"pop\",value:function(){var Xe=this[ne].tail;return Xe?(me(this,Xe),Xe.value):null}},{key:\"del\",value:function(Xe){me(this,this[m].get(Xe))}},{key:\"load\",value:function(Xe){this.reset();for(var ut=Date.now(),We=Xe.length-1;We>=0;We--){var Ft=Xe[We],Jt=Ft.e||0;if(Jt===0)this.set(Ft.k,Ft.v);else{var rt=Jt-ut;rt>0&&this.set(Ft.k,Ft.v,rt)}}}},{key:\"prune\",value:function(){var Xe=this;this[m].forEach(function(ut,We){return se(Xe,We,!1)})}},{key:\"max\",set:function(Xe){if(typeof Xe!=\"number\"||Xe<0)throw new TypeError(\"max must be a non-negative number\");this[k]=Xe||1/0,pe(this)},get:function(){return this[k]}},{key:\"allowStale\",set:function(Xe){this[C]=!!Xe},get:function(){return this[C]}},{key:\"maxAge\",set:function(Xe){if(typeof Xe!=\"number\")throw new TypeError(\"maxAge must be a non-negative number\");this[U]=Xe,pe(this)},get:function(){return this[U]}},{key:\"lengthCalculator\",set:function(Xe){var ut=this;typeof Xe!=\"function\"&&(Xe=Ee),Xe!==this[O]&&(this[O]=Xe,this[L]=0,this[ne].forEach(function(We){We.length=ut[O](We.value,We.key),ut[L]+=We.length})),pe(this)},get:function(){return this[O]}},{key:\"length\",get:function(){return this[L]}},{key:\"itemCount\",get:function(){return this[ne].length}}])&&_(qe.prototype,yt),gt&&_(qe,gt),je}(),se=function(je,qe,yt){var gt=je[m].get(qe);if(gt){var Xe=gt.value;if(De(je,Xe)){if(me(je,gt),!je[C])return}else yt&&(je[he]&&(gt.value.now=Date.now()),je[ne].unshiftNode(gt));return Xe.value}},De=function(je,qe){if(!qe||!qe.maxAge&&!je[U])return!1;var yt=Date.now()-qe.now;return qe.maxAge?yt>qe.maxAge:je[U]&&yt>je[U]},pe=function(je){if(je[L]>je[k])for(var qe=je[ne].tail;je[L]>je[k]&&qe!==null;){var yt=qe.prev;me(je,qe),qe=yt}},me=function(je,qe){if(qe){var yt=qe.value;je[H]&&je[H](yt.key,yt.value),je[L]-=yt.length,je[m].delete(yt.key),je[ne].removeNode(qe)}},ie=function je(qe,yt,gt,Xe,ut){p(this,je),this.key=qe,this.value=yt,this.length=gt,this.now=Xe,this.maxAge=ut||0},Oe=function(je,qe,yt,gt){var Xe=yt.value;De(je,Xe)&&(me(je,yt),je[C]||(Xe=void 0)),Xe&&qe.call(gt,Xe.value,Xe.key,je)};i.exports=ve},function(i,o,a){(function(p){function _(t){return(_=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(k){return typeof k}:function(k){return k&&typeof Symbol==\"function\"&&k.constructor===Symbol&&k!==Symbol.prototype?\"symbol\":typeof k})(t)}i.exports=function(){if(typeof document==\"undefined\"||!document.addEventListener)return null;var t,k,L,O={};return O.copy=function(){var C=!1,U=null,H=!1;function W(){C=!1,U=null,H&&window.getSelection().removeAllRanges(),H=!1}return document.addEventListener(\"copy\",function(ne){if(C){for(var m in U)ne.clipboardData.setData(m,U[m]);ne.preventDefault()}}),function(ne){return new Promise(function(m,he){C=!0,typeof ne==\"string\"?U={\"text/plain\":ne}:ne instanceof Node?U={\"text/html\":new XMLSerializer().serializeToString(ne)}:ne instanceof Object?U=ne:he(\"Invalid data type. Must be string, DOM node, or an object mapping MIME types to strings.\"),function Ee(ve){try{if(document.execCommand(\"copy\"))W(),m();else{if(ve)throw W(),new Error(\"Unable to copy. Perhaps it's not available in your browser?\");(function(){var se=document.getSelection();if(!document.queryCommandEnabled(\"copy\")&&se.isCollapsed){var De=document.createRange();De.selectNodeContents(document.body),se.removeAllRanges(),se.addRange(De),H=!0}})(),Ee(!0)}}catch(se){W(),he(se)}}(!1)})}}(),O.paste=(L=!1,document.addEventListener(\"paste\",function(C){if(L){L=!1,C.preventDefault();var U=t;t=null,U(C.clipboardData.getData(k))}}),function(C){return new Promise(function(U,H){L=!0,t=U,k=C||\"text/plain\";try{document.execCommand(\"paste\")||(L=!1,H(new Error(\"Unable to paste. Pasting only works in Internet Explorer at the moment.\")))}catch(W){L=!1,H(new Error(W))}})}),typeof ClipboardEvent==\"undefined\"&&window.clipboardData!==void 0&&window.clipboardData.setData!==void 0&&(function(C){function U(pe,me){return function(){pe.apply(me,arguments)}}function H(pe){if(_(this)!=\"object\")throw new TypeError(\"Promises must be constructed via new\");if(typeof pe!=\"function\")throw new TypeError(\"not a function\");this._state=null,this._value=null,this._deferreds=[],ve(pe,U(ne,this),U(m,this))}function W(pe){var me=this;return this._state===null?void this._deferreds.push(pe):void se(function(){var ie=me._state?pe.onFulfilled:pe.onRejected;if(ie!==null){var Oe;try{Oe=ie(me._value)}catch(je){return void pe.reject(je)}pe.resolve(Oe)}else(me._state?pe.resolve:pe.reject)(me._value)})}function ne(pe){try{if(pe===this)throw new TypeError(\"A promise cannot be resolved with itself.\");if(pe&&(_(pe)==\"object\"||typeof pe==\"function\")){var me=pe.then;if(typeof me==\"function\")return void ve(U(me,pe),U(ne,this),U(m,this))}this._state=!0,this._value=pe,he.call(this)}catch(ie){m.call(this,ie)}}function m(pe){this._state=!1,this._value=pe,he.call(this)}function he(){for(var pe=0,me=this._deferreds.length;me>pe;pe++)W.call(this,this._deferreds[pe]);this._deferreds=null}function Ee(pe,me,ie,Oe){this.onFulfilled=typeof pe==\"function\"?pe:null,this.onRejected=typeof me==\"function\"?me:null,this.resolve=ie,this.reject=Oe}function ve(pe,me,ie){var Oe=!1;try{pe(function(je){Oe||(Oe=!0,me(je))},function(je){Oe||(Oe=!0,ie(je))})}catch(je){if(Oe)return;Oe=!0,ie(je)}}var se=H.immediateFn||typeof p==\"function\"&&p||function(pe){setTimeout(pe,1)},De=Array.isArray||function(pe){return Object.prototype.toString.call(pe)===\"[object Array]\"};H.prototype.catch=function(pe){return this.then(null,pe)},H.prototype.then=function(pe,me){var ie=this;return new H(function(Oe,je){W.call(ie,new Ee(pe,me,Oe,je))})},H.all=function(){var pe=Array.prototype.slice.call(arguments.length===1&&De(arguments[0])?arguments[0]:arguments);return new H(function(me,ie){function Oe(yt,gt){try{if(gt&&(_(gt)==\"object\"||typeof gt==\"function\")){var Xe=gt.then;if(typeof Xe==\"function\")return void Xe.call(gt,function(ut){Oe(yt,ut)},ie)}pe[yt]=gt,--je==0&&me(pe)}catch(ut){ie(ut)}}if(pe.length===0)return me([]);for(var je=pe.length,qe=0;qe<pe.length;qe++)Oe(qe,pe[qe])})},H.resolve=function(pe){return pe&&_(pe)==\"object\"&&pe.constructor===H?pe:new H(function(me){me(pe)})},H.reject=function(pe){return new H(function(me,ie){ie(pe)})},H.race=function(pe){return new H(function(me,ie){for(var Oe=0,je=pe.length;je>Oe;Oe++)pe[Oe].then(me,ie)})},i.exports?i.exports=H:C.Promise||(C.Promise=H)}(this),O.copy=function(C){return new Promise(function(U,H){if(typeof C!=\"string\"&&!(\"text/plain\"in C))throw new Error(\"You must provide a text/plain type.\");var W=typeof C==\"string\"?C:C[\"text/plain\"];window.clipboardData.setData(\"Text\",W)?U():H(new Error(\"Copying was rejected.\"))})},O.paste=function(){return new Promise(function(C,U){var H=window.clipboardData.getData(\"Text\");H?C(H):U(new Error(\"Pasting was rejected.\"))})}),O}()}).call(this,a(13).setImmediate)},function(i,o,a){\"use strict\";i.exports=a(15)},function(i,o,a){\"use strict\";a.r(o),o.default=`:root {\n  /**\n   * IMPORTANT: When new theme variables are added below\\u2013 also add them to SettingsContext updateThemeVariables()\n   */\n\n  /* Light theme */\n  --light-color-attribute-name: #ef6632;\n  --light-color-attribute-name-not-editable: #23272f;\n  --light-color-attribute-name-inverted: rgba(255, 255, 255, 0.7);\n  --light-color-attribute-value: #1a1aa6;\n  --light-color-attribute-value-inverted: #ffffff;\n  --light-color-attribute-editable-value: #1a1aa6;\n  --light-color-background: #ffffff;\n  --light-color-background-hover: rgba(0, 136, 250, 0.1);\n  --light-color-background-inactive: #e5e5e5;\n  --light-color-background-invalid: #fff0f0;\n  --light-color-background-selected: #0088fa;\n  --light-color-button-background: #ffffff;\n  --light-color-button-background-focus: #ededed;\n  --light-color-button: #5f6673;\n  --light-color-button-disabled: #cfd1d5;\n  --light-color-button-active: #0088fa;\n  --light-color-button-focus: #23272f;\n  --light-color-button-hover: #23272f;\n  --light-color-border: #eeeeee;\n  --light-color-commit-did-not-render-fill: #cfd1d5;\n  --light-color-commit-did-not-render-fill-text: #000000;\n  --light-color-commit-did-not-render-pattern: #cfd1d5;\n  --light-color-commit-did-not-render-pattern-text: #333333;\n  --light-color-commit-gradient-0: #37afa9;\n  --light-color-commit-gradient-1: #63b19e;\n  --light-color-commit-gradient-2: #80b393;\n  --light-color-commit-gradient-3: #97b488;\n  --light-color-commit-gradient-4: #abb67d;\n  --light-color-commit-gradient-5: #beb771;\n  --light-color-commit-gradient-6: #cfb965;\n  --light-color-commit-gradient-7: #dfba57;\n  --light-color-commit-gradient-8: #efbb49;\n  --light-color-commit-gradient-9: #febc38;\n  --light-color-commit-gradient-text: #000000;\n  --light-color-component-name: #6a51b2;\n  --light-color-component-name-inverted: #ffffff;\n  --light-color-component-badge-background: rgba(0, 0, 0, 0.1);\n  --light-color-component-badge-background-inverted: rgba(255, 255, 255, 0.25);\n  --light-color-component-badge-count: #777d88;\n  --light-color-component-badge-count-inverted: rgba(255, 255, 255, 0.7);\n  --light-color-context-background: rgba(0,0,0,.9);\n  --light-color-context-background-hover: rgba(255, 255, 255, 0.1);\n  --light-color-context-background-selected: #178fb9;\n  --light-color-context-border: #3d424a;\n  --light-color-context-text: #ffffff;\n  --light-color-context-text-selected: #ffffff;\n  --light-color-dim: #777d88;\n  --light-color-dimmer: #cfd1d5;\n  --light-color-dimmest: #eff0f1;\n  --light-color-error-background: hsl(0, 100%, 97%);\n  --light-color-error-border: hsl(0, 100%, 92%);\n  --light-color-error-text: #ff0000;\n  --light-color-expand-collapse-toggle: #777d88;\n  --light-color-link: #0000ff;\n  --light-color-modal-background: rgba(255, 255, 255, 0.75);\n  --light-color-record-active: #fc3a4b;\n  --light-color-record-hover: #3578e5;\n  --light-color-record-inactive: #0088fa;\n  --light-color-scroll-thumb: #c2c2c2;\n  --light-color-scroll-track: #fafafa;\n  --light-color-search-match: yellow;\n  --light-color-search-match-current: #f7923b;\n  --light-color-selected-tree-highlight-active: rgba(0, 136, 250, 0.1);\n  --light-color-selected-tree-highlight-inactive: rgba(0, 0, 0, 0.05);\n  --light-color-shadow: rgba(0, 0, 0, 0.25);\n  --light-color-tab-selected-border: #0088fa;\n  --light-color-text: #000000;\n  --light-color-text-invalid: #ff0000;\n  --light-color-text-selected: #ffffff;\n  --light-color-toggle-background-invalid: #fc3a4b;\n  --light-color-toggle-background-on: #0088fa;\n  --light-color-toggle-background-off: #cfd1d5;\n  --light-color-toggle-text: #ffffff;\n  --light-color-tooltip-background: rgba(0, 0, 0, 0.9);\n  --light-color-tooltip-text: #ffffff;\n\n  /* Dark theme */\n  --dark-color-attribute-name: #9d87d2;\n  --dark-color-attribute-name-not-editable: #ededed;\n  --dark-color-attribute-name-inverted: #282828;\n  --dark-color-attribute-value: #cedae0;\n  --dark-color-attribute-value-inverted: #ffffff;\n  --dark-color-attribute-editable-value: yellow;\n  --dark-color-background: #282c34;\n  --dark-color-background-hover: rgba(255, 255, 255, 0.1);\n  --dark-color-background-inactive: #3d424a;\n  --dark-color-background-invalid: #5c0000;\n  --dark-color-background-selected: #178fb9;\n  --dark-color-button-background: #282c34;\n  --dark-color-button-background-focus: #3d424a;\n  --dark-color-button: #afb3b9;\n  --dark-color-button-active: #61dafb;\n  --dark-color-button-disabled: #4f5766;\n  --dark-color-button-focus: #a2e9fc;\n  --dark-color-button-hover: #ededed;\n  --dark-color-border: #3d424a;\n  --dark-color-commit-did-not-render-fill: #777d88;\n  --dark-color-commit-did-not-render-fill-text: #000000;\n  --dark-color-commit-did-not-render-pattern: #666c77;\n  --dark-color-commit-did-not-render-pattern-text: #ffffff;\n  --dark-color-commit-gradient-0: #37afa9;\n  --dark-color-commit-gradient-1: #63b19e;\n  --dark-color-commit-gradient-2: #80b393;\n  --dark-color-commit-gradient-3: #97b488;\n  --dark-color-commit-gradient-4: #abb67d;\n  --dark-color-commit-gradient-5: #beb771;\n  --dark-color-commit-gradient-6: #cfb965;\n  --dark-color-commit-gradient-7: #dfba57;\n  --dark-color-commit-gradient-8: #efbb49;\n  --dark-color-commit-gradient-9: #febc38;\n  --dark-color-commit-gradient-text: #000000;\n  --dark-color-component-name: #61dafb;\n  --dark-color-component-name-inverted: #282828;\n  --dark-color-component-badge-background: rgba(255, 255, 255, 0.25);\n  --dark-color-component-badge-background-inverted: rgba(0, 0, 0, 0.25);\n  --dark-color-component-badge-count: #8f949d;\n  --dark-color-component-badge-count-inverted: rgba(255, 255, 255, 0.7);\n  --dark-color-context-background: rgba(255,255,255,.9);\n  --dark-color-context-background-hover: rgba(0, 136, 250, 0.1);\n  --dark-color-context-background-selected: #0088fa;\n  --dark-color-context-border: #eeeeee;\n  --dark-color-context-text: #000000;\n  --dark-color-context-text-selected: #ffffff;\n  --dark-color-dim: #8f949d;\n  --dark-color-dimmer: #777d88;\n  --dark-color-dimmest: #4f5766;\n  --dark-color-error-background: #200;\n  --dark-color-error-border: #900;\n  --dark-color-error-text: #f55;\n  --dark-color-expand-collapse-toggle: #8f949d;\n  --dark-color-link: #61dafb;\n  --dark-color-modal-background: rgba(0, 0, 0, 0.75);\n  --dark-color-record-active: #fc3a4b;\n  --dark-color-record-hover: #a2e9fc;\n  --dark-color-record-inactive: #61dafb;\n  --dark-color-scroll-thumb: #afb3b9;\n  --dark-color-scroll-track: #313640;\n  --dark-color-search-match: yellow;\n  --dark-color-search-match-current: #f7923b;\n  --dark-color-selected-tree-highlight-active: rgba(23, 143, 185, 0.15);\n  --dark-color-selected-tree-highlight-inactive: rgba(255, 255, 255, 0.05);\n  --dark-color-shadow: rgba(0, 0, 0, 0.5);\n  --dark-color-tab-selected-border: #178fb9;\n  --dark-color-text: #ffffff;\n  --dark-color-text-invalid: #ff8080;\n  --dark-color-text-selected: #ffffff;\n  --dark-color-toggle-background-invalid: #fc3a4b;\n  --dark-color-toggle-background-on: #178fb9;\n  --dark-color-toggle-background-off: #777d88;\n  --dark-color-toggle-text: #ffffff;\n  --dark-color-tooltip-background: rgba(255, 255, 255, 0.9);\n  --dark-color-tooltip-text: #000000;\n\n  /* Font smoothing */\n  --light-font-smoothing: auto;\n  --dark-font-smoothing: antialiased;\n  --font-smoothing: auto;\n\n  /* Compact density */\n  --compact-font-size-monospace-small: 9px;\n  --compact-font-size-monospace-normal: 11px;\n  --compact-font-size-monospace-large: 15px;\n  --compact-font-size-sans-small: 10px;\n  --compact-font-size-sans-normal: 12px;\n  --compact-font-size-sans-large: 14px;\n  --compact-line-height-data: 18px;\n  --compact-root-font-size: 16px;\n\n  /* Comfortable density */\n  --comfortable-font-size-monospace-small: 10px;\n  --comfortable-font-size-monospace-normal: 13px;\n  --comfortable-font-size-monospace-large: 17px;\n  --comfortable-font-size-sans-small: 12px;\n  --comfortable-font-size-sans-normal: 14px;\n  --comfortable-font-size-sans-large: 16px;\n  --comfortable-line-height-data: 22px;\n  --comfortable-root-font-size: 20px;\n\n  /* GitHub.com system fonts */\n  --font-family-monospace: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo,\n    Courier, monospace;\n  --font-family-sans: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica,\n    Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;\n\n  /* Constant values shared between JS and CSS */\n  --interaction-commit-size: 10px;\n  --interaction-label-width: 200px;\n}\n`},function(i,o,a){\"use strict\";function p(O){var C=this;if(C instanceof p||(C=new p),C.tail=null,C.head=null,C.length=0,O&&typeof O.forEach==\"function\")O.forEach(function(W){C.push(W)});else if(arguments.length>0)for(var U=0,H=arguments.length;U<H;U++)C.push(arguments[U]);return C}function _(O,C,U){var H=C===O.head?new L(U,null,C,O):new L(U,C,C.next,O);return H.next===null&&(O.tail=H),H.prev===null&&(O.head=H),O.length++,H}function t(O,C){O.tail=new L(C,O.tail,null,O),O.head||(O.head=O.tail),O.length++}function k(O,C){O.head=new L(C,null,O.head,O),O.tail||(O.tail=O.head),O.length++}function L(O,C,U,H){if(!(this instanceof L))return new L(O,C,U,H);this.list=H,this.value=O,C?(C.next=this,this.prev=C):this.prev=null,U?(U.prev=this,this.next=U):this.next=null}i.exports=p,p.Node=L,p.create=p,p.prototype.removeNode=function(O){if(O.list!==this)throw new Error(\"removing node which does not belong to this list\");var C=O.next,U=O.prev;return C&&(C.prev=U),U&&(U.next=C),O===this.head&&(this.head=C),O===this.tail&&(this.tail=U),O.list.length--,O.next=null,O.prev=null,O.list=null,C},p.prototype.unshiftNode=function(O){if(O!==this.head){O.list&&O.list.removeNode(O);var C=this.head;O.list=this,O.next=C,C&&(C.prev=O),this.head=O,this.tail||(this.tail=O),this.length++}},p.prototype.pushNode=function(O){if(O!==this.tail){O.list&&O.list.removeNode(O);var C=this.tail;O.list=this,O.prev=C,C&&(C.next=O),this.tail=O,this.head||(this.head=O),this.length++}},p.prototype.push=function(){for(var O=0,C=arguments.length;O<C;O++)t(this,arguments[O]);return this.length},p.prototype.unshift=function(){for(var O=0,C=arguments.length;O<C;O++)k(this,arguments[O]);return this.length},p.prototype.pop=function(){if(this.tail){var O=this.tail.value;return this.tail=this.tail.prev,this.tail?this.tail.next=null:this.head=null,this.length--,O}},p.prototype.shift=function(){if(this.head){var O=this.head.value;return this.head=this.head.next,this.head?this.head.prev=null:this.tail=null,this.length--,O}},p.prototype.forEach=function(O,C){C=C||this;for(var U=this.head,H=0;U!==null;H++)O.call(C,U.value,H,this),U=U.next},p.prototype.forEachReverse=function(O,C){C=C||this;for(var U=this.tail,H=this.length-1;U!==null;H--)O.call(C,U.value,H,this),U=U.prev},p.prototype.get=function(O){for(var C=0,U=this.head;U!==null&&C<O;C++)U=U.next;if(C===O&&U!==null)return U.value},p.prototype.getReverse=function(O){for(var C=0,U=this.tail;U!==null&&C<O;C++)U=U.prev;if(C===O&&U!==null)return U.value},p.prototype.map=function(O,C){C=C||this;for(var U=new p,H=this.head;H!==null;)U.push(O.call(C,H.value,this)),H=H.next;return U},p.prototype.mapReverse=function(O,C){C=C||this;for(var U=new p,H=this.tail;H!==null;)U.push(O.call(C,H.value,this)),H=H.prev;return U},p.prototype.reduce=function(O,C){var U,H=this.head;if(arguments.length>1)U=C;else{if(!this.head)throw new TypeError(\"Reduce of empty list with no initial value\");H=this.head.next,U=this.head.value}for(var W=0;H!==null;W++)U=O(U,H.value,W),H=H.next;return U},p.prototype.reduceReverse=function(O,C){var U,H=this.tail;if(arguments.length>1)U=C;else{if(!this.tail)throw new TypeError(\"Reduce of empty list with no initial value\");H=this.tail.prev,U=this.tail.value}for(var W=this.length-1;H!==null;W--)U=O(U,H.value,W),H=H.prev;return U},p.prototype.toArray=function(){for(var O=new Array(this.length),C=0,U=this.head;U!==null;C++)O[C]=U.value,U=U.next;return O},p.prototype.toArrayReverse=function(){for(var O=new Array(this.length),C=0,U=this.tail;U!==null;C++)O[C]=U.value,U=U.prev;return O},p.prototype.slice=function(O,C){(C=C||this.length)<0&&(C+=this.length),(O=O||0)<0&&(O+=this.length);var U=new p;if(C<O||C<0)return U;O<0&&(O=0),C>this.length&&(C=this.length);for(var H=0,W=this.head;W!==null&&H<O;H++)W=W.next;for(;W!==null&&H<C;H++,W=W.next)U.push(W.value);return U},p.prototype.sliceReverse=function(O,C){(C=C||this.length)<0&&(C+=this.length),(O=O||0)<0&&(O+=this.length);var U=new p;if(C<O||C<0)return U;O<0&&(O=0),C>this.length&&(C=this.length);for(var H=this.length,W=this.tail;W!==null&&H>C;H--)W=W.prev;for(;W!==null&&H>O;H--,W=W.prev)U.push(W.value);return U},p.prototype.splice=function(O,C){O>this.length&&(O=this.length-1),O<0&&(O=this.length+O);for(var U=0,H=this.head;H!==null&&U<O;U++)H=H.next;var W=[];for(U=0;H&&U<C;U++)W.push(H.value),H=this.removeNode(H);for(H===null&&(H=this.tail),H!==this.head&&H!==this.tail&&(H=H.prev),U=2;U<arguments.length;U++)H=_(this,H,arguments[U]);return W},p.prototype.reverse=function(){for(var O=this.head,C=this.tail,U=O;U!==null;U=U.prev){var H=U.prev;U.prev=U.next,U.next=H}return this.head=C,this.tail=O,this};try{a(11)(p)}catch(O){}},function(i,o,a){\"use strict\";i.exports=function(p){p.prototype[Symbol.iterator]=regeneratorRuntime.mark(function _(){var t;return regeneratorRuntime.wrap(function(k){for(;;)switch(k.prev=k.next){case 0:t=this.head;case 1:if(!t){k.next=7;break}return k.next=4,t.value;case 4:t=t.next,k.next=1;break;case 7:case\"end\":return k.stop()}},_,this)})}},function(i,o,a){\"use strict\";function p(rt){return(p=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(Q){return typeof Q}:function(Q){return Q&&typeof Symbol==\"function\"&&Q.constructor===Symbol&&Q!==Symbol.prototype?\"symbol\":typeof Q})(rt)}var _=60103,t=60106,k=60107,L=60108,O=60114,C=60109,U=60110,H=60112,W=60113,ne=60120,m=60115,he=60116,Ee=60121,ve=60122,se=60117,De=60129,pe=60131;if(typeof Symbol==\"function\"&&Symbol.for){var me=Symbol.for;_=me(\"react.element\"),t=me(\"react.portal\"),k=me(\"react.fragment\"),L=me(\"react.strict_mode\"),O=me(\"react.profiler\"),C=me(\"react.provider\"),U=me(\"react.context\"),H=me(\"react.forward_ref\"),W=me(\"react.suspense\"),ne=me(\"react.suspense_list\"),m=me(\"react.memo\"),he=me(\"react.lazy\"),Ee=me(\"react.block\"),ve=me(\"react.server.block\"),se=me(\"react.fundamental\"),De=me(\"react.debug_trace_mode\"),pe=me(\"react.legacy_hidden\")}function ie(rt){if(p(rt)===\"object\"&&rt!==null){var Q=rt.$$typeof;switch(Q){case _:switch(rt=rt.type){case k:case O:case L:case W:case ne:return rt;default:switch(rt=rt&&rt.$$typeof){case U:case H:case he:case m:case C:return rt;default:return Q}}case t:return Q}}}var Oe=C,je=_,qe=H,yt=k,gt=he,Xe=m,ut=t,We=O,Ft=L,Jt=W;o.ContextConsumer=U,o.ContextProvider=Oe,o.Element=je,o.ForwardRef=qe,o.Fragment=yt,o.Lazy=gt,o.Memo=Xe,o.Portal=ut,o.Profiler=We,o.StrictMode=Ft,o.Suspense=Jt,o.isAsyncMode=function(){return!1},o.isConcurrentMode=function(){return!1},o.isContextConsumer=function(rt){return ie(rt)===U},o.isContextProvider=function(rt){return ie(rt)===C},o.isElement=function(rt){return p(rt)===\"object\"&&rt!==null&&rt.$$typeof===_},o.isForwardRef=function(rt){return ie(rt)===H},o.isFragment=function(rt){return ie(rt)===k},o.isLazy=function(rt){return ie(rt)===he},o.isMemo=function(rt){return ie(rt)===m},o.isPortal=function(rt){return ie(rt)===t},o.isProfiler=function(rt){return ie(rt)===O},o.isStrictMode=function(rt){return ie(rt)===L},o.isSuspense=function(rt){return ie(rt)===W},o.isValidElementType=function(rt){return typeof rt==\"string\"||typeof rt==\"function\"||rt===k||rt===O||rt===De||rt===L||rt===W||rt===ne||rt===pe||p(rt)===\"object\"&&rt!==null&&(rt.$$typeof===he||rt.$$typeof===m||rt.$$typeof===C||rt.$$typeof===U||rt.$$typeof===H||rt.$$typeof===se||rt.$$typeof===Ee||rt[0]===ve)},o.typeOf=ie},function(i,o,a){(function(p){var _=p!==void 0&&p||typeof self!=\"undefined\"&&self||window,t=Function.prototype.apply;function k(L,O){this._id=L,this._clearFn=O}o.setTimeout=function(){return new k(t.call(setTimeout,_,arguments),clearTimeout)},o.setInterval=function(){return new k(t.call(setInterval,_,arguments),clearInterval)},o.clearTimeout=o.clearInterval=function(L){L&&L.close()},k.prototype.unref=k.prototype.ref=function(){},k.prototype.close=function(){this._clearFn.call(_,this._id)},o.enroll=function(L,O){clearTimeout(L._idleTimeoutId),L._idleTimeout=O},o.unenroll=function(L){clearTimeout(L._idleTimeoutId),L._idleTimeout=-1},o._unrefActive=o.active=function(L){clearTimeout(L._idleTimeoutId);var O=L._idleTimeout;O>=0&&(L._idleTimeoutId=setTimeout(function(){L._onTimeout&&L._onTimeout()},O))},a(14),o.setImmediate=typeof self!=\"undefined\"&&self.setImmediate||p!==void 0&&p.setImmediate||this&&this.setImmediate,o.clearImmediate=typeof self!=\"undefined\"&&self.clearImmediate||p!==void 0&&p.clearImmediate||this&&this.clearImmediate}).call(this,a(4))},function(i,o,a){(function(p,_){(function(t,k){\"use strict\";if(!t.setImmediate){var L,O,C,U,H,W=1,ne={},m=!1,he=t.document,Ee=Object.getPrototypeOf&&Object.getPrototypeOf(t);Ee=Ee&&Ee.setTimeout?Ee:t,{}.toString.call(t.process)===\"[object process]\"?L=function(De){_.nextTick(function(){se(De)})}:function(){if(t.postMessage&&!t.importScripts){var De=!0,pe=t.onmessage;return t.onmessage=function(){De=!1},t.postMessage(\"\",\"*\"),t.onmessage=pe,De}}()?(U=\"setImmediate$\"+Math.random()+\"$\",H=function(De){De.source===t&&typeof De.data==\"string\"&&De.data.indexOf(U)===0&&se(+De.data.slice(U.length))},t.addEventListener?t.addEventListener(\"message\",H,!1):t.attachEvent(\"onmessage\",H),L=function(De){t.postMessage(U+De,\"*\")}):t.MessageChannel?((C=new MessageChannel).port1.onmessage=function(De){se(De.data)},L=function(De){C.port2.postMessage(De)}):he&&\"onreadystatechange\"in he.createElement(\"script\")?(O=he.documentElement,L=function(De){var pe=he.createElement(\"script\");pe.onreadystatechange=function(){se(De),pe.onreadystatechange=null,O.removeChild(pe),pe=null},O.appendChild(pe)}):L=function(De){setTimeout(se,0,De)},Ee.setImmediate=function(De){typeof De!=\"function\"&&(De=new Function(\"\"+De));for(var pe=new Array(arguments.length-1),me=0;me<pe.length;me++)pe[me]=arguments[me+1];var ie={callback:De,args:pe};return ne[W]=ie,L(W),W++},Ee.clearImmediate=ve}function ve(De){delete ne[De]}function se(De){if(m)setTimeout(se,0,De);else{var pe=ne[De];if(pe){m=!0;try{(function(me){var ie=me.callback,Oe=me.args;switch(Oe.length){case 0:ie();break;case 1:ie(Oe[0]);break;case 2:ie(Oe[0],Oe[1]);break;case 3:ie(Oe[0],Oe[1],Oe[2]);break;default:ie.apply(void 0,Oe)}})(pe)}finally{ve(De),m=!1}}}}})(typeof self==\"undefined\"?p===void 0?this:p:self)}).call(this,a(4),a(5))},function(i,o,a){\"use strict\";function p(ie){return(p=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(Oe){return typeof Oe}:function(Oe){return Oe&&typeof Symbol==\"function\"&&Oe.constructor===Symbol&&Oe!==Symbol.prototype?\"symbol\":typeof Oe})(ie)}var _=a(1),t=a(16),k=a(18).__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,L=60128;if(typeof Symbol==\"function\"&&Symbol.for){var O=Symbol.for;L=O(\"react.opaque.id\")}var C=[],U=null,H=null;function W(){if(U===null){var ie=new Map;try{he.useContext({_currentValue:null}),he.useState(null),he.useReducer(function(yt){return yt},null),he.useRef(null),he.useLayoutEffect(function(){}),he.useEffect(function(){}),he.useImperativeHandle(void 0,function(){return null}),he.useDebugValue(null),he.useCallback(function(){}),he.useMemo(function(){return null})}finally{var Oe=C;C=[]}for(var je=0;je<Oe.length;je++){var qe=Oe[je];ie.set(qe.primitive,t.parse(qe.stackError))}U=ie}return U}var ne=null;function m(){var ie=ne;return ie!==null&&(ne=ie.next),ie}var he={readContext:function(ie){return ie._currentValue},useCallback:function(ie){var Oe=m();return C.push({primitive:\"Callback\",stackError:Error(),value:Oe!==null?Oe.memoizedState[0]:ie}),ie},useContext:function(ie){return C.push({primitive:\"Context\",stackError:Error(),value:ie._currentValue}),ie._currentValue},useEffect:function(ie){m(),C.push({primitive:\"Effect\",stackError:Error(),value:ie})},useImperativeHandle:function(ie){m();var Oe=void 0;ie!==null&&p(ie)===\"object\"&&(Oe=ie.current),C.push({primitive:\"ImperativeHandle\",stackError:Error(),value:Oe})},useDebugValue:function(ie,Oe){C.push({primitive:\"DebugValue\",stackError:Error(),value:typeof Oe==\"function\"?Oe(ie):ie})},useLayoutEffect:function(ie){m(),C.push({primitive:\"LayoutEffect\",stackError:Error(),value:ie})},useMemo:function(ie){var Oe=m();return ie=Oe!==null?Oe.memoizedState[0]:ie(),C.push({primitive:\"Memo\",stackError:Error(),value:ie}),ie},useReducer:function(ie,Oe,je){return Oe=(ie=m())!==null?ie.memoizedState:je!==void 0?je(Oe):Oe,C.push({primitive:\"Reducer\",stackError:Error(),value:Oe}),[Oe,function(){}]},useRef:function(ie){var Oe=m();return ie=Oe!==null?Oe.memoizedState:{current:ie},C.push({primitive:\"Ref\",stackError:Error(),value:ie.current}),ie},useState:function(ie){var Oe=m();return ie=Oe!==null?Oe.memoizedState:typeof ie==\"function\"?ie():ie,C.push({primitive:\"State\",stackError:Error(),value:ie}),[ie,function(){}]},useTransition:function(){return m(),m(),C.push({primitive:\"Transition\",stackError:Error(),value:void 0}),[function(){},!1]},useMutableSource:function(ie,Oe){return m(),m(),m(),m(),ie=Oe(ie._source),C.push({primitive:\"MutableSource\",stackError:Error(),value:ie}),ie},useDeferredValue:function(ie){return m(),m(),C.push({primitive:\"DeferredValue\",stackError:Error(),value:ie}),ie},useOpaqueIdentifier:function(){var ie=m();return H&&H.mode===0&&m(),(ie=ie===null?void 0:ie.memoizedState)&&ie.$$typeof===L&&(ie=void 0),C.push({primitive:\"OpaqueIdentifier\",stackError:Error(),value:ie}),ie}},Ee=0;function ve(ie,Oe,je){var qe=Oe[je].source,yt=0;e:for(;yt<ie.length;yt++)if(ie[yt].source===qe){for(var gt=je+1,Xe=yt+1;gt<Oe.length&&Xe<ie.length;gt++,Xe++)if(ie[Xe].source!==Oe[gt].source)continue e;return yt}return-1}function se(ie,Oe){return!!ie&&(Oe=\"use\"+Oe,!(ie.length<Oe.length)&&ie.lastIndexOf(Oe)===ie.length-Oe.length)}function De(ie){if(!ie)return\"\";var Oe=ie.lastIndexOf(\".\");return Oe===-1&&(Oe=0),ie.substr(Oe,3)===\"use\"&&(Oe+=3),ie.substr(Oe)}function pe(ie,Oe){for(var je=[],qe=null,yt=je,gt=0,Xe=[],ut=0;ut<Oe.length;ut++){var We=Oe[ut],Ft=ie,Jt=t.parse(We.stackError);e:{var rt=Jt,Q=ve(rt,Ft,Ee);if(Q!==-1)Ft=Q;else{for(var fe=0;fe<Ft.length&&5>fe;fe++)if((Q=ve(rt,Ft,fe))!==-1){Ee=fe,Ft=Q;break e}Ft=-1}}e:{if(rt=Jt,(Q=W().get(We.primitive))!==void 0){for(fe=0;fe<Q.length&&fe<rt.length;fe++)if(Q[fe].source!==rt[fe].source){fe<rt.length-1&&se(rt[fe].functionName,We.primitive)&&fe++,fe<rt.length-1&&se(rt[fe].functionName,We.primitive)&&fe++,rt=fe;break e}}rt=-1}if((Jt=Ft===-1||rt===-1||2>Ft-rt?null:Jt.slice(rt,Ft-1))!==null){if(Ft=0,qe!==null){for(;Ft<Jt.length&&Ft<qe.length&&Jt[Jt.length-Ft-1].source===qe[qe.length-Ft-1].source;)Ft++;for(qe=qe.length-1;qe>Ft;qe--)yt=Xe.pop()}for(qe=Jt.length-Ft-1;1<=qe;qe--)Ft=[],yt.push({id:null,isStateEditable:!1,name:De(Jt[qe-1].functionName),value:void 0,subHooks:Ft}),Xe.push(yt),yt=Ft;qe=Jt}Ft=(Jt=We.primitive)===\"Context\"||Jt===\"DebugValue\"?null:gt++,yt.push({id:Ft,isStateEditable:Jt===\"Reducer\"||Jt===\"State\",name:Jt,value:We.value,subHooks:[]})}return function xe(oe,ze){for(var ct=[],Rt=0;Rt<oe.length;Rt++){var nn=oe[Rt];nn.name===\"DebugValue\"&&nn.subHooks.length===0?(oe.splice(Rt,1),Rt--,ct.push(nn)):xe(nn.subHooks,nn)}ze!==null&&(ct.length===1?ze.value=ct[0].value:1<ct.length&&(ze.value=ct.map(function(an){return an.value})))}(je,null),je}function me(ie,Oe,je){je==null&&(je=k.ReactCurrentDispatcher);var qe=je.current;je.current=he;try{var yt=Error();ie(Oe)}finally{ie=C,C=[],je.current=qe}return pe(je=t.parse(yt),ie)}o.inspectHooks=me,o.inspectHooksOfFiber=function(ie,Oe){if(Oe==null&&(Oe=k.ReactCurrentDispatcher),H=ie,ie.tag!==0&&ie.tag!==15&&ie.tag!==11&&ie.tag!==22)throw Error(\"Unknown Fiber. Needs to be a function component to inspect hooks.\");W();var je=ie.type,qe=ie.memoizedProps;if(je!==ie.elementType&&je&&je.defaultProps){qe=_({},qe);var yt=je.defaultProps;for(gt in yt)qe[gt]===void 0&&(qe[gt]=yt[gt])}ne=ie.memoizedState;var gt=new Map;try{for(yt=ie;yt;){if(yt.tag===10){var Xe=yt.type._context;gt.has(Xe)||(gt.set(Xe,Xe._currentValue),Xe._currentValue=yt.memoizedProps.value)}yt=yt.return}if(ie.tag===11){var ut=je.render;je=qe;var We=ie.ref,Ft=(ie=Oe).current;ie.current=he;try{var Jt=Error();ut(je,We)}finally{var rt=C;C=[],ie.current=Ft}return pe(t.parse(Jt),rt)}return me(je,qe,Oe)}finally{ne=null,function(Q){Q.forEach(function(fe,xe){return xe._currentValue=fe})}(gt)}}},function(i,o,a){var p,_,t;(function(k,L){\"use strict\";_=[a(17)],(t=typeof(p=function(O){var C=/(^|@)\\S+:\\d+/,U=/^\\s*at .*(\\S+:\\d+|\\(native\\))/m,H=/^(eval@)?(\\[native code])?$/;return{parse:function(W){if(W.stacktrace!==void 0||W[\"opera#sourceloc\"]!==void 0)return this.parseOpera(W);if(W.stack&&W.stack.match(U))return this.parseV8OrIE(W);if(W.stack)return this.parseFFOrSafari(W);throw new Error(\"Cannot parse given Error object\")},extractLocation:function(W){if(W.indexOf(\":\")===-1)return[W];var ne=/(.+?)(?::(\\d+))?(?::(\\d+))?$/.exec(W.replace(/[()]/g,\"\"));return[ne[1],ne[2]||void 0,ne[3]||void 0]},parseV8OrIE:function(W){return W.stack.split(`\n`).filter(function(ne){return!!ne.match(U)},this).map(function(ne){ne.indexOf(\"(eval \")>-1&&(ne=ne.replace(/eval code/g,\"eval\").replace(/(\\(eval at [^()]*)|(\\),.*$)/g,\"\"));var m=ne.replace(/^\\s+/,\"\").replace(/\\(eval code/g,\"(\"),he=m.match(/ (\\((.+):(\\d+):(\\d+)\\)$)/),Ee=(m=he?m.replace(he[0],\"\"):m).split(/\\s+/).slice(1),ve=this.extractLocation(he?he[1]:Ee.pop()),se=Ee.join(\" \")||void 0,De=[\"eval\",\"<anonymous>\"].indexOf(ve[0])>-1?void 0:ve[0];return new O({functionName:se,fileName:De,lineNumber:ve[1],columnNumber:ve[2],source:ne})},this)},parseFFOrSafari:function(W){return W.stack.split(`\n`).filter(function(ne){return!ne.match(H)},this).map(function(ne){if(ne.indexOf(\" > eval\")>-1&&(ne=ne.replace(/ line (\\d+)(?: > eval line \\d+)* > eval:\\d+:\\d+/g,\":$1\")),ne.indexOf(\"@\")===-1&&ne.indexOf(\":\")===-1)return new O({functionName:ne});var m=/((.*\".+\"[^@]*)?[^@]*)(?:@)/,he=ne.match(m),Ee=he&&he[1]?he[1]:void 0,ve=this.extractLocation(ne.replace(m,\"\"));return new O({functionName:Ee,fileName:ve[0],lineNumber:ve[1],columnNumber:ve[2],source:ne})},this)},parseOpera:function(W){return!W.stacktrace||W.message.indexOf(`\n`)>-1&&W.message.split(`\n`).length>W.stacktrace.split(`\n`).length?this.parseOpera9(W):W.stack?this.parseOpera11(W):this.parseOpera10(W)},parseOpera9:function(W){for(var ne=/Line (\\d+).*script (?:in )?(\\S+)/i,m=W.message.split(`\n`),he=[],Ee=2,ve=m.length;Ee<ve;Ee+=2){var se=ne.exec(m[Ee]);se&&he.push(new O({fileName:se[2],lineNumber:se[1],source:m[Ee]}))}return he},parseOpera10:function(W){for(var ne=/Line (\\d+).*script (?:in )?(\\S+)(?:: In function (\\S+))?$/i,m=W.stacktrace.split(`\n`),he=[],Ee=0,ve=m.length;Ee<ve;Ee+=2){var se=ne.exec(m[Ee]);se&&he.push(new O({functionName:se[3]||void 0,fileName:se[2],lineNumber:se[1],source:m[Ee]}))}return he},parseOpera11:function(W){return W.stack.split(`\n`).filter(function(ne){return!!ne.match(C)&&!ne.match(/^Error created at/)},this).map(function(ne){var m,he=ne.split(\"@\"),Ee=this.extractLocation(he.pop()),ve=he.shift()||\"\",se=ve.replace(/<anonymous function(: (\\w+))?>/,\"$2\").replace(/\\([^)]*\\)/g,\"\")||void 0;ve.match(/\\(([^)]*)\\)/)&&(m=ve.replace(/^[^(]+\\(([^)]*)\\)$/,\"$1\"));var De=m===void 0||m===\"[arguments not available]\"?void 0:m.split(\",\");return new O({functionName:se,args:De,fileName:Ee[0],lineNumber:Ee[1],columnNumber:Ee[2],source:ne})},this)}}})==\"function\"?p.apply(o,_):p)===void 0||(i.exports=t)})()},function(i,o,a){var p,_,t;(function(k,L){\"use strict\";_=[],(t=typeof(p=function(){function O(se){return se.charAt(0).toUpperCase()+se.substring(1)}function C(se){return function(){return this[se]}}var U=[\"isConstructor\",\"isEval\",\"isNative\",\"isToplevel\"],H=[\"columnNumber\",\"lineNumber\"],W=[\"fileName\",\"functionName\",\"source\"],ne=U.concat(H,W,[\"args\"]);function m(se){if(se)for(var De=0;De<ne.length;De++)se[ne[De]]!==void 0&&this[\"set\"+O(ne[De])](se[ne[De]])}m.prototype={getArgs:function(){return this.args},setArgs:function(se){if(Object.prototype.toString.call(se)!==\"[object Array]\")throw new TypeError(\"Args must be an Array\");this.args=se},getEvalOrigin:function(){return this.evalOrigin},setEvalOrigin:function(se){if(se instanceof m)this.evalOrigin=se;else{if(!(se instanceof Object))throw new TypeError(\"Eval Origin must be an Object or StackFrame\");this.evalOrigin=new m(se)}},toString:function(){var se=this.getFileName()||\"\",De=this.getLineNumber()||\"\",pe=this.getColumnNumber()||\"\",me=this.getFunctionName()||\"\";return this.getIsEval()?se?\"[eval] (\"+se+\":\"+De+\":\"+pe+\")\":\"[eval]:\"+De+\":\"+pe:me?me+\" (\"+se+\":\"+De+\":\"+pe+\")\":se+\":\"+De+\":\"+pe}},m.fromString=function(se){var De=se.indexOf(\"(\"),pe=se.lastIndexOf(\")\"),me=se.substring(0,De),ie=se.substring(De+1,pe).split(\",\"),Oe=se.substring(pe+1);if(Oe.indexOf(\"@\")===0)var je=/@(.+?)(?::(\\d+))?(?::(\\d+))?$/.exec(Oe,\"\"),qe=je[1],yt=je[2],gt=je[3];return new m({functionName:me,args:ie||void 0,fileName:qe,lineNumber:yt||void 0,columnNumber:gt||void 0})};for(var he=0;he<U.length;he++)m.prototype[\"get\"+O(U[he])]=C(U[he]),m.prototype[\"set\"+O(U[he])]=function(se){return function(De){this[se]=Boolean(De)}}(U[he]);for(var Ee=0;Ee<H.length;Ee++)m.prototype[\"get\"+O(H[Ee])]=C(H[Ee]),m.prototype[\"set\"+O(H[Ee])]=function(se){return function(De){if(pe=De,isNaN(parseFloat(pe))||!isFinite(pe))throw new TypeError(se+\" must be a Number\");var pe;this[se]=Number(De)}}(H[Ee]);for(var ve=0;ve<W.length;ve++)m.prototype[\"get\"+O(W[ve])]=C(W[ve]),m.prototype[\"set\"+O(W[ve])]=function(se){return function(De){this[se]=String(De)}}(W[ve]);return m})==\"function\"?p.apply(o,_):p)===void 0||(i.exports=t)})()},function(i,o,a){\"use strict\";i.exports=a(19)},function(i,o,a){\"use strict\";function p(oe){return(p=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(ze){return typeof ze}:function(ze){return ze&&typeof Symbol==\"function\"&&ze.constructor===Symbol&&ze!==Symbol.prototype?\"symbol\":typeof ze})(oe)}var _=a(1),t=60103,k=60106;o.Fragment=60107,o.StrictMode=60108,o.Profiler=60114;var L=60109,O=60110,C=60112;o.Suspense=60113,o.unstable_SuspenseList=60120;var U=60115,H=60116,W=60121;if(o.unstable_DebugTracingMode=60129,o.unstable_LegacyHidden=60131,typeof Symbol==\"function\"&&Symbol.for){var ne=Symbol.for;t=ne(\"react.element\"),k=ne(\"react.portal\"),o.Fragment=ne(\"react.fragment\"),o.StrictMode=ne(\"react.strict_mode\"),o.Profiler=ne(\"react.profiler\"),L=ne(\"react.provider\"),O=ne(\"react.context\"),C=ne(\"react.forward_ref\"),o.Suspense=ne(\"react.suspense\"),o.unstable_SuspenseList=ne(\"react.suspense_list\"),U=ne(\"react.memo\"),H=ne(\"react.lazy\"),W=ne(\"react.block\"),o.unstable_DebugTracingMode=ne(\"react.debug_trace_mode\"),o.unstable_LegacyHidden=ne(\"react.legacy_hidden\")}var m=typeof Symbol==\"function\"&&Symbol.iterator;function he(oe){for(var ze=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+oe,ct=1;ct<arguments.length;ct++)ze+=\"&args[]=\"+encodeURIComponent(arguments[ct]);return\"Minified React error #\"+oe+\"; visit \"+ze+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var Ee={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},ve={};function se(oe,ze,ct){this.props=oe,this.context=ze,this.refs=ve,this.updater=ct||Ee}function De(){}function pe(oe,ze,ct){this.props=oe,this.context=ze,this.refs=ve,this.updater=ct||Ee}se.prototype.isReactComponent={},se.prototype.setState=function(oe,ze){if(p(oe)!==\"object\"&&typeof oe!=\"function\"&&oe!=null)throw Error(he(85));this.updater.enqueueSetState(this,oe,ze,\"setState\")},se.prototype.forceUpdate=function(oe){this.updater.enqueueForceUpdate(this,oe,\"forceUpdate\")},De.prototype=se.prototype;var me=pe.prototype=new De;me.constructor=pe,_(me,se.prototype),me.isPureReactComponent=!0;var ie={current:null},Oe=Object.prototype.hasOwnProperty,je={key:!0,ref:!0,__self:!0,__source:!0};function qe(oe,ze,ct){var Rt,nn={},an=null,Mn=null;if(ze!=null)for(Rt in ze.ref!==void 0&&(Mn=ze.ref),ze.key!==void 0&&(an=\"\"+ze.key),ze)Oe.call(ze,Rt)&&!je.hasOwnProperty(Rt)&&(nn[Rt]=ze[Rt]);var lr=arguments.length-2;if(lr===1)nn.children=ct;else if(1<lr){for(var ln=Array(lr),Vt=0;Vt<lr;Vt++)ln[Vt]=arguments[Vt+2];nn.children=ln}if(oe&&oe.defaultProps)for(Rt in lr=oe.defaultProps)nn[Rt]===void 0&&(nn[Rt]=lr[Rt]);return{$$typeof:t,type:oe,key:an,ref:Mn,props:nn,_owner:ie.current}}function yt(oe){return p(oe)===\"object\"&&oe!==null&&oe.$$typeof===t}var gt=/\\/+/g;function Xe(oe,ze){return p(oe)===\"object\"&&oe!==null&&oe.key!=null?function(ct){var Rt={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+ct.replace(/[=:]/g,function(nn){return Rt[nn]})}(\"\"+oe.key):ze.toString(36)}function ut(oe,ze,ct,Rt,nn){var an=p(oe);an!==\"undefined\"&&an!==\"boolean\"||(oe=null);var Mn=!1;if(oe===null)Mn=!0;else switch(an){case\"string\":case\"number\":Mn=!0;break;case\"object\":switch(oe.$$typeof){case t:case k:Mn=!0}}if(Mn)return nn=nn(Mn=oe),oe=Rt===\"\"?\".\"+Xe(Mn,0):Rt,Array.isArray(nn)?(ct=\"\",oe!=null&&(ct=oe.replace(gt,\"$&/\")+\"/\"),ut(nn,ze,ct,\"\",function(Vt){return Vt})):nn!=null&&(yt(nn)&&(nn=function(Vt,Er){return{$$typeof:t,type:Vt.type,key:Er,ref:Vt.ref,props:Vt.props,_owner:Vt._owner}}(nn,ct+(!nn.key||Mn&&Mn.key===nn.key?\"\":(\"\"+nn.key).replace(gt,\"$&/\")+\"/\")+oe)),ze.push(nn)),1;if(Mn=0,Rt=Rt===\"\"?\".\":Rt+\":\",Array.isArray(oe))for(var lr=0;lr<oe.length;lr++){var ln=Rt+Xe(an=oe[lr],lr);Mn+=ut(an,ze,ct,ln,nn)}else if(typeof(ln=function(Vt){return Vt===null||p(Vt)!==\"object\"?null:typeof(Vt=m&&Vt[m]||Vt[\"@@iterator\"])==\"function\"?Vt:null}(oe))==\"function\")for(oe=ln.call(oe),lr=0;!(an=oe.next()).done;)Mn+=ut(an=an.value,ze,ct,ln=Rt+Xe(an,lr++),nn);else if(an===\"object\")throw ze=\"\"+oe,Error(he(31,ze===\"[object Object]\"?\"object with keys {\"+Object.keys(oe).join(\", \")+\"}\":ze));return Mn}function We(oe,ze,ct){if(oe==null)return oe;var Rt=[],nn=0;return ut(oe,Rt,\"\",\"\",function(an){return ze.call(ct,an,nn++)}),Rt}function Ft(oe){if(oe._status===-1){var ze=oe._result;ze=ze(),oe._status=0,oe._result=ze,ze.then(function(ct){oe._status===0&&(ct=ct.default,oe._status=1,oe._result=ct)},function(ct){oe._status===0&&(oe._status=2,oe._result=ct)})}if(oe._status===1)return oe._result;throw oe._result}function Jt(oe){return{$$typeof:W,_data:oe.load.apply(null,oe.args),_render:oe.render}}var rt={current:null};function Q(){var oe=rt.current;if(oe===null)throw Error(he(321));return oe}var fe={transition:0},xe={ReactCurrentDispatcher:rt,ReactCurrentBatchConfig:fe,ReactCurrentOwner:ie,IsSomeRendererActing:{current:!1},assign:_};o.Children={map:We,forEach:function(oe,ze,ct){We(oe,function(){ze.apply(this,arguments)},ct)},count:function(oe){var ze=0;return We(oe,function(){ze++}),ze},toArray:function(oe){return We(oe,function(ze){return ze})||[]},only:function(oe){if(!yt(oe))throw Error(he(143));return oe}},o.Component=se,o.PureComponent=pe,o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=xe,o.cloneElement=function(oe,ze,ct){if(oe==null)throw Error(he(267,oe));var Rt=_({},oe.props),nn=oe.key,an=oe.ref,Mn=oe._owner;if(ze!=null){if(ze.ref!==void 0&&(an=ze.ref,Mn=ie.current),ze.key!==void 0&&(nn=\"\"+ze.key),oe.type&&oe.type.defaultProps)var lr=oe.type.defaultProps;for(ln in ze)Oe.call(ze,ln)&&!je.hasOwnProperty(ln)&&(Rt[ln]=ze[ln]===void 0&&lr!==void 0?lr[ln]:ze[ln])}var ln=arguments.length-2;if(ln===1)Rt.children=ct;else if(1<ln){lr=Array(ln);for(var Vt=0;Vt<ln;Vt++)lr[Vt]=arguments[Vt+2];Rt.children=lr}return{$$typeof:t,type:oe.type,key:nn,ref:an,props:Rt,_owner:Mn}},o.createContext=function(oe,ze){return ze===void 0&&(ze=null),(oe={$$typeof:O,_calculateChangedBits:ze,_currentValue:oe,_currentValue2:oe,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:L,_context:oe},oe.Consumer=oe},o.createElement=qe,o.createFactory=function(oe){var ze=qe.bind(null,oe);return ze.type=oe,ze},o.createRef=function(){return{current:null}},o.forwardRef=function(oe){return{$$typeof:C,render:oe}},o.isValidElement=yt,o.lazy=function(oe){return{$$typeof:H,_payload:{_status:-1,_result:oe},_init:Ft}},o.memo=function(oe,ze){return{$$typeof:U,type:oe,compare:ze===void 0?null:ze}},o.unstable_block=function(oe,ze){return ze===void 0?function(){return{$$typeof:W,_data:void 0,_render:oe}}:function(){return{$$typeof:H,_payload:{load:ze,args:arguments,render:oe},_init:Jt}}},o.unstable_createMutableSource=function(oe,ze){return{_getVersion:ze,_source:oe,_workInProgressVersionPrimary:null,_workInProgressVersionSecondary:null}},o.unstable_startTransition=function(oe){var ze=fe.transition;fe.transition=1;try{oe()}finally{fe.transition=ze}},o.unstable_useDeferredValue=function(oe){return Q().useDeferredValue(oe)},o.unstable_useMutableSource=function(oe,ze,ct){return Q().useMutableSource(oe,ze,ct)},o.unstable_useOpaqueIdentifier=function(){return Q().useOpaqueIdentifier()},o.unstable_useTransition=function(){return Q().useTransition()},o.useCallback=function(oe,ze){return Q().useCallback(oe,ze)},o.useContext=function(oe,ze){return Q().useContext(oe,ze)},o.useDebugValue=function(){},o.useEffect=function(oe,ze){return Q().useEffect(oe,ze)},o.useImperativeHandle=function(oe,ze,ct){return Q().useImperativeHandle(oe,ze,ct)},o.useLayoutEffect=function(oe,ze){return Q().useLayoutEffect(oe,ze)},o.useMemo=function(oe,ze){return Q().useMemo(oe,ze)},o.useReducer=function(oe,ze,ct){return Q().useReducer(oe,ze,ct)},o.useRef=function(oe){return Q().useRef(oe)},o.useState=function(oe){return Q().useState(oe)},o.version=\"17.0.0-alpha.0-experimental-51a3aa6af\"},function(i,o,a){\"use strict\";function p(B,z){for(var G=0;G<z.length;G++){var $=z[G];$.enumerable=$.enumerable||!1,$.configurable=!0,\"value\"in $&&($.writable=!0),Object.defineProperty(B,$.key,$)}}a.r(o),a.d(o,\"connectToDevTools\",function(){return ji});var _=function(){function B(){var Te,ge,Re;(function(Z,ke){if(!(Z instanceof ke))throw new TypeError(\"Cannot call a class as a function\")})(this,B),Te=this,ge=\"listenersMap\",Re=new Map,ge in Te?Object.defineProperty(Te,ge,{value:Re,enumerable:!0,configurable:!0,writable:!0}):Te[ge]=Re}var z,G,$;return z=B,(G=[{key:\"addListener\",value:function(Te,ge){var Re=this.listenersMap.get(Te);Re===void 0?this.listenersMap.set(Te,[ge]):Re.indexOf(ge)<0&&Re.push(ge)}},{key:\"emit\",value:function(Te){var ge=this.listenersMap.get(Te);if(ge!==void 0){for(var Re=arguments.length,Z=new Array(Re>1?Re-1:0),ke=1;ke<Re;ke++)Z[ke-1]=arguments[ke];if(ge.length===1){var Qe=ge[0];Qe.apply(null,Z)}else{for(var ht=!1,ue=null,He=Array.from(ge),nt=0;nt<He.length;nt++){var Ct=He[nt];try{Ct.apply(null,Z)}catch(Mt){ue===null&&(ht=!0,ue=Mt)}}if(ht)throw ue}}}},{key:\"removeAllListeners\",value:function(){this.listenersMap.clear()}},{key:\"removeListener\",value:function(Te,ge){var Re=this.listenersMap.get(Te);if(Re!==void 0){var Z=Re.indexOf(ge);Z>=0&&Re.splice(Z,1)}}}])&&p(z.prototype,G),$&&p(z,$),B}(),t=a(2),k=a.n(t);try{var L=a(9).default,O=function(B){var z=new RegExp(\"\".concat(B,\": ([0-9]+)\")),G=L.match(z);return parseInt(G[1],10)};O(\"comfortable-line-height-data\"),O(\"compact-line-height-data\")}catch(B){}function C(B){try{return sessionStorage.getItem(B)}catch(z){return null}}function U(B){try{sessionStorage.removeItem(B)}catch(z){}}function H(B,z){try{return sessionStorage.setItem(B,z)}catch(G){}}var W=function(B,z){return B===z},ne=a(1),m=a.n(ne);function he(B){return B.ownerDocument?B.ownerDocument.defaultView:null}function Ee(B){var z=he(B);return z?z.frameElement:null}function ve(B){var z=pe(B);return se([B.getBoundingClientRect(),{top:z.borderTop,left:z.borderLeft,bottom:z.borderBottom,right:z.borderRight,width:0,height:0}])}function se(B){return B.reduce(function(z,G){return z==null?G:{top:z.top+G.top,left:z.left+G.left,width:z.width,height:z.height,bottom:z.bottom+G.bottom,right:z.right+G.right}})}function De(B,z){var G=Ee(B);if(G&&G!==z){for(var $=[B.getBoundingClientRect()],Te=G,ge=!1;Te;){var Re=ve(Te);if($.push(Re),Te=Ee(Te),ge)break;Te&&he(Te)===z&&(ge=!0)}return se($)}return B.getBoundingClientRect()}function pe(B){var z=window.getComputedStyle(B);return{borderLeft:parseInt(z.borderLeftWidth,10),borderRight:parseInt(z.borderRightWidth,10),borderTop:parseInt(z.borderTopWidth,10),borderBottom:parseInt(z.borderBottomWidth,10),marginLeft:parseInt(z.marginLeft,10),marginRight:parseInt(z.marginRight,10),marginTop:parseInt(z.marginTop,10),marginBottom:parseInt(z.marginBottom,10),paddingLeft:parseInt(z.paddingLeft,10),paddingRight:parseInt(z.paddingRight,10),paddingTop:parseInt(z.paddingTop,10),paddingBottom:parseInt(z.paddingBottom,10)}}function me(B,z){var G;if(typeof Symbol==\"undefined\"||B[Symbol.iterator]==null){if(Array.isArray(B)||(G=function(ke,Qe){if(!!ke){if(typeof ke==\"string\")return ie(ke,Qe);var ht=Object.prototype.toString.call(ke).slice(8,-1);if(ht===\"Object\"&&ke.constructor&&(ht=ke.constructor.name),ht===\"Map\"||ht===\"Set\")return Array.from(ke);if(ht===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ht))return ie(ke,Qe)}}(B))||z&&B&&typeof B.length==\"number\"){G&&(B=G);var $=0,Te=function(){};return{s:Te,n:function(){return $>=B.length?{done:!0}:{done:!1,value:B[$++]}},e:function(ke){throw ke},f:Te}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var ge,Re=!0,Z=!1;return{s:function(){G=B[Symbol.iterator]()},n:function(){var ke=G.next();return Re=ke.done,ke},e:function(ke){Z=!0,ge=ke},f:function(){try{Re||G.return==null||G.return()}finally{if(Z)throw ge}}}}function ie(B,z){(z==null||z>B.length)&&(z=B.length);for(var G=0,$=new Array(z);G<z;G++)$[G]=B[G];return $}function Oe(B,z){if(!(B instanceof z))throw new TypeError(\"Cannot call a class as a function\")}function je(B,z){for(var G=0;G<z.length;G++){var $=z[G];$.enumerable=$.enumerable||!1,$.configurable=!0,\"value\"in $&&($.writable=!0),Object.defineProperty(B,$.key,$)}}function qe(B,z,G){return z&&je(B.prototype,z),G&&je(B,G),B}var yt=function(){function B(z,G){Oe(this,B),this.node=z.createElement(\"div\"),this.border=z.createElement(\"div\"),this.padding=z.createElement(\"div\"),this.content=z.createElement(\"div\"),this.border.style.borderColor=We.border,this.padding.style.borderColor=We.padding,this.content.style.backgroundColor=We.background,m()(this.node.style,{borderColor:We.margin,pointerEvents:\"none\",position:\"fixed\"}),this.node.style.zIndex=\"10000000\",this.node.appendChild(this.border),this.border.appendChild(this.padding),this.padding.appendChild(this.content),G.appendChild(this.node)}return qe(B,[{key:\"remove\",value:function(){this.node.parentNode&&this.node.parentNode.removeChild(this.node)}},{key:\"update\",value:function(z,G){ut(G,\"margin\",this.node),ut(G,\"border\",this.border),ut(G,\"padding\",this.padding),m()(this.content.style,{height:z.height-G.borderTop-G.borderBottom-G.paddingTop-G.paddingBottom+\"px\",width:z.width-G.borderLeft-G.borderRight-G.paddingLeft-G.paddingRight+\"px\"}),m()(this.node.style,{top:z.top-G.marginTop+\"px\",left:z.left-G.marginLeft+\"px\"})}}]),B}(),gt=function(){function B(z,G){Oe(this,B),this.tip=z.createElement(\"div\"),m()(this.tip.style,{display:\"flex\",flexFlow:\"row nowrap\",backgroundColor:\"#333740\",borderRadius:\"2px\",fontFamily:'\"SFMono-Regular\", Consolas, \"Liberation Mono\", Menlo, Courier, monospace',fontWeight:\"bold\",padding:\"3px 5px\",pointerEvents:\"none\",position:\"fixed\",fontSize:\"12px\",whiteSpace:\"nowrap\"}),this.nameSpan=z.createElement(\"span\"),this.tip.appendChild(this.nameSpan),m()(this.nameSpan.style,{color:\"#ee78e6\",borderRight:\"1px solid #aaaaaa\",paddingRight:\"0.5rem\",marginRight:\"0.5rem\"}),this.dimSpan=z.createElement(\"span\"),this.tip.appendChild(this.dimSpan),m()(this.dimSpan.style,{color:\"#d7d7d7\"}),this.tip.style.zIndex=\"10000000\",G.appendChild(this.tip)}return qe(B,[{key:\"remove\",value:function(){this.tip.parentNode&&this.tip.parentNode.removeChild(this.tip)}},{key:\"updateText\",value:function(z,G,$){this.nameSpan.textContent=z,this.dimSpan.textContent=Math.round(G)+\"px \\xD7 \"+Math.round($)+\"px\"}},{key:\"updatePosition\",value:function(z,G){var $=this.tip.getBoundingClientRect(),Te=function(ge,Re,Z){var ke,Qe=Math.max(Z.height,20),ht=Math.max(Z.width,60);ke=ge.top+ge.height+Qe<=Re.top+Re.height?ge.top+ge.height<Re.top+0?Re.top+5:ge.top+ge.height+5:ge.top-Qe<=Re.top+Re.height?ge.top-Qe-5<Re.top+5?Re.top+5:ge.top-Qe-5:Re.top+Re.height-Qe-5;var ue=ge.left+5;return ge.left<Re.left&&(ue=Re.left+5),ge.left+ht>Re.left+Re.width&&(ue=Re.left+Re.width-ht-5),{style:{top:ke+=\"px\",left:ue+=\"px\"}}}(z,G,{width:$.width,height:$.height});m()(this.tip.style,Te.style)}}]),B}(),Xe=function(){function B(){Oe(this,B);var z=window.__REACT_DEVTOOLS_TARGET_WINDOW__||window;this.window=z;var G=window.__REACT_DEVTOOLS_TARGET_WINDOW__||window;this.tipBoundsWindow=G;var $=z.document;this.container=$.createElement(\"div\"),this.container.style.zIndex=\"10000000\",this.tip=new gt($,this.container),this.rects=[],$.body.appendChild(this.container)}return qe(B,[{key:\"remove\",value:function(){this.tip.remove(),this.rects.forEach(function(z){z.remove()}),this.rects.length=0,this.container.parentNode&&this.container.parentNode.removeChild(this.container)}},{key:\"inspect\",value:function(z,G){for(var $=this,Te=z.filter(function(Ct){return Ct.nodeType===Node.ELEMENT_NODE});this.rects.length>Te.length;)this.rects.pop().remove();if(Te.length!==0){for(;this.rects.length<Te.length;)this.rects.push(new yt(this.window.document,this.container));var ge={top:Number.POSITIVE_INFINITY,right:Number.NEGATIVE_INFINITY,bottom:Number.NEGATIVE_INFINITY,left:Number.POSITIVE_INFINITY};if(Te.forEach(function(Ct,Mt){var It=De(Ct,$.window),sn=pe(Ct);ge.top=Math.min(ge.top,It.top-sn.marginTop),ge.right=Math.max(ge.right,It.left+It.width+sn.marginRight),ge.bottom=Math.max(ge.bottom,It.top+It.height+sn.marginBottom),ge.left=Math.min(ge.left,It.left-sn.marginLeft),$.rects[Mt].update(It,sn)}),!G){G=Te[0].nodeName.toLowerCase();var Re=Te[0],Z=Re.ownerDocument.defaultView.__REACT_DEVTOOLS_GLOBAL_HOOK__;if(Z!=null&&Z.rendererInterfaces!=null){var ke,Qe=null,ht=me(Z.rendererInterfaces.values());try{for(ht.s();!(ke=ht.n()).done;){var ue=ke.value,He=ue.getFiberIDForNative(Re,!0);if(He!==null){Qe=ue.getDisplayNameForFiberID(He,!0);break}}}catch(Ct){ht.e(Ct)}finally{ht.f()}Qe&&(G+=\" (in \"+Qe+\")\")}}this.tip.updateText(G,ge.right-ge.left,ge.bottom-ge.top);var nt=De(this.tipBoundsWindow.document.documentElement,this.window);this.tip.updatePosition({top:ge.top,left:ge.left,height:ge.bottom-ge.top,width:ge.right-ge.left},{top:nt.top+this.tipBoundsWindow.scrollY,left:nt.left+this.tipBoundsWindow.scrollX,height:this.tipBoundsWindow.innerHeight,width:this.tipBoundsWindow.innerWidth})}}}]),B}();function ut(B,z,G){m()(G.style,{borderTopWidth:B[z+\"Top\"]+\"px\",borderLeftWidth:B[z+\"Left\"]+\"px\",borderRightWidth:B[z+\"Right\"]+\"px\",borderBottomWidth:B[z+\"Bottom\"]+\"px\",borderStyle:\"solid\"})}var We={background:\"rgba(120, 170, 210, 0.7)\",padding:\"rgba(77, 200, 0, 0.3)\",margin:\"rgba(255, 155, 0, 0.3)\",border:\"rgba(255, 200, 50, 0.3)\"},Ft=null,Jt=null;function rt(){Ft=null,Jt!==null&&(Jt.remove(),Jt=null)}function Q(B,z,G){window.document!=null&&(Ft!==null&&clearTimeout(Ft),B!=null&&(Jt===null&&(Jt=new Xe),Jt.inspect(B,z),G&&(Ft=setTimeout(rt,2e3))))}var fe=new Set;function xe(B,z){function G(ue){ue&&typeof ue.addEventListener==\"function\"&&(ue.addEventListener(\"click\",ge,!0),ue.addEventListener(\"mousedown\",Re,!0),ue.addEventListener(\"mouseover\",Re,!0),ue.addEventListener(\"mouseup\",Re,!0),ue.addEventListener(\"pointerdown\",Z,!0),ue.addEventListener(\"pointerover\",ke,!0),ue.addEventListener(\"pointerup\",Qe,!0))}function $(){rt(),Te(window),fe.forEach(function(ue){try{Te(ue.contentWindow)}catch(He){}}),fe=new Set}function Te(ue){ue&&typeof ue.removeEventListener==\"function\"&&(ue.removeEventListener(\"click\",ge,!0),ue.removeEventListener(\"mousedown\",Re,!0),ue.removeEventListener(\"mouseover\",Re,!0),ue.removeEventListener(\"mouseup\",Re,!0),ue.removeEventListener(\"pointerdown\",Z,!0),ue.removeEventListener(\"pointerover\",ke,!0),ue.removeEventListener(\"pointerup\",Qe,!0))}function ge(ue){ue.preventDefault(),ue.stopPropagation(),$(),B.send(\"stopInspectingNative\",!0)}function Re(ue){ue.preventDefault(),ue.stopPropagation()}function Z(ue){ue.preventDefault(),ue.stopPropagation(),ht(ue.target)}function ke(ue){ue.preventDefault(),ue.stopPropagation();var He=ue.target;if(He.tagName===\"IFRAME\"){var nt=He;try{fe.has(nt)||(G(nt.contentWindow),fe.add(nt))}catch(Ct){}}Q([He],null,!1),ht(He)}function Qe(ue){ue.preventDefault(),ue.stopPropagation()}B.addListener(\"clearNativeElementHighlight\",function(){rt()}),B.addListener(\"highlightNativeElement\",function(ue){var He=ue.displayName,nt=ue.hideAfterTimeout,Ct=ue.id,Mt=ue.openNativeElementsPanel,It=ue.rendererID,sn=ue.scrollIntoView,rn=z.rendererInterfaces[It];rn==null&&console.warn('Invalid renderer id \"'.concat(It,'\" for element \"').concat(Ct,'\"'));var Lt=null;if(rn!=null&&(Lt=rn.findNativeNodesForFiberID(Ct)),Lt!=null&&Lt[0]!=null){var Dn=Lt[0];sn&&typeof Dn.scrollIntoView==\"function\"&&Dn.scrollIntoView({block:\"nearest\",inline:\"nearest\"}),Q(Lt,He,nt),Mt&&(window.__REACT_DEVTOOLS_GLOBAL_HOOK__.$0=Dn,B.send(\"syncSelectionToNativeElementsPanel\"))}else rt()}),B.addListener(\"shutdown\",$),B.addListener(\"startInspectingNative\",function(){G(window)}),B.addListener(\"stopInspectingNative\",$);var ht=k()(function(ue){var He=arguments.length>1&&arguments[1]!==void 0?arguments[1]:W,nt=void 0,Ct=[],Mt=void 0,It=!1,sn=function(Lt,Dn){return He(Lt,Ct[Dn])},rn=function(){for(var Lt=arguments.length,Dn=Array(Lt),dr=0;dr<Lt;dr++)Dn[dr]=arguments[dr];return It&&nt===this&&Dn.length===Ct.length&&Dn.every(sn)?Mt:(It=!0,nt=this,Ct=Dn,Mt=ue.apply(this,Dn))};return rn}(function(ue){var He=z.getIDForNode(ue);He!==null&&B.send(\"selectFiber\",He)}),200,{leading:!1})}var oe=[\"#37afa9\",\"#63b19e\",\"#80b393\",\"#97b488\",\"#abb67d\",\"#beb771\",\"#cfb965\",\"#dfba57\",\"#efbb49\",\"#febc38\"],ze=null;function ct(B){ze===null&&function(){(ze=window.document.createElement(\"canvas\")).style.cssText=`\n    xx-background-color: red;\n    xx-opacity: 0.5;\n    bottom: 0;\n    left: 0;\n    pointer-events: none;\n    position: fixed;\n    right: 0;\n    top: 0;\n    z-index: 1000000000;\n  `;var $=window.document.documentElement;$.insertBefore(ze,$.firstChild)}();var z=ze;z.width=window.innerWidth,z.height=window.innerHeight;var G=z.getContext(\"2d\");G.clearRect(0,0,z.width,z.height),B.forEach(function($){var Te=$.count,ge=$.rect;if(ge!==null){var Re=Math.min(oe.length-1,Te-1);(function(Z,ke,Qe){var ht=ke.height,ue=ke.left,He=ke.top,nt=ke.width;Z.lineWidth=1,Z.strokeStyle=\"#f0f0f0\",Z.strokeRect(ue-1,He-1,nt+2,ht+2),Z.lineWidth=1,Z.strokeStyle=\"#f0f0f0\",Z.strokeRect(ue+1,He+1,nt-1,ht-1),Z.strokeStyle=Qe,Z.setLineDash([0]),Z.lineWidth=1,Z.strokeRect(ue,He,nt-1,ht-1),Z.setLineDash([0])})(G,ge,oe[Re])}})}function Rt(B){return(Rt=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(z){return typeof z}:function(z){return z&&typeof Symbol==\"function\"&&z.constructor===Symbol&&z!==Symbol.prototype?\"symbol\":typeof z})(B)}var nn=(typeof performance==\"undefined\"?\"undefined\":Rt(performance))===\"object\"&&typeof performance.now==\"function\"?function(){return performance.now()}:function(){return Date.now()},an=new Map,Mn=null,lr=!1,ln=null;function Vt(B){(lr=B)||(an.clear(),Mn!==null&&(cancelAnimationFrame(Mn),Mn=null),ln!==null&&(clearTimeout(ln),ln=null),ze!==null&&(ze.parentNode!=null&&ze.parentNode.removeChild(ze),ze=null))}function Er(B){lr&&(B.forEach(function(z){var G=an.get(z),$=nn(),Te=G!=null?G.lastMeasuredAt:0,ge=G!=null?G.rect:null;(ge===null||Te+250<$)&&(Te=$,ge=function(Re){if(!Re||typeof Re.getBoundingClientRect!=\"function\")return null;var Z=window.__REACT_DEVTOOLS_TARGET_WINDOW__||window;return De(Re,Z)}(z)),an.set(z,{count:G!=null?G.count+1:1,expirationTime:G!=null?Math.min($+3e3,G.expirationTime+250):$+250,lastMeasuredAt:Te,rect:ge})}),ln!==null&&(clearTimeout(ln),ln=null),Mn===null&&(Mn=requestAnimationFrame(w)))}function w(){Mn=null,ln=null;var B=nn(),z=Number.MAX_VALUE;an.forEach(function(G,$){G.expirationTime<B?an.delete($):z=Math.min(z,G.expirationTime)}),ct(an),z!==Number.MAX_VALUE&&(ln=setTimeout(w,z-B))}var jt=a(3),Xn=a(6),vr=a.n(Xn),jr=a(0),fr=60120;if(typeof Symbol==\"function\"&&Symbol.for){var zr=Symbol.for;zr(\"react.element\"),zr(\"react.portal\"),zr(\"react.fragment\"),zr(\"react.strict_mode\"),zr(\"react.profiler\"),zr(\"react.provider\"),zr(\"react.context\"),zr(\"react.forward_ref\"),zr(\"react.suspense\"),fr=zr(\"react.suspense_list\"),zr(\"react.memo\"),zr(\"react.lazy\"),zr(\"react.block\"),zr(\"react.server.block\"),zr(\"react.fundamental\"),zr(\"react.scope\"),zr(\"react.opaque.id\"),zr(\"react.debug_trace_mode\"),zr(\"react.offscreen\"),zr(\"react.legacy_hidden\")}typeof Symbol==\"function\"&&Symbol.iterator;function Xt(B){return(Xt=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(z){return typeof z}:function(z){return z&&typeof Symbol==\"function\"&&z.constructor===Symbol&&z!==Symbol.prototype?\"symbol\":typeof z})(B)}var wu={inspectable:Symbol(\"inspectable\"),inspected:Symbol(\"inspected\"),name:Symbol(\"name\"),preview_long:Symbol(\"preview_long\"),preview_short:Symbol(\"preview_short\"),readonly:Symbol(\"readonly\"),size:Symbol(\"size\"),type:Symbol(\"type\"),unserializable:Symbol(\"unserializable\")};function d0(B,z,G,$,Te){$.push(Te);var ge={inspectable:z,type:B,preview_long:ki(G,!0),preview_short:ki(G,!1),name:G.constructor&&G.constructor.name!==\"Object\"?G.constructor.name:\"\"};return B===\"array\"||B===\"typed_array\"?ge.size=G.length:B===\"object\"&&(ge.size=Object.keys(G).length),B!==\"iterator\"&&B!==\"typed_array\"||(ge.readonly=!0),ge}function Ro(B,z,G,$,Te){var ge,Re=arguments.length>5&&arguments[5]!==void 0?arguments[5]:0,Z=Oo(B);switch(Z){case\"html_element\":return z.push($),{inspectable:!1,preview_short:ki(B,!1),preview_long:ki(B,!0),name:B.tagName,type:Z};case\"function\":return z.push($),{inspectable:!1,preview_short:ki(B,!1),preview_long:ki(B,!0),name:typeof B.name!=\"function\"&&B.name?B.name:\"function\",type:Z};case\"string\":return B.length<=500?B:B.slice(0,500)+\"...\";case\"bigint\":case\"symbol\":return z.push($),{inspectable:!1,preview_short:ki(B,!1),preview_long:ki(B,!0),name:B.toString(),type:Z};case\"react_element\":return z.push($),{inspectable:!1,preview_short:ki(B,!1),preview_long:ki(B,!0),name:F0(B)||\"Unknown\",type:Z};case\"array_buffer\":case\"data_view\":return z.push($),{inspectable:!1,preview_short:ki(B,!1),preview_long:ki(B,!0),name:Z===\"data_view\"?\"DataView\":\"ArrayBuffer\",size:B.byteLength,type:Z};case\"array\":return ge=Te($),Re>=2&&!ge?d0(Z,!0,B,z,$):B.map(function(ht,ue){return Ro(ht,z,G,$.concat([ue]),Te,ge?1:Re+1)});case\"html_all_collection\":case\"typed_array\":case\"iterator\":if(ge=Te($),Re>=2&&!ge)return d0(Z,!0,B,z,$);var ke={unserializable:!0,type:Z,readonly:!0,size:Z===\"typed_array\"?B.length:void 0,preview_short:ki(B,!1),preview_long:ki(B,!0),name:B.constructor&&B.constructor.name!==\"Object\"?B.constructor.name:\"\"};return Xt(B[Symbol.iterator])&&Array.from(B).forEach(function(ht,ue){return ke[ue]=Ro(ht,z,G,$.concat([ue]),Te,ge?1:Re+1)}),G.push($),ke;case\"opaque_iterator\":return z.push($),{inspectable:!1,preview_short:ki(B,!1),preview_long:ki(B,!0),name:B[Symbol.toStringTag],type:Z};case\"date\":case\"regexp\":return z.push($),{inspectable:!1,preview_short:ki(B,!1),preview_long:ki(B,!0),name:B.toString(),type:Z};case\"object\":if(ge=Te($),Re>=2&&!ge)return d0(Z,!0,B,z,$);var Qe={};return lu(B).forEach(function(ht){var ue=ht.toString();Qe[ue]=Ro(B[ht],z,G,$.concat([ue]),Te,ge?1:Re+1)}),Qe;case\"infinity\":case\"nan\":case\"undefined\":return z.push($),{type:Z};default:return B}}function Qo(B){return(Qo=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(z){return typeof z}:function(z){return z&&typeof Symbol==\"function\"&&z.constructor===Symbol&&z!==Symbol.prototype?\"symbol\":typeof z})(B)}function Fs(B){return function(z){if(Array.isArray(z))return Jo(z)}(B)||function(z){if(typeof Symbol!=\"undefined\"&&Symbol.iterator in Object(z))return Array.from(z)}(B)||function(z,G){if(!!z){if(typeof z==\"string\")return Jo(z,G);var $=Object.prototype.toString.call(z).slice(8,-1);if($===\"Object\"&&z.constructor&&($=z.constructor.name),$===\"Map\"||$===\"Set\")return Array.from(z);if($===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test($))return Jo(z,G)}}(B)||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 Jo(B,z){(z==null||z>B.length)&&(z=B.length);for(var G=0,$=new Array(z);G<z;G++)$[G]=B[G];return $}var Zo=new WeakMap,qt=new vr.a({max:1e3});function xi(B,z){return B.toString()>z.toString()?1:z.toString()>B.toString()?-1:0}function lu(B){for(var z=[],G=B,$=function(){var Te=[].concat(Fs(Object.keys(G)),Fs(Object.getOwnPropertySymbols(G))),ge=Object.getOwnPropertyDescriptors(G);Te.forEach(function(Re){ge[Re].enumerable&&z.push(Re)}),G=Object.getPrototypeOf(G)};G!=null;)$();return z}function mi(B){var z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:\"Anonymous\",G=Zo.get(B);if(G!=null)return G;var $=z;return typeof B.displayName==\"string\"?$=B.displayName:typeof B.name==\"string\"&&B.name!==\"\"&&($=B.name),Zo.set(B,$),$}var Dr=0;function $o(){return++Dr}function G0(B){var z=qt.get(B);if(z!==void 0)return z;for(var G=new Array(B.length),$=0;$<B.length;$++)G[$]=B.codePointAt($);return qt.set(B,G),G}function Uu(B,z){return z.reduce(function(G,$){if(G){if(hasOwnProperty.call(G,$))return G[$];if(typeof G[Symbol.iterator]==\"function\")return Array.from(G)[$]}return null},B)}function Y0(B,z){var G=z.length,$=z[G-1];if(B!=null){var Te=Uu(B,z.slice(0,G-1));Te&&(Array.isArray(Te)?Te.splice($,1):delete Te[$])}}function Xr(B,z,G){var $=z.length;if(B!=null){var Te=Uu(B,z.slice(0,$-1));if(Te){var ge=z[$-1];Te[G[$-1]]=Te[ge],Array.isArray(Te)?Te.splice(ge,1):delete Te[ge]}}}function Ao(B,z,G){var $=z.length,Te=z[$-1];if(B!=null){var ge=Uu(B,z.slice(0,$-1));ge&&(ge[Te]=G)}}function Oo(B){if(B===null)return\"null\";if(B===void 0)return\"undefined\";if(Object(jr.isElement)(B))return\"react_element\";if(typeof HTMLElement!=\"undefined\"&&B instanceof HTMLElement)return\"html_element\";switch(Qo(B)){case\"bigint\":return\"bigint\";case\"boolean\":return\"boolean\";case\"function\":return\"function\";case\"number\":return Number.isNaN(B)?\"nan\":Number.isFinite(B)?\"number\":\"infinity\";case\"object\":if(Array.isArray(B))return\"array\";if(ArrayBuffer.isView(B))return hasOwnProperty.call(B.constructor,\"BYTES_PER_ELEMENT\")?\"typed_array\":\"data_view\";if(B.constructor&&B.constructor.name===\"ArrayBuffer\")return\"array_buffer\";if(typeof B[Symbol.iterator]==\"function\")return B[Symbol.iterator]()===B?\"opaque_iterator\":\"iterator\";if(B.constructor&&B.constructor.name===\"RegExp\")return\"regexp\";var z=Object.prototype.toString.call(B);return z===\"[object Date]\"?\"date\":z===\"[object HTMLAllCollection]\"?\"html_all_collection\":\"object\";case\"string\":return\"string\";case\"symbol\":return\"symbol\";case\"undefined\":return Object.prototype.toString.call(B)===\"[object HTMLAllCollection]\"?\"html_all_collection\":\"undefined\";default:return\"unknown\"}}function F0(B){switch(Object(jr.typeOf)(B)){case jr.ContextConsumer:return\"ContextConsumer\";case jr.ContextProvider:return\"ContextProvider\";case jr.ForwardRef:return\"ForwardRef\";case jr.Fragment:return\"Fragment\";case jr.Lazy:return\"Lazy\";case jr.Memo:return\"Memo\";case jr.Portal:return\"Portal\";case jr.Profiler:return\"Profiler\";case jr.StrictMode:return\"StrictMode\";case jr.Suspense:return\"Suspense\";case fr:return\"SuspenseList\";default:var z=B.type;return typeof z==\"string\"?z:typeof z==\"function\"?mi(z,\"Anonymous\"):z!=null?\"NotImplementedInDevtools\":\"Element\"}}function su(B){var z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:50;return B.length>z?B.substr(0,z)+\"\\u2026\":B}function ki(B,z){if(B!=null&&hasOwnProperty.call(B,wu.type))return z?B[wu.preview_long]:B[wu.preview_short];switch(Oo(B)){case\"html_element\":return\"<\".concat(su(B.tagName.toLowerCase()),\" />\");case\"function\":return su(\"\\u0192 \".concat(typeof B.name==\"function\"?\"\":B.name,\"() {}\"));case\"string\":return'\"'.concat(B,'\"');case\"bigint\":return su(B.toString()+\"n\");case\"regexp\":case\"symbol\":return su(B.toString());case\"react_element\":return\"<\".concat(su(F0(B)||\"Unknown\"),\" />\");case\"array_buffer\":return\"ArrayBuffer(\".concat(B.byteLength,\")\");case\"data_view\":return\"DataView(\".concat(B.buffer.byteLength,\")\");case\"array\":if(z){for(var G=\"\",$=0;$<B.length&&($>0&&(G+=\", \"),!((G+=ki(B[$],!1)).length>50));$++);return\"[\".concat(su(G),\"]\")}var Te=hasOwnProperty.call(B,wu.size)?B[wu.size]:B.length;return\"Array(\".concat(Te,\")\");case\"typed_array\":var ge=\"\".concat(B.constructor.name,\"(\").concat(B.length,\")\");if(z){for(var Re=\"\",Z=0;Z<B.length&&(Z>0&&(Re+=\", \"),!((Re+=B[Z]).length>50));Z++);return\"\".concat(ge,\" [\").concat(su(Re),\"]\")}return ge;case\"iterator\":var ke=B.constructor.name;if(z){for(var Qe=Array.from(B),ht=\"\",ue=0;ue<Qe.length;ue++){var He=Qe[ue];if(ue>0&&(ht+=\", \"),Array.isArray(He)){var nt=ki(He[0],!0),Ct=ki(He[1],!1);ht+=\"\".concat(nt,\" => \").concat(Ct)}else ht+=ki(He,!1);if(ht.length>50)break}return\"\".concat(ke,\"(\").concat(B.size,\") {\").concat(su(ht),\"}\")}return\"\".concat(ke,\"(\").concat(B.size,\")\");case\"opaque_iterator\":return B[Symbol.toStringTag];case\"date\":return B.toString();case\"object\":if(z){for(var Mt=lu(B).sort(xi),It=\"\",sn=0;sn<Mt.length;sn++){var rn=Mt[sn];if(sn>0&&(It+=\", \"),(It+=\"\".concat(rn.toString(),\": \").concat(ki(B[rn],!1))).length>50)break}return\"{\".concat(su(It),\"}\")}return\"{\\u2026}\";case\"boolean\":case\"number\":case\"infinity\":case\"nan\":case\"null\":case\"undefined\":return B;default:try{return su(\"\"+B)}catch(Lt){return\"unserializable\"}}}var Ps=a(7);function Kl(B){return(Kl=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(z){return typeof z}:function(z){return z&&typeof Symbol==\"function\"&&z.constructor===Symbol&&z!==Symbol.prototype?\"symbol\":typeof z})(B)}function P0(B,z){var G=Object.keys(B);if(Object.getOwnPropertySymbols){var $=Object.getOwnPropertySymbols(B);z&&($=$.filter(function(Te){return Object.getOwnPropertyDescriptor(B,Te).enumerable})),G.push.apply(G,$)}return G}function p0(B){for(var z=1;z<arguments.length;z++){var G=arguments[z]!=null?arguments[z]:{};z%2?P0(Object(G),!0).forEach(function($){Hr(B,$,G[$])}):Object.getOwnPropertyDescriptors?Object.defineProperties(B,Object.getOwnPropertyDescriptors(G)):P0(Object(G)).forEach(function($){Object.defineProperty(B,$,Object.getOwnPropertyDescriptor(G,$))})}return B}function Hr(B,z,G){return z in B?Object.defineProperty(B,z,{value:G,enumerable:!0,configurable:!0,writable:!0}):B[z]=G,B}function Ri(B,z){var G=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];if(B!==null){var $=[],Te=[],ge=Ro(B,$,Te,G,z);return{data:ge,cleaned:$,unserializable:Te}}return null}function K0(B){var z,G,$=(z=B,G=new Set,JSON.stringify(z,function(Re,Z){if(Kl(Z)===\"object\"&&Z!==null){if(G.has(Z))return;G.add(Z)}return typeof Z==\"bigint\"?Z.toString()+\"n\":Z})),Te=$===void 0?\"undefined\":$,ge=window.__REACT_DEVTOOLS_GLOBAL_HOOK__.clipboardCopyText;typeof ge==\"function\"?ge(Te).catch(function(Re){}):Object(Ps.copy)(Te)}function yi(B,z){var G=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,$=z[G],Te=Array.isArray(B)?B.slice():p0({},B);return G+1===z.length?Array.isArray(Te)?Te.splice($,1):delete Te[$]:Te[$]=yi(B[$],z,G+1),Te}function en(B,z,G){var $=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,Te=z[$],ge=Array.isArray(B)?B.slice():p0({},B);if($+1===z.length){var Re=G[$];ge[Re]=ge[Te],Array.isArray(ge)?ge.splice(Te,1):delete ge[Te]}else ge[Te]=en(B[Te],z,G,$+1);return ge}function bn(B,z,G){var $=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;if($>=z.length)return G;var Te=z[$],ge=Array.isArray(B)?B.slice():p0({},B);return ge[Te]=bn(B[Te],z,G,$+1),ge}var Ai=a(8);function gi(B,z){var G=Object.keys(B);if(Object.getOwnPropertySymbols){var $=Object.getOwnPropertySymbols(B);z&&($=$.filter(function(Te){return Object.getOwnPropertyDescriptor(B,Te).enumerable})),G.push.apply(G,$)}return G}function Wt(B){for(var z=1;z<arguments.length;z++){var G=arguments[z]!=null?arguments[z]:{};z%2?gi(Object(G),!0).forEach(function($){Au(B,$,G[$])}):Object.getOwnPropertyDescriptors?Object.defineProperties(B,Object.getOwnPropertyDescriptors(G)):gi(Object(G)).forEach(function($){Object.defineProperty(B,$,Object.getOwnPropertyDescriptor(G,$))})}return B}function Au(B,z,G){return z in B?Object.defineProperty(B,z,{value:G,enumerable:!0,configurable:!0,writable:!0}):B[z]=G,B}function eu(B){return function(z){if(Array.isArray(z))return Mo(z)}(B)||function(z){if(typeof Symbol!=\"undefined\"&&Symbol.iterator in Object(z))return Array.from(z)}(B)||Xl(B)||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 X0(B,z){return function(G){if(Array.isArray(G))return G}(B)||function(G,$){if(!(typeof Symbol==\"undefined\"||!(Symbol.iterator in Object(G)))){var Te=[],ge=!0,Re=!1,Z=void 0;try{for(var ke,Qe=G[Symbol.iterator]();!(ge=(ke=Qe.next()).done)&&(Te.push(ke.value),!$||Te.length!==$);ge=!0);}catch(ht){Re=!0,Z=ht}finally{try{ge||Qe.return==null||Qe.return()}finally{if(Re)throw Z}}return Te}}(B,z)||Xl(B,z)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function Yi(B,z){var G;if(typeof Symbol==\"undefined\"||B[Symbol.iterator]==null){if(Array.isArray(B)||(G=Xl(B))||z&&B&&typeof B.length==\"number\"){G&&(B=G);var $=0,Te=function(){};return{s:Te,n:function(){return $>=B.length?{done:!0}:{done:!1,value:B[$++]}},e:function(ke){throw ke},f:Te}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var ge,Re=!0,Z=!1;return{s:function(){G=B[Symbol.iterator]()},n:function(){var ke=G.next();return Re=ke.done,ke},e:function(ke){Z=!0,ge=ke},f:function(){try{Re||G.return==null||G.return()}finally{if(Z)throw ge}}}}function Xl(B,z){if(B){if(typeof B==\"string\")return Mo(B,z);var G=Object.prototype.toString.call(B).slice(8,-1);return G===\"Object\"&&B.constructor&&(G=B.constructor.name),G===\"Map\"||G===\"Set\"?Array.from(B):G===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(G)?Mo(B,z):void 0}}function Mo(B,z){(z==null||z>B.length)&&(z=B.length);for(var G=0,$=new Array(z);G<z;G++)$[G]=B[G];return $}function ai(B){return(ai=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(z){return typeof z}:function(z){return z&&typeof Symbol==\"function\"&&z.constructor===Symbol&&z!==Symbol.prototype?\"symbol\":typeof z})(B)}function so(B){return B.flags!==void 0?B.flags:B.effectTag}var Ql=(typeof performance==\"undefined\"?\"undefined\":ai(performance))===\"object\"&&typeof performance.now==\"function\"?function(){return performance.now()}:function(){return Date.now()};function ko(B){var z=null;function G(rn){var Lt=ai(rn)===\"object\"&&rn!==null?rn.$$typeof:rn;return ai(Lt)===\"symbol\"?Lt.toString():Lt}var $=z=Object(jt.gte)(B,\"17.0.0-alpha\")?{Block:22,ClassComponent:1,ContextConsumer:9,ContextProvider:10,CoroutineComponent:-1,CoroutineHandlerPhase:-1,DehydratedSuspenseComponent:18,ForwardRef:11,Fragment:7,FunctionComponent:0,HostComponent:5,HostPortal:4,HostRoot:3,HostText:6,IncompleteClassComponent:17,IndeterminateComponent:2,LazyComponent:16,MemoComponent:14,Mode:8,OffscreenComponent:23,Profiler:12,SimpleMemoComponent:15,SuspenseComponent:13,SuspenseListComponent:19,YieldComponent:-1}:Object(jt.gte)(B,\"16.6.0-beta.0\")?{Block:22,ClassComponent:1,ContextConsumer:9,ContextProvider:10,CoroutineComponent:-1,CoroutineHandlerPhase:-1,DehydratedSuspenseComponent:18,ForwardRef:11,Fragment:7,FunctionComponent:0,HostComponent:5,HostPortal:4,HostRoot:3,HostText:6,IncompleteClassComponent:17,IndeterminateComponent:2,LazyComponent:16,MemoComponent:14,Mode:8,OffscreenComponent:-1,Profiler:12,SimpleMemoComponent:15,SuspenseComponent:13,SuspenseListComponent:19,YieldComponent:-1}:Object(jt.gte)(B,\"16.4.3-alpha\")?{Block:-1,ClassComponent:2,ContextConsumer:11,ContextProvider:12,CoroutineComponent:-1,CoroutineHandlerPhase:-1,DehydratedSuspenseComponent:-1,ForwardRef:13,Fragment:9,FunctionComponent:0,HostComponent:7,HostPortal:6,HostRoot:5,HostText:8,IncompleteClassComponent:-1,IndeterminateComponent:4,LazyComponent:-1,MemoComponent:-1,Mode:10,OffscreenComponent:-1,Profiler:15,SimpleMemoComponent:-1,SuspenseComponent:16,SuspenseListComponent:-1,YieldComponent:-1}:{Block:-1,ClassComponent:2,ContextConsumer:12,ContextProvider:13,CoroutineComponent:7,CoroutineHandlerPhase:8,DehydratedSuspenseComponent:-1,ForwardRef:14,Fragment:10,FunctionComponent:1,HostComponent:5,HostPortal:4,HostRoot:3,HostText:6,IncompleteClassComponent:-1,IndeterminateComponent:0,LazyComponent:-1,MemoComponent:-1,Mode:11,OffscreenComponent:-1,Profiler:15,SimpleMemoComponent:-1,SuspenseComponent:16,SuspenseListComponent:-1,YieldComponent:9},Te=$.ClassComponent,ge=$.IncompleteClassComponent,Re=$.FunctionComponent,Z=$.IndeterminateComponent,ke=$.ForwardRef,Qe=$.HostRoot,ht=$.HostComponent,ue=$.HostPortal,He=$.HostText,nt=$.Fragment,Ct=$.MemoComponent,Mt=$.SimpleMemoComponent,It=$.SuspenseComponent,sn=$.SuspenseListComponent;return{getDisplayNameForFiber:function(rn){var Lt=rn.type,Dn=rn.tag,dr=Lt;ai(Lt)===\"object\"&&Lt!==null&&(dr=function Cr(An){switch(G(An)){case 60115:case\"Symbol(react.memo)\":return Cr(An.type);case 60112:case\"Symbol(react.forward_ref)\":return An.render;default:return An}}(Lt));var er=null;switch(Dn){case Te:case ge:return mi(dr);case Re:case Z:return mi(dr);case ke:return Lt&&Lt.displayName||mi(dr,\"Anonymous\");case Qe:return null;case ht:return Lt;case ue:case He:case nt:return null;case Ct:case Mt:return mi(dr,\"Anonymous\");case It:return\"Suspense\";case sn:return\"SuspenseList\";default:switch(G(Lt)){case 60111:case\"Symbol(react.concurrent_mode)\":case\"Symbol(react.async_mode)\":return null;case 60109:case\"Symbol(react.provider)\":return er=rn.type._context||rn.type.context,\"\".concat(er.displayName||\"Context\",\".Provider\");case 60110:case\"Symbol(react.context)\":return er=rn.type._context||rn.type,\"\".concat(er.displayName||\"Context\",\".Consumer\");case 60108:case\"Symbol(react.strict_mode)\":return null;case 60114:case\"Symbol(react.profiler)\":return\"Profiler(\".concat(rn.memoizedProps.id,\")\");case 60119:case\"Symbol(react.scope)\":return\"Scope\";default:return null}}},getTypeSymbol:G,ReactPriorityLevels:{ImmediatePriority:99,UserBlockingPriority:98,NormalPriority:97,LowPriority:96,IdlePriority:95,NoPriority:90},ReactTypeOfWork:z,ReactTypeOfSideEffect:{NoFlags:0,PerformedWork:1,Placement:2}}}function Is(B,z,G,$){var Te=ko(G.version),ge=Te.getDisplayNameForFiber,Re=Te.getTypeSymbol,Z=Te.ReactPriorityLevels,ke=Te.ReactTypeOfWork,Qe=Te.ReactTypeOfSideEffect,ht=Qe.NoFlags,ue=Qe.PerformedWork,He=Qe.Placement,nt=ke.FunctionComponent,Ct=ke.ClassComponent,Mt=ke.ContextConsumer,It=ke.DehydratedSuspenseComponent,sn=ke.Fragment,rn=ke.ForwardRef,Lt=ke.HostRoot,Dn=ke.HostPortal,dr=ke.HostComponent,er=ke.HostText,Cr=ke.IncompleteClassComponent,An=ke.IndeterminateComponent,Nr=ke.MemoComponent,g0=ke.OffscreenComponent,Lr=ke.SimpleMemoComponent,it=ke.SuspenseComponent,Dt=ke.SuspenseListComponent,$e=Z.ImmediatePriority,Pt=Z.UserBlockingPriority,un=Z.NormalPriority,fn=Z.LowPriority,Jn=Z.IdlePriority,wr=Z.NoPriority,au=G.overrideHookState,Nu=G.overrideHookStateDeletePath,T0=G.overrideHookStateRenamePath,J0=G.overrideProps,Lu=G.overridePropsDeletePath,_i=G.overridePropsRenamePath,Fo=G.setSuspenseHandler,nl=G.scheduleUpdate,hf=typeof Fo==\"function\"&&typeof nl==\"function\";fo(G);var Sl=window.__REACT_DEVTOOLS_APPEND_COMPONENT_STACK__!==!1,vf=window.__REACT_DEVTOOLS_BREAK_ON_CONSOLE_ERRORS__===!0;(Sl||vf)&&Jl({appendComponentStack:Sl,breakOnConsoleErrors:vf});var Po=new Set,ys=new Set,js=new Set,Io=!1,bo=new Set;function gs(ae){js.clear(),Po.clear(),ys.clear(),ae.forEach(function(re){if(re.isEnabled)switch(re.type){case 2:re.isValid&&re.value!==\"\"&&Po.add(new RegExp(re.value,\"i\"));break;case 1:js.add(re.value);break;case 3:re.isValid&&re.value!==\"\"&&ys.add(new RegExp(re.value,\"i\"));break;case 4:Po.add(new RegExp(\"\\\\(\"));break;default:console.warn('Invalid component filter type \"'.concat(re.type,'\"'))}})}function Qu(ae){var re=ae._debugSource,Fe=ae.tag,Ae=ae.type;switch(Fe){case It:return!0;case Dn:case er:case sn:case g0:return!0;case Lt:return!1;default:switch(Re(Ae)){case 60111:case\"Symbol(react.concurrent_mode)\":case\"Symbol(react.async_mode)\":case 60108:case\"Symbol(react.strict_mode)\":return!0}}var st=Tu(ae);if(js.has(st))return!0;if(Po.size>0){var vt=ge(ae);if(vt!=null){var Qt,On=Yi(Po);try{for(On.s();!(Qt=On.n()).done;)if(Qt.value.test(vt))return!0}catch(ir){On.e(ir)}finally{On.f()}}}if(re!=null&&ys.size>0){var Sn,_n=re.fileName,Tn=Yi(ys);try{for(Tn.s();!(Sn=Tn.n()).done;)if(Sn.value.test(_n))return!0}catch(ir){Tn.e(ir)}finally{Tn.f()}}return!1}function Tu(ae){var re=ae.type;switch(ae.tag){case Ct:case Cr:return 1;case nt:case An:return 5;case rn:return 6;case Lt:return 11;case dr:return 7;case Dn:case er:case sn:return 9;case Nr:case Lr:return 8;case it:return 12;case Dt:return 13;default:switch(Re(re)){case 60111:case\"Symbol(react.concurrent_mode)\":case\"Symbol(react.async_mode)\":return 9;case 60109:case\"Symbol(react.provider)\":return 2;case 60110:case\"Symbol(react.context)\":return 2;case 60108:case\"Symbol(react.strict_mode)\":return 9;case 60114:case\"Symbol(react.profiler)\":return 10;default:return 9}}}function Ei(ae){if(Bo.has(ae))return ae;var re=ae.alternate;return re!=null&&Bo.has(re)?re:(Bo.add(ae),ae)}window.__REACT_DEVTOOLS_COMPONENT_FILTERS__!=null?gs(window.__REACT_DEVTOOLS_COMPONENT_FILTERS__):gs([{type:1,value:7,isEnabled:!0}]);var C0=new Map,Z0=new Map,Bo=new Set,la=new Map,$l=new Map,tu=-1;function ei(ae){if(!C0.has(ae)){var re=$o();C0.set(ae,re),Z0.set(re,ae)}return C0.get(ae)}function po(ae){switch(Tu(ae)){case 1:if(B0!==null){var re=ei(Ei(ae)),Fe=Ci(ae);Fe!==null&&B0.set(re,Fe)}}}var Bi={};function Ci(ae){switch(Tu(ae)){case 1:var re=ae.stateNode,Fe=Bi,Ae=Bi;return re!=null&&(re.constructor&&re.constructor.contextType!=null?Ae=re.context:(Fe=re.context)&&Object.keys(Fe).length===0&&(Fe=Bi)),[Fe,Ae];default:return null}}function mf(ae){switch(Tu(ae)){case 1:if(B0!==null){var re=ei(Ei(ae)),Fe=B0.has(re)?B0.get(re):null,Ae=Ci(ae);if(Fe==null||Ae==null)return null;var st=X0(Fe,2),vt=st[0],Qt=st[1],On=X0(Ae,2),Sn=On[0],_n=On[1];if(Sn!==Bi)return $0(vt,Sn);if(_n!==Bi)return Qt!==_n}}return null}function yf(ae,re){if(ae==null||re==null)return!1;if(re.hasOwnProperty(\"baseState\")&&re.hasOwnProperty(\"memoizedState\")&&re.hasOwnProperty(\"next\")&&re.hasOwnProperty(\"queue\"))for(;re!==null;){if(re.memoizedState!==ae.memoizedState)return!0;re=re.next,ae=ae.next}return!1}function $0(ae,re){if(ae==null||re==null||re.hasOwnProperty(\"baseState\")&&re.hasOwnProperty(\"memoizedState\")&&re.hasOwnProperty(\"next\")&&re.hasOwnProperty(\"queue\"))return null;var Fe,Ae=[],st=Yi(new Set([].concat(eu(Object.keys(ae)),eu(Object.keys(re)))));try{for(st.s();!(Fe=st.n()).done;){var vt=Fe.value;ae[vt]!==re[vt]&&Ae.push(vt)}}catch(Qt){st.e(Qt)}finally{st.f()}return Ae}function eo(ae,re){switch(re.tag){case Ct:case nt:case Mt:case Nr:case Lr:return(so(re)&ue)===ue;default:return ae.memoizedProps!==re.memoizedProps||ae.memoizedState!==re.memoizedState||ae.ref!==re.ref}}var Ce=[],et=[],Ye=[],Yt=[],Kt=new Map,pr=0,Wr=null;function xn(ae){Ce.push(ae)}function yu(ae){if(Ce.length!==0||et.length!==0||Ye.length!==0||Wr!==null||Pu){var re=et.length+Ye.length+(Wr===null?0:1),Fe=new Array(3+pr+(re>0?2+re:0)+Ce.length),Ae=0;if(Fe[Ae++]=z,Fe[Ae++]=tu,Fe[Ae++]=pr,Kt.forEach(function(On,Sn){Fe[Ae++]=Sn.length;for(var _n=G0(Sn),Tn=0;Tn<_n.length;Tn++)Fe[Ae+Tn]=_n[Tn];Ae+=Sn.length}),re>0){Fe[Ae++]=2,Fe[Ae++]=re;for(var st=et.length-1;st>=0;st--)Fe[Ae++]=et[st];for(var vt=0;vt<Ye.length;vt++)Fe[Ae+vt]=Ye[vt];Ae+=Ye.length,Wr!==null&&(Fe[Ae]=Wr,Ae++)}for(var Qt=0;Qt<Ce.length;Qt++)Fe[Ae+Qt]=Ce[Qt];Ae+=Ce.length,Yt!==null?Yt.push(Fe):B.emit(\"operations\",Fe),Ce.length=0,et.length=0,Ye.length=0,Wr=null,Kt.clear(),pr=0}}function Ju(ae){if(ae===null)return 0;var re=Kt.get(ae);if(re!==void 0)return re;var Fe=Kt.size+1;return Kt.set(ae,Fe),pr+=ae.length+1,Fe}function ti(ae,re){to!==null&&(ae!==to&&ae!==to.alternate||Li(null));var Fe=ae.tag===Lt,Ae=Ei(ae);if(C0.has(Ae)){var st=ei(Ae);Fe?Wr=st:Qu(ae)||(re?Ye.push(st):et.push(st)),C0.delete(Ae),Z0.delete(st),Bo.delete(Ae),ae.hasOwnProperty(\"treeBaseDuration\")&&($l.delete(st),la.delete(st))}else Bo.delete(Ae)}function Jr(ae,re,Fe,Ae){var st=function(Tn){if(Rr===null||!fu)return!1;var ir=Tn.return,Bt=ir!==null?ir.alternate:null;if(to===ir||to===Bt&&Bt!==null){var Fi=E0(Tn),Ar=Rr[nu+1];if(Ar===void 0)throw new Error(\"Expected to see a frame at the next depth.\");if(Fi.index===Ar.index&&Fi.key===Ar.key&&Fi.displayName===Ar.displayName)return to=Tn,nu++,fu=nu!==Rr.length-1,!1}return fu=!1,!0}(ae),vt=!Qu(ae);if(vt&&function(Tn,ir){var Bt=Tn.tag===Lt,Fi=ei(Ei(Tn)),Ar=Tn.hasOwnProperty(\"_debugOwner\"),mr=Tn.hasOwnProperty(\"treeBaseDuration\");if(Bt)xn(1),xn(Fi),xn(11),xn(mr?1:0),xn(Ar?1:0),Pu&&Cl!==null&&Cl.set(Fi,_0(Tn));else{var Y=Tn.key,ri=ge(Tn),ii=Tu(Tn),Vr=Tn._debugOwner,at=Vr!=null?ei(Ei(Vr)):0,Di=ir?ei(Ei(ir)):0,ru=Ju(ri),D0=Ju(Y===null?null:\"\"+Y);xn(1),xn(Fi),xn(ii),xn(Di),xn(at),xn(ru),xn(D0)}mr&&($l.set(Fi,tu),Rn(Tn))}(ae,re),Io&&Ae&&Tu(ae)===7&&(bo.add(ae.stateNode),Ae=!1),ae.tag===ke.SuspenseComponent)if(ae.memoizedState!==null){var Qt=ae.child,On=Qt?Qt.sibling:null,Sn=On?On.child:null;Sn!==null&&Jr(Sn,vt?ae:re,!0,Ae)}else{var _n=null;g0===-1?_n=ae.child:ae.child!==null&&(_n=ae.child.child),_n!==null&&Jr(_n,vt?ae:re,!0,Ae)}else ae.child!==null&&Jr(ae.child,vt?ae:re,!0,Ae);(function(Tn){fu=Tn})(st),Fe&&ae.sibling!==null&&Jr(ae.sibling,re,!0,Ae)}function Wu(ae){var re=ae.tag===ke.SuspenseComponent&&ae.memoizedState!==null,Fe=ae.child;if(re){var Ae=ae.child,st=Ae?Ae.sibling:null;Fe=st?st.child:null}for(;Fe!==null;)Fe.return!==null&&(Wu(Fe),ti(Fe,!0)),Fe=Fe.sibling}function Rn(ae){var re=ei(Ei(ae)),Fe=ae.actualDuration,Ae=ae.treeBaseDuration;if(la.set(re,Ae||0),Pu){var st=ae.alternate;if(st==null||Ae!==st.treeBaseDuration){var vt=Math.floor(1e3*(Ae||0));xn(4),xn(re),xn(vt)}if((st==null||eo(st,ae))&&Fe!=null){for(var Qt=Fe,On=ae.child;On!==null;)Qt-=On.actualDuration||0,On=On.sibling;var Sn=rl;if(Sn.durations.push(re,Fe,Qt),Sn.maxActualDuration=Math.max(Sn.maxActualDuration,Fe),es){var _n=function(Tn,ir){switch(Tu(ir)){case 1:case 5:case 8:case 6:return Tn===null?{context:null,didHooksChange:!1,isFirstMount:!0,props:null,state:null}:{context:mf(ir),didHooksChange:yf(Tn.memoizedState,ir.memoizedState),isFirstMount:!1,props:$0(Tn.memoizedProps,ir.memoizedProps),state:$0(Tn.memoizedState,ir.memoizedState)};default:return null}}(st,ae);_n!==null&&Sn.changeDescriptions!==null&&Sn.changeDescriptions.set(re,_n),po(ae)}}}}function x0(ae,re){if(Qu(ae)){var Fe=ae.child;if(ae.tag===it&&ae.memoizedState!==null){var Ae=ae.child,st=Ae?Ae.sibling:null,vt=st?st.child:null;vt!==null&&(Fe=vt)}for(;Fe!==null;)x0(Fe,re),Fe=Fe.sibling}else re.push(ei(Ei(ae)))}function Fu(ae,re,Fe,Ae){if(Io){var st=Tu(ae);Ae?st===7&&(bo.add(ae.stateNode),Ae=!1):st!==5&&st!==1&&st!==2||(Ae=eo(re,ae))}Xi!==null&&Xi.id===ei(Ei(ae))&&eo(re,ae)&&(Hs=!0);var vt=!Qu(ae),Qt=ae.tag===it,On=!1,Sn=Qt&&re.memoizedState!==null,_n=Qt&&ae.memoizedState!==null;if(Sn&&_n){var Tn=ae.child,ir=Tn?Tn.sibling:null,Bt=re.child,Fi=Bt?Bt.sibling:null;ir!=null&&Fi!=null&&Fu(ir,Fi,ae,Ae)&&(On=!0)}else if(Sn&&!_n){var Ar=ae.child;Ar!==null&&Jr(Ar,vt?ae:Fe,!0,Ae),On=!0}else if(!Sn&&_n){Wu(re);var mr=ae.child,Y=mr?mr.sibling:null;Y!=null&&(Jr(Y,vt?ae:Fe,!0,Ae),On=!0)}else if(ae.child!==re.child){for(var ri=ae.child,ii=re.child;ri;){if(ri.alternate){var Vr=ri.alternate;Fu(ri,Vr,vt?ae:Fe,Ae)&&(On=!0),Vr!==ii&&(On=!0)}else Jr(ri,vt?ae:Fe,!1,Ae),On=!0;ri=ri.sibling,On||ii===null||(ii=ii.sibling)}ii!==null&&(On=!0)}else Io&&Ae&&li(ei(Ei(ae))).forEach(function(ru){bo.add(ru.stateNode)});if(vt&&ae.hasOwnProperty(\"treeBaseDuration\")&&Rn(ae),On){if(vt){var at=ae.child;if(_n){var Di=ae.child;at=Di?Di.sibling:null}return at!=null&&function(ru,D0){for(var Un=[],t0=D0;t0!==null;)x0(t0,Un),t0=t0.sibling;var no=Un.length;if(!(no<2)){xn(3),xn(ei(Ei(ru))),xn(no);for(var vo=0;vo<Un.length;vo++)xn(Un[vo])}}(ae,at),!1}return!0}return!1}function li(ae){var re=[],Fe=Vu(ae);if(!Fe)return re;for(var Ae=Fe;;){if(Ae.tag===dr||Ae.tag===er)re.push(Ae);else if(Ae.child){Ae.child.return=Ae,Ae=Ae.child;continue}if(Ae===Fe)return re;for(;!Ae.sibling;){if(!Ae.return||Ae.return===Fe)return re;Ae=Ae.return}Ae.sibling.return=Ae.return,Ae=Ae.sibling}return re}function Tl(ae){try{var re=Vu(ae);if(re===null)return null;if(re.tag===it&&re.memoizedState!==null){var Fe=re.child&&re.child.sibling;Fe!=null&&(re=Fe)}return li(ae).map(function(Ae){return Ae.stateNode}).filter(Boolean)}catch(Ae){return null}}function zs(ae){var re=ae;if(ae.alternate)for(;re.return;)re=re.return;else{if((so(re)&He)!==ht)return 1;for(;re.return;)if((so(re=re.return)&He)!==ht)return 1}return re.tag===Lt?2:3}function Vu(ae){var re=Z0.get(ae);if(re==null)return console.warn('Could not find Fiber with id \"'.concat(ae,'\"')),null;var Fe=re.alternate;if(!Fe){var Ae=zs(re);if(Ae===3)throw Error(\"Unable to find node on an unmounted component.\");return Ae===1?null:re}for(var st=re,vt=Fe;;){var Qt=st.return;if(Qt===null)break;var On=Qt.alternate;if(On===null){var Sn=Qt.return;if(Sn!==null){st=vt=Sn;continue}break}if(Qt.child===On.child){for(var _n=Qt.child;_n;){if(_n===st){if(zs(Qt)!==2)throw Error(\"Unable to find node on an unmounted component.\");return re}if(_n===vt){if(zs(Qt)!==2)throw Error(\"Unable to find node on an unmounted component.\");return Fe}_n=_n.sibling}throw Error(\"Unable to find node on an unmounted component.\")}if(st.return!==vt.return)st=Qt,vt=On;else{for(var Tn=!1,ir=Qt.child;ir;){if(ir===st){Tn=!0,st=Qt,vt=On;break}if(ir===vt){Tn=!0,vt=Qt,st=On;break}ir=ir.sibling}if(!Tn){for(ir=On.child;ir;){if(ir===st){Tn=!0,st=On,vt=Qt;break}if(ir===vt){Tn=!0,vt=On,st=Qt;break}ir=ir.sibling}if(!Tn)throw Error(\"Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue.\")}}if(st.alternate!==vt)throw Error(\"Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue.\")}if(st.tag!==Lt)throw Error(\"Unable to find node on an unmounted component.\");return st.stateNode.current===st?re:Fe}function sa(ae){var re=Vu(ae);if(re==null)return null;var Fe=re._debugOwner,Ae=re._debugSource,st=re.stateNode,vt=re.key,Qt=re.memoizedProps,On=re.memoizedState,Sn=re.dependencies,_n=re.tag,Tn=re.type,ir=Tu(re),Bt=!(_n!==nt&&_n!==Lr&&_n!==rn||!On&&!Sn),Fi=Re(Tn),Ar=!1,mr=null;if(_n===Ct||_n===nt||_n===Cr||_n===An||_n===Nr||_n===rn||_n===Lr)Ar=!0,st&&st.context!=null&&(ir===1&&!(Tn.contextTypes||Tn.contextType)||(mr=st.context));else if(Fi===60110||Fi===\"Symbol(react.context)\"){var Y=Tn._context||Tn;mr=Y._currentValue||null;for(var ri=re.return;ri!==null;){var ii=ri.type,Vr=Re(ii);if((Vr===60109||Vr===\"Symbol(react.provider)\")&&(ii._context||ii.context)===Y){mr=ri.memoizedProps.value;break}ri=ri.return}}var at=!1;mr!==null&&(at=!!Tn.contextTypes,mr={value:mr});var Di=null;if(Fe){Di=[];for(var ru=Fe;ru!==null;)Di.push({displayName:ge(ru)||\"Anonymous\",id:ei(Ei(ru)),type:Tu(ru)}),ru=ru._debugOwner||null}var D0=_n===it&&On!==null,Un=null;if(Bt){var t0={};for(var no in console)try{t0[no]=console[no],console[no]=function(){}}catch(Ba){}try{Un=Object(Ai.inspectHooksOfFiber)(re,G.currentDispatcherRef)}finally{for(var vo in t0)try{console[vo]=t0[vo]}catch(Ba){}}}for(var n0=null,Uo=re;Uo.return!==null;)Uo=Uo.return;var ro=Uo.stateNode;return ro!=null&&ro._debugRootType!==null&&(n0=ro._debugRootType),{id:ae,canEditHooks:typeof au==\"function\",canEditFunctionProps:typeof J0==\"function\",canEditHooksAndDeletePaths:typeof Nu==\"function\",canEditHooksAndRenamePaths:typeof T0==\"function\",canEditFunctionPropsDeletePaths:typeof Lu==\"function\",canEditFunctionPropsRenamePaths:typeof _i==\"function\",canToggleSuspense:hf&&(!D0||$u.has(ae)),canViewSource:Ar,hasLegacyContext:at,key:vt!=null?vt:null,displayName:ge(re),type:ir,context:mr,hooks:Un,props:Qt,state:Bt?null:On,owners:Di,source:Ae||null,rootType:n0,rendererPackageName:G.rendererPackageName,rendererVersion:G.version}}var Xi=null,Hs=!1,R0={};function zi(ae){return Xi!==null&&Xi.id===ae&&!Hs}function A0(ae){var re=R0;ae.forEach(function(Fe){re[Fe]||(re[Fe]={}),re=re[Fe]})}function Hi(ae,re){return function(Fe){switch(re){case\"hooks\":if(Fe.length===1||Fe[Fe.length-1]===\"subHooks\"||Fe[Fe.length-2]===\"subHooks\")return!0}var Ae=ae===null?R0:R0[ae];if(!Ae)return!1;for(var st=0;st<Fe.length;st++)if(!(Ae=Ae[Fe[st]]))return!1;return!0}}var rl=null,Cl=null,B0=null,O0=null,ho=null,Pu=!1,Zu=0,es=!1,_s=null;function aa(ae){Pu||(es=ae,Cl=new Map,O0=new Map(la),ho=new Map($l),B0=new Map,B.getFiberRoots(z).forEach(function(re){var Fe=ei(Ei(re.current));Cl.set(Fe,_0(re.current)),ae&&function Ae(st){po(st);for(var vt=st.child;vt!==null;)Ae(vt),vt=vt.sibling}(re.current)}),Pu=!0,Zu=Ql(),_s=new Map)}function gf(){return!1}C(\"React::DevTools::reloadAndProfile\")===\"true\"&&aa(C(\"React::DevTools::recordChangeDescriptions\")===\"true\");var $u=new Set;function Es(ae){var re=ei(Ei(ae));return $u.has(re)}var Rr=null,to=null,nu=-1,fu=!1;function Li(ae){ae===null&&(to=null,nu=-1,fu=!1),Rr=ae}var ni=new Map,Kn=new Map;function e0(ae,re){var Fe=_0(re),Ae=Kn.get(Fe)||0;Kn.set(Fe,Ae+1);var st=\"\".concat(Fe,\":\").concat(Ae);ni.set(ae,st)}function _0(ae){for(var re=null,Fe=null,Ae=ae.child,st=0;st<3&&Ae!==null;st++){var vt=ge(Ae);if(vt!==null&&(typeof Ae.type==\"function\"?re=vt:Fe===null&&(Fe=vt)),re!==null)break;Ae=Ae.child}return re||Fe||\"Anonymous\"}function E0(ae){var re=ae.key,Fe=ge(ae),Ae=ae.index;switch(ae.tag){case Lt:var st=ei(Ei(ae)),vt=ni.get(st);if(vt===void 0)throw new Error(\"Expected mounted root to have known pseudo key.\");Fe=vt;break;case dr:Fe=ae.type}return{displayName:Fe,key:re,index:Ae}}var Fn=function(ae){if(ae==null)return\"Unknown\";switch(ae){case $e:return\"Immediate\";case Pt:return\"User-Blocking\";case un:return\"Normal\";case fn:return\"Low\";case Jn:return\"Idle\";case wr:default:return\"Unknown\"}};return{cleanup:function(){},copyElementPath:function(ae,re){zi(ae)&&K0(Uu(Xi,re))},deletePath:function(ae,re,Fe,Ae){var st=Vu(re);if(st!==null){var vt=st.stateNode;switch(ae){case\"context\":switch(Ae=Ae.slice(1),st.tag){case Ct:Ae.length===0||Y0(vt.context,Ae),vt.forceUpdate()}break;case\"hooks\":typeof Nu==\"function\"&&Nu(st,Fe,Ae);break;case\"props\":vt===null?typeof Lu==\"function\"&&Lu(st,Ae):(st.pendingProps=yi(vt.props,Ae),vt.forceUpdate());break;case\"state\":Y0(vt.state,Ae),vt.forceUpdate()}}},findNativeNodesForFiberID:Tl,flushInitialOperations:function(){var ae=Yt;Yt=null,ae!==null&&ae.length>0?ae.forEach(function(re){B.emit(\"operations\",re)}):(Rr!==null&&(fu=!0),B.getFiberRoots(z).forEach(function(re){e0(tu=ei(Ei(re.current)),re.current),Pu&&re.memoizedInteractions!=null&&(rl={changeDescriptions:es?new Map:null,durations:[],commitTime:Ql()-Zu,interactions:Array.from(re.memoizedInteractions).map(function(Fe){return Wt(Wt({},Fe),{},{timestamp:Fe.timestamp-Zu})}),maxActualDuration:0,priorityLevel:null}),Jr(re.current,null,!1,!1),yu(),tu=-1}))},getBestMatchForTrackedPath:function(){if(Rr===null||to===null)return null;for(var ae=to;ae!==null&&Qu(ae);)ae=ae.return;return ae===null?null:{id:ei(Ei(ae)),isFullMatch:nu===Rr.length-1}},getDisplayNameForFiberID:function(ae){var re=Z0.get(ae);return re!=null?ge(re):null},getFiberIDForNative:function(ae){var re=arguments.length>1&&arguments[1]!==void 0&&arguments[1],Fe=G.findFiberByHostInstance(ae);if(Fe!=null){if(re)for(;Fe!==null&&Qu(Fe);)Fe=Fe.return;return ei(Ei(Fe))}return null},getInstanceAndStyle:function(ae){var re=null,Fe=null,Ae=Vu(ae);return Ae!==null&&(re=Ae.stateNode,Ae.memoizedProps!==null&&(Fe=Ae.memoizedProps.style)),{instance:re,style:Fe}},getOwnersList:function(ae){var re=Vu(ae);if(re==null)return null;var Fe=re._debugOwner,Ae=[{displayName:ge(re)||\"Anonymous\",id:ae,type:Tu(re)}];if(Fe)for(var st=Fe;st!==null;)Ae.unshift({displayName:ge(st)||\"Anonymous\",id:ei(Ei(st)),type:Tu(st)}),st=st._debugOwner||null;return Ae},getPathForElement:function(ae){var re=Z0.get(ae);if(re==null)return null;for(var Fe=[];re!==null;)Fe.push(E0(re)),re=re.return;return Fe.reverse(),Fe},getProfilingData:function(){var ae=[];if(_s===null)throw Error(\"getProfilingData() called before any profiling data was recorded\");return _s.forEach(function(re,Fe){var Ae=[],st=[],vt=new Map,Qt=new Map,On=Cl!==null&&Cl.get(Fe)||\"Unknown\";O0!=null&&O0.forEach(function(Sn,_n){ho!=null&&ho.get(_n)===Fe&&st.push([_n,Sn])}),re.forEach(function(Sn,_n){var Tn=Sn.changeDescriptions,ir=Sn.durations,Bt=Sn.interactions,Fi=Sn.maxActualDuration,Ar=Sn.priorityLevel,mr=Sn.commitTime,Y=[];Bt.forEach(function(Di){vt.has(Di.id)||vt.set(Di.id,Di),Y.push(Di.id);var ru=Qt.get(Di.id);ru!=null?ru.push(_n):Qt.set(Di.id,[_n])});for(var ri=[],ii=[],Vr=0;Vr<ir.length;Vr+=3){var at=ir[Vr];ri.push([at,ir[Vr+1]]),ii.push([at,ir[Vr+2]])}Ae.push({changeDescriptions:Tn!==null?Array.from(Tn.entries()):null,duration:Fi,fiberActualDurations:ri,fiberSelfDurations:ii,interactionIDs:Y,priorityLevel:Ar,timestamp:mr})}),ae.push({commitData:Ae,displayName:On,initialTreeBaseDurations:st,interactionCommits:Array.from(Qt.entries()),interactions:Array.from(vt.entries()),rootID:Fe})}),{dataForRoots:ae,rendererID:z}},handleCommitFiberRoot:function(ae,re){var Fe=ae.current,Ae=Fe.alternate;tu=ei(Ei(Fe)),Rr!==null&&(fu=!0),Io&&bo.clear();var st=ae.memoizedInteractions!=null;if(Pu&&st&&(rl={changeDescriptions:es?new Map:null,durations:[],commitTime:Ql()-Zu,interactions:Array.from(ae.memoizedInteractions).map(function(Sn){return Wt(Wt({},Sn),{},{timestamp:Sn.timestamp-Zu})}),maxActualDuration:0,priorityLevel:re==null?null:Fn(re)}),Ae){var vt=Ae.memoizedState!=null&&Ae.memoizedState.element!=null,Qt=Fe.memoizedState!=null&&Fe.memoizedState.element!=null;!vt&&Qt?(e0(tu,Fe),Jr(Fe,null,!1,!1)):vt&&Qt?Fu(Fe,Ae,null,!1):vt&&!Qt&&(function(Sn){var _n=ni.get(Sn);if(_n===void 0)throw new Error(\"Expected root pseudo key to be known.\");var Tn=_n.substring(0,_n.lastIndexOf(\":\")),ir=Kn.get(Tn);if(ir===void 0)throw new Error(\"Expected counter to be known.\");ir>1?Kn.set(Tn,ir-1):Kn.delete(Tn),ni.delete(Sn)}(tu),ti(Fe,!1))}else e0(tu,Fe),Jr(Fe,null,!1,!1);if(Pu&&st){var On=_s.get(tu);On!=null?On.push(rl):_s.set(tu,[rl])}yu(),Io&&B.emit(\"traceUpdates\",bo),tu=-1},handleCommitFiberUnmount:function(ae){ti(ae,!1)},inspectElement:function(ae,re){if(zi(ae)){if(re!=null){A0(re);var Fe=null;return re[0]===\"hooks\"&&(Fe=\"hooks\"),{id:ae,type:\"hydrated-path\",path:re,value:Ri(Uu(Xi,re),Hi(null,Fe),re)}}return{id:ae,type:\"no-change\"}}if(Hs=!1,Xi!==null&&Xi.id===ae||(R0={}),(Xi=sa(ae))===null)return{id:ae,type:\"not-found\"};re!=null&&A0(re),function(st){var vt=st.hooks,Qt=st.id,On=st.props,Sn=Z0.get(Qt);if(Sn!=null){var _n=Sn.elementType,Tn=Sn.stateNode,ir=Sn.tag,Bt=Sn.type;switch(ir){case Ct:case Cr:case An:$.$r=Tn;break;case nt:$.$r={hooks:vt,props:On,type:Bt};break;case rn:$.$r={props:On,type:Bt.render};break;case Nr:case Lr:$.$r={props:On,type:_n!=null&&_n.type!=null?_n.type:Bt};break;default:$.$r=null}}else console.warn('Could not find Fiber with id \"'.concat(Qt,'\"'))}(Xi);var Ae=Wt({},Xi);return Ae.context=Ri(Ae.context,Hi(\"context\",null)),Ae.hooks=Ri(Ae.hooks,Hi(\"hooks\",\"hooks\")),Ae.props=Ri(Ae.props,Hi(\"props\",null)),Ae.state=Ri(Ae.state,Hi(\"state\",null)),{id:ae,type:\"full-data\",value:Ae}},logElementToConsole:function(ae){var re=zi(ae)?Xi:sa(ae);if(re!==null){var Fe=typeof console.groupCollapsed==\"function\";Fe&&console.groupCollapsed(\"[Click to expand] %c<\".concat(re.displayName||\"Component\",\" />\"),\"color: var(--dom-tag-name-color); font-weight: normal;\"),re.props!==null&&console.log(\"Props:\",re.props),re.state!==null&&console.log(\"State:\",re.state),re.hooks!==null&&console.log(\"Hooks:\",re.hooks);var Ae=Tl(ae);Ae!==null&&console.log(\"Nodes:\",Ae),re.source!==null&&console.log(\"Location:\",re.source),(window.chrome||/firefox/i.test(navigator.userAgent))&&console.log(\"Right-click any value to save it as a global variable for further inspection.\"),Fe&&console.groupEnd()}else console.warn('Could not find Fiber with id \"'.concat(ae,'\"'))},prepareViewAttributeSource:function(ae,re){zi(ae)&&(window.$attribute=Uu(Xi,re))},prepareViewElementSource:function(ae){var re=Z0.get(ae);if(re!=null){var Fe=re.elementType,Ae=re.tag,st=re.type;switch(Ae){case Ct:case Cr:case An:case nt:$.$type=st;break;case rn:$.$type=st.render;break;case Nr:case Lr:$.$type=Fe!=null&&Fe.type!=null?Fe.type:st;break;default:$.$type=null}}else console.warn('Could not find Fiber with id \"'.concat(ae,'\"'))},overrideSuspense:function(ae,re){if(typeof Fo!=\"function\"||typeof nl!=\"function\")throw new Error(\"Expected overrideSuspense() to not get called for earlier React versions.\");re?($u.add(ae),$u.size===1&&Fo(Es)):($u.delete(ae),$u.size===0&&Fo(gf));var Fe=Z0.get(ae);Fe!=null&&nl(Fe)},overrideValueAtPath:function(ae,re,Fe,Ae,st){var vt=Vu(re);if(vt!==null){var Qt=vt.stateNode;switch(ae){case\"context\":switch(Ae=Ae.slice(1),vt.tag){case Ct:Ae.length===0?Qt.context=st:Ao(Qt.context,Ae,st),Qt.forceUpdate()}break;case\"hooks\":typeof au==\"function\"&&au(vt,Fe,Ae,st);break;case\"props\":switch(vt.tag){case Ct:vt.pendingProps=bn(Qt.props,Ae,st),Qt.forceUpdate();break;default:typeof J0==\"function\"&&J0(vt,Ae,st)}break;case\"state\":switch(vt.tag){case Ct:Ao(Qt.state,Ae,st),Qt.forceUpdate()}}}},renamePath:function(ae,re,Fe,Ae,st){var vt=Vu(re);if(vt!==null){var Qt=vt.stateNode;switch(ae){case\"context\":switch(Ae=Ae.slice(1),st=st.slice(1),vt.tag){case Ct:Ae.length===0||Xr(Qt.context,Ae,st),Qt.forceUpdate()}break;case\"hooks\":typeof T0==\"function\"&&T0(vt,Fe,Ae,st);break;case\"props\":Qt===null?typeof _i==\"function\"&&_i(vt,Ae,st):(vt.pendingProps=en(Qt.props,Ae,st),Qt.forceUpdate());break;case\"state\":Xr(Qt.state,Ae,st),Qt.forceUpdate()}}},renderer:G,setTraceUpdatesEnabled:function(ae){Io=ae},setTrackedPath:Li,startProfiling:aa,stopProfiling:function(){Pu=!1,es=!1},storeAsGlobal:function(ae,re,Fe){if(zi(ae)){var Ae=Uu(Xi,re),st=\"$reactTemp\".concat(Fe);window[st]=Ae,console.log(st),console.log(Ae)}},updateComponentFilters:function(ae){if(Pu)throw Error(\"Cannot modify filter preferences while profiling\");B.getFiberRoots(z).forEach(function(re){tu=ei(Ei(re.current)),Wu(re.current),ti(re.current,!1),tu=-1}),gs(ae),Kn.clear(),B.getFiberRoots(z).forEach(function(re){e0(tu=ei(Ei(re.current)),re.current),Jr(re.current,null,!1,!1),yu(re),tu=-1})}}}var $n;function el(B){return(el=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(z){return typeof z}:function(z){return z&&typeof Symbol==\"function\"&&z.constructor===Symbol&&z!==Symbol.prototype?\"symbol\":typeof z})(B)}function ao(B,z,G){if($n===void 0)try{throw Error()}catch(Te){var $=Te.stack.trim().match(/\\n( *(at )?)/);$n=$&&$[1]||\"\"}return`\n`+$n+B}var I0=!1;function wl(B,z,G){if(!B||I0)return\"\";var $,Te=Error.prepareStackTrace;Error.prepareStackTrace=void 0,I0=!0;var ge=G.current;G.current=null;try{if(z){var Re=function(){throw Error()};if(Object.defineProperty(Re.prototype,\"props\",{set:function(){throw Error()}}),(typeof Reflect==\"undefined\"?\"undefined\":el(Reflect))===\"object\"&&Reflect.construct){try{Reflect.construct(Re,[])}catch(He){$=He}Reflect.construct(B,[],Re)}else{try{Re.call()}catch(He){$=He}B.call(Re.prototype)}}else{try{throw Error()}catch(He){$=He}B()}}catch(He){if(He&&$&&typeof He.stack==\"string\"){for(var Z=He.stack.split(`\n`),ke=$.stack.split(`\n`),Qe=Z.length-1,ht=ke.length-1;Qe>=1&&ht>=0&&Z[Qe]!==ke[ht];)ht--;for(;Qe>=1&&ht>=0;Qe--,ht--)if(Z[Qe]!==ke[ht]){if(Qe!==1||ht!==1)do if(Qe--,--ht<0||Z[Qe]!==ke[ht])return`\n`+Z[Qe].replace(\" at new \",\" at \");while(Qe>=1&&ht>=0);break}}}finally{I0=!1,Error.prepareStackTrace=Te,G.current=ge}var ue=B?B.displayName||B.name:\"\";return ue?ao(ue):\"\"}function No(B,z,G,$){return wl(B,!1,$)}function wt(B,z,G){var $=B.HostComponent,Te=B.LazyComponent,ge=B.SuspenseComponent,Re=B.SuspenseListComponent,Z=B.FunctionComponent,ke=B.IndeterminateComponent,Qe=B.SimpleMemoComponent,ht=B.ForwardRef,ue=B.Block,He=B.ClassComponent;switch(z.tag){case $:return ao(z.type);case Te:return ao(\"Lazy\");case ge:return ao(\"Suspense\");case Re:return ao(\"SuspenseList\");case Z:case ke:case Qe:return No(z.type,0,0,G);case ht:return No(z.type.render,0,0,G);case ue:return No(z.type._render,0,0,G);case He:return function(nt,Ct,Mt,It){return wl(nt,!0,It)}(z.type,0,0,G);default:return\"\"}}function bt(B,z,G){try{var $=\"\",Te=z;do $+=wt(B,Te,G),Te=Te.return;while(Te);return $}catch(ge){return`\nError generating stack: `+ge.message+`\n`+ge.stack}}function Hn(B,z){var G;if(typeof Symbol==\"undefined\"||B[Symbol.iterator]==null){if(Array.isArray(B)||(G=function(ke,Qe){if(!!ke){if(typeof ke==\"string\")return qr(ke,Qe);var ht=Object.prototype.toString.call(ke).slice(8,-1);if(ht===\"Object\"&&ke.constructor&&(ht=ke.constructor.name),ht===\"Map\"||ht===\"Set\")return Array.from(ke);if(ht===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ht))return qr(ke,Qe)}}(B))||z&&B&&typeof B.length==\"number\"){G&&(B=G);var $=0,Te=function(){};return{s:Te,n:function(){return $>=B.length?{done:!0}:{done:!1,value:B[$++]}},e:function(ke){throw ke},f:Te}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var ge,Re=!0,Z=!1;return{s:function(){G=B[Symbol.iterator]()},n:function(){var ke=G.next();return Re=ke.done,ke},e:function(ke){Z=!0,ge=ke},f:function(){try{Re||G.return==null||G.return()}finally{if(Z)throw ge}}}}function qr(B,z){(z==null||z>B.length)&&(z=B.length);for(var G=0,$=new Array(z);G<z;G++)$[G]=B[G];return $}var Ki=[\"error\",\"trace\",\"warn\"],Qr=/\\s{4}(in|at)\\s{1}/,Ou=/:\\d+:\\d+(\\n|$)/,h0=new Map,Ni=console,v0={};for(var hs in console)v0[hs]=console[hs];var Tt=null;function fo(B){var z=B.currentDispatcherRef,G=B.getCurrentFiber,$=B.findFiberByHostInstance,Te=B.version;if(typeof $==\"function\"&&z!=null&&typeof G==\"function\"){var ge=ko(Te).ReactTypeOfWork;h0.set(B,{currentDispatcherRef:z,getCurrentFiber:G,workTagMap:ge})}}var tl={appendComponentStack:!1,breakOnConsoleErrors:!1};function Jl(B){var z=B.appendComponentStack,G=B.breakOnConsoleErrors;if(tl.appendComponentStack=z,tl.breakOnConsoleErrors=G,Tt===null){var $={};Tt=function(){for(var Te in $)try{Ni[Te]=$[Te]}catch(ge){}},Ki.forEach(function(Te){try{var ge=$[Te]=Ni[Te],Re=function(){for(var Z=tl.appendComponentStack,ke=(tl.breakOnConsoleErrors,arguments.length),Qe=new Array(ke),ht=0;ht<ke;ht++)Qe[ht]=arguments[ht];if(Z)try{var ue=Qe.length>0?Qe[Qe.length-1]:null,He=ue!==null&&(Qr.test(ue)||Ou.test(ue));if(!He){var nt,Ct=Hn(h0.values());try{for(Ct.s();!(nt=Ct.n()).done;){var Mt=nt.value,It=Mt.currentDispatcherRef,sn=Mt.getCurrentFiber,rn=Mt.workTagMap,Lt=sn();if(Lt!=null){var Dn=bt(rn,Lt,It);Dn!==\"\"&&Qe.push(Dn);break}}}catch(dr){Ct.e(dr)}finally{Ct.f()}}}catch(dr){}ge.apply(void 0,Qe)};Re.__REACT_DEVTOOLS_ORIGINAL_METHOD__=ge,Ni[Te]=Re}catch(Z){}})}}function ju(B){return(ju=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(z){return typeof z}:function(z){return z&&typeof Symbol==\"function\"&&z.constructor===Symbol&&z!==Symbol.prototype?\"symbol\":typeof z})(B)}function vs(B,z){for(var G=0;G<z.length;G++){var $=z[G];$.enumerable=$.enumerable||!1,$.configurable=!0,\"value\"in $&&($.writable=!0),Object.defineProperty(B,$.key,$)}}function b0(B,z){return(b0=Object.setPrototypeOf||function(G,$){return G.__proto__=$,G})(B,z)}function X(B){var z=function(){if(typeof Reflect==\"undefined\"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==\"function\")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(G){return!1}}();return function(){var G,$=Ne(B);if(z){var Te=Ne(this).constructor;G=Reflect.construct($,arguments,Te)}else G=$.apply(this,arguments);return we(this,G)}}function we(B,z){return!z||ju(z)!==\"object\"&&typeof z!=\"function\"?Le(B):z}function Le(B){if(B===void 0)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return B}function Ne(B){return(Ne=Object.setPrototypeOf?Object.getPrototypeOf:function(z){return z.__proto__||Object.getPrototypeOf(z)})(B)}function dt(B,z,G){return z in B?Object.defineProperty(B,z,{value:G,enumerable:!0,configurable:!0,writable:!0}):B[z]=G,B}var Yn=function(B){(function(Re,Z){if(typeof Z!=\"function\"&&Z!==null)throw new TypeError(\"Super expression must either be null or a function\");Re.prototype=Object.create(Z&&Z.prototype,{constructor:{value:Re,writable:!0,configurable:!0}}),Z&&b0(Re,Z)})(ge,B);var z,G,$,Te=X(ge);function ge(Re){var Z;(function(ue,He){if(!(ue instanceof He))throw new TypeError(\"Cannot call a class as a function\")})(this,ge),dt(Le(Z=Te.call(this)),\"_isProfiling\",!1),dt(Le(Z),\"_recordChangeDescriptions\",!1),dt(Le(Z),\"_rendererInterfaces\",{}),dt(Le(Z),\"_persistedSelection\",null),dt(Le(Z),\"_persistedSelectionMatch\",null),dt(Le(Z),\"_traceUpdatesEnabled\",!1),dt(Le(Z),\"copyElementPath\",function(ue){var He=ue.id,nt=ue.path,Ct=ue.rendererID,Mt=Z._rendererInterfaces[Ct];Mt==null?console.warn('Invalid renderer id \"'.concat(Ct,'\" for element \"').concat(He,'\"')):Mt.copyElementPath(He,nt)}),dt(Le(Z),\"deletePath\",function(ue){var He=ue.hookID,nt=ue.id,Ct=ue.path,Mt=ue.rendererID,It=ue.type,sn=Z._rendererInterfaces[Mt];sn==null?console.warn('Invalid renderer id \"'.concat(Mt,'\" for element \"').concat(nt,'\"')):sn.deletePath(It,nt,He,Ct)}),dt(Le(Z),\"getProfilingData\",function(ue){var He=ue.rendererID,nt=Z._rendererInterfaces[He];nt==null&&console.warn('Invalid renderer id \"'.concat(He,'\"')),Z._bridge.send(\"profilingData\",nt.getProfilingData())}),dt(Le(Z),\"getProfilingStatus\",function(){Z._bridge.send(\"profilingStatus\",Z._isProfiling)}),dt(Le(Z),\"getOwnersList\",function(ue){var He=ue.id,nt=ue.rendererID,Ct=Z._rendererInterfaces[nt];if(Ct==null)console.warn('Invalid renderer id \"'.concat(nt,'\" for element \"').concat(He,'\"'));else{var Mt=Ct.getOwnersList(He);Z._bridge.send(\"ownersList\",{id:He,owners:Mt})}}),dt(Le(Z),\"inspectElement\",function(ue){var He=ue.id,nt=ue.path,Ct=ue.rendererID,Mt=Z._rendererInterfaces[Ct];Mt==null?console.warn('Invalid renderer id \"'.concat(Ct,'\" for element \"').concat(He,'\"')):(Z._bridge.send(\"inspectedElement\",Mt.inspectElement(He,nt)),Z._persistedSelectionMatch!==null&&Z._persistedSelectionMatch.id===He||(Z._persistedSelection=null,Z._persistedSelectionMatch=null,Mt.setTrackedPath(null),Z._throttledPersistSelection(Ct,He)))}),dt(Le(Z),\"logElementToConsole\",function(ue){var He=ue.id,nt=ue.rendererID,Ct=Z._rendererInterfaces[nt];Ct==null?console.warn('Invalid renderer id \"'.concat(nt,'\" for element \"').concat(He,'\"')):Ct.logElementToConsole(He)}),dt(Le(Z),\"overrideSuspense\",function(ue){var He=ue.id,nt=ue.rendererID,Ct=ue.forceFallback,Mt=Z._rendererInterfaces[nt];Mt==null?console.warn('Invalid renderer id \"'.concat(nt,'\" for element \"').concat(He,'\"')):Mt.overrideSuspense(He,Ct)}),dt(Le(Z),\"overrideValueAtPath\",function(ue){var He=ue.hookID,nt=ue.id,Ct=ue.path,Mt=ue.rendererID,It=ue.type,sn=ue.value,rn=Z._rendererInterfaces[Mt];rn==null?console.warn('Invalid renderer id \"'.concat(Mt,'\" for element \"').concat(nt,'\"')):rn.overrideValueAtPath(It,nt,He,Ct,sn)}),dt(Le(Z),\"overrideContext\",function(ue){var He=ue.id,nt=ue.path,Ct=ue.rendererID,Mt=ue.wasForwarded,It=ue.value;Mt||Z.overrideValueAtPath({id:He,path:nt,rendererID:Ct,type:\"context\",value:It})}),dt(Le(Z),\"overrideHookState\",function(ue){var He=ue.id,nt=(ue.hookID,ue.path),Ct=ue.rendererID,Mt=ue.wasForwarded,It=ue.value;Mt||Z.overrideValueAtPath({id:He,path:nt,rendererID:Ct,type:\"hooks\",value:It})}),dt(Le(Z),\"overrideProps\",function(ue){var He=ue.id,nt=ue.path,Ct=ue.rendererID,Mt=ue.wasForwarded,It=ue.value;Mt||Z.overrideValueAtPath({id:He,path:nt,rendererID:Ct,type:\"props\",value:It})}),dt(Le(Z),\"overrideState\",function(ue){var He=ue.id,nt=ue.path,Ct=ue.rendererID,Mt=ue.wasForwarded,It=ue.value;Mt||Z.overrideValueAtPath({id:He,path:nt,rendererID:Ct,type:\"state\",value:It})}),dt(Le(Z),\"reloadAndProfile\",function(ue){H(\"React::DevTools::reloadAndProfile\",\"true\"),H(\"React::DevTools::recordChangeDescriptions\",ue?\"true\":\"false\"),Z._bridge.send(\"reloadAppForProfiling\")}),dt(Le(Z),\"renamePath\",function(ue){var He=ue.hookID,nt=ue.id,Ct=ue.newPath,Mt=ue.oldPath,It=ue.rendererID,sn=ue.type,rn=Z._rendererInterfaces[It];rn==null?console.warn('Invalid renderer id \"'.concat(It,'\" for element \"').concat(nt,'\"')):rn.renamePath(sn,nt,He,Mt,Ct)}),dt(Le(Z),\"setTraceUpdatesEnabled\",function(ue){for(var He in Z._traceUpdatesEnabled=ue,Vt(ue),Z._rendererInterfaces)Z._rendererInterfaces[He].setTraceUpdatesEnabled(ue)}),dt(Le(Z),\"syncSelectionFromNativeElementsPanel\",function(){var ue=window.__REACT_DEVTOOLS_GLOBAL_HOOK__.$0;ue!=null&&Z.selectNode(ue)}),dt(Le(Z),\"shutdown\",function(){Z.emit(\"shutdown\")}),dt(Le(Z),\"startProfiling\",function(ue){for(var He in Z._recordChangeDescriptions=ue,Z._isProfiling=!0,Z._rendererInterfaces)Z._rendererInterfaces[He].startProfiling(ue);Z._bridge.send(\"profilingStatus\",Z._isProfiling)}),dt(Le(Z),\"stopProfiling\",function(){for(var ue in Z._isProfiling=!1,Z._recordChangeDescriptions=!1,Z._rendererInterfaces)Z._rendererInterfaces[ue].stopProfiling();Z._bridge.send(\"profilingStatus\",Z._isProfiling)}),dt(Le(Z),\"storeAsGlobal\",function(ue){var He=ue.count,nt=ue.id,Ct=ue.path,Mt=ue.rendererID,It=Z._rendererInterfaces[Mt];It==null?console.warn('Invalid renderer id \"'.concat(Mt,'\" for element \"').concat(nt,'\"')):It.storeAsGlobal(nt,Ct,He)}),dt(Le(Z),\"updateConsolePatchSettings\",function(ue){var He=ue.appendComponentStack,nt=ue.breakOnConsoleErrors;He||nt?Jl({appendComponentStack:He,breakOnConsoleErrors:nt}):Tt!==null&&(Tt(),Tt=null)}),dt(Le(Z),\"updateComponentFilters\",function(ue){for(var He in Z._rendererInterfaces)Z._rendererInterfaces[He].updateComponentFilters(ue)}),dt(Le(Z),\"viewAttributeSource\",function(ue){var He=ue.id,nt=ue.path,Ct=ue.rendererID,Mt=Z._rendererInterfaces[Ct];Mt==null?console.warn('Invalid renderer id \"'.concat(Ct,'\" for element \"').concat(He,'\"')):Mt.prepareViewAttributeSource(He,nt)}),dt(Le(Z),\"viewElementSource\",function(ue){var He=ue.id,nt=ue.rendererID,Ct=Z._rendererInterfaces[nt];Ct==null?console.warn('Invalid renderer id \"'.concat(nt,'\" for element \"').concat(He,'\"')):Ct.prepareViewElementSource(He)}),dt(Le(Z),\"onTraceUpdates\",function(ue){Z.emit(\"traceUpdates\",ue)}),dt(Le(Z),\"onHookOperations\",function(ue){if(Z._bridge.send(\"operations\",ue),Z._persistedSelection!==null){var He=ue[0];if(Z._persistedSelection.rendererID===He){var nt=Z._rendererInterfaces[He];if(nt==null)console.warn('Invalid renderer id \"'.concat(He,'\"'));else{var Ct=Z._persistedSelectionMatch,Mt=nt.getBestMatchForTrackedPath();Z._persistedSelectionMatch=Mt;var It=Ct!==null?Ct.id:null,sn=Mt!==null?Mt.id:null;It!==sn&&sn!==null&&Z._bridge.send(\"selectFiber\",sn),Mt!==null&&Mt.isFullMatch&&(Z._persistedSelection=null,Z._persistedSelectionMatch=null,nt.setTrackedPath(null))}}}}),dt(Le(Z),\"_throttledPersistSelection\",k()(function(ue,He){var nt=Z._rendererInterfaces[ue],Ct=nt!=null?nt.getPathForElement(He):null;Ct!==null?H(\"React::DevTools::lastSelection\",JSON.stringify({rendererID:ue,path:Ct})):U(\"React::DevTools::lastSelection\")},1e3)),C(\"React::DevTools::reloadAndProfile\")===\"true\"&&(Z._recordChangeDescriptions=C(\"React::DevTools::recordChangeDescriptions\")===\"true\",Z._isProfiling=!0,U(\"React::DevTools::recordChangeDescriptions\"),U(\"React::DevTools::reloadAndProfile\"));var ke=C(\"React::DevTools::lastSelection\");ke!=null&&(Z._persistedSelection=JSON.parse(ke)),Z._bridge=Re,Re.addListener(\"copyElementPath\",Z.copyElementPath),Re.addListener(\"deletePath\",Z.deletePath),Re.addListener(\"getProfilingData\",Z.getProfilingData),Re.addListener(\"getProfilingStatus\",Z.getProfilingStatus),Re.addListener(\"getOwnersList\",Z.getOwnersList),Re.addListener(\"inspectElement\",Z.inspectElement),Re.addListener(\"logElementToConsole\",Z.logElementToConsole),Re.addListener(\"overrideSuspense\",Z.overrideSuspense),Re.addListener(\"overrideValueAtPath\",Z.overrideValueAtPath),Re.addListener(\"reloadAndProfile\",Z.reloadAndProfile),Re.addListener(\"renamePath\",Z.renamePath),Re.addListener(\"setTraceUpdatesEnabled\",Z.setTraceUpdatesEnabled),Re.addListener(\"startProfiling\",Z.startProfiling),Re.addListener(\"stopProfiling\",Z.stopProfiling),Re.addListener(\"storeAsGlobal\",Z.storeAsGlobal),Re.addListener(\"syncSelectionFromNativeElementsPanel\",Z.syncSelectionFromNativeElementsPanel),Re.addListener(\"shutdown\",Z.shutdown),Re.addListener(\"updateConsolePatchSettings\",Z.updateConsolePatchSettings),Re.addListener(\"updateComponentFilters\",Z.updateComponentFilters),Re.addListener(\"viewAttributeSource\",Z.viewAttributeSource),Re.addListener(\"viewElementSource\",Z.viewElementSource),Re.addListener(\"overrideContext\",Z.overrideContext),Re.addListener(\"overrideHookState\",Z.overrideHookState),Re.addListener(\"overrideProps\",Z.overrideProps),Re.addListener(\"overrideState\",Z.overrideState),Z._isProfiling&&Re.send(\"profilingStatus\",!0);var Qe,ht=!1;try{localStorage.getItem(\"test\"),ht=!0}catch(ue){}return Re.send(\"isBackendStorageAPISupported\",ht),xe(Re,Le(Z)),Qe=Le(Z),Qe.addListener(\"traceUpdates\",Er),Z}return z=ge,(G=[{key:\"getInstanceAndStyle\",value:function(Re){var Z=Re.id,ke=Re.rendererID,Qe=this._rendererInterfaces[ke];return Qe==null?(console.warn('Invalid renderer id \"'.concat(ke,'\"')),null):Qe.getInstanceAndStyle(Z)}},{key:\"getIDForNode\",value:function(Re){for(var Z in this._rendererInterfaces){var ke=this._rendererInterfaces[Z];try{var Qe=ke.getFiberIDForNative(Re,!0);if(Qe!==null)return Qe}catch(ht){}}return null}},{key:\"selectNode\",value:function(Re){var Z=this.getIDForNode(Re);Z!==null&&this._bridge.send(\"selectFiber\",Z)}},{key:\"setRendererInterface\",value:function(Re,Z){this._rendererInterfaces[Re]=Z,this._isProfiling&&Z.startProfiling(this._recordChangeDescriptions),Z.setTraceUpdatesEnabled(this._traceUpdatesEnabled);var ke=this._persistedSelection;ke!==null&&ke.rendererID===Re&&Z.setTrackedPath(ke.path)}},{key:\"onUnsupportedRenderer\",value:function(Re){this._bridge.send(\"unsupportedRendererVersion\",Re)}},{key:\"rendererInterfaces\",get:function(){return this._rendererInterfaces}}])&&vs(z.prototype,G),$&&vs(z,$),ge}(_);function Cn(B){return(Cn=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(z){return typeof z}:function(z){return z&&typeof Symbol==\"function\"&&z.constructor===Symbol&&z!==Symbol.prototype?\"symbol\":typeof z})(B)}function cr(B){return function(z){if(Array.isArray(z))return Si(z)}(B)||function(z){if(typeof Symbol!=\"undefined\"&&Symbol.iterator in Object(z))return Array.from(z)}(B)||function(z,G){if(!!z){if(typeof z==\"string\")return Si(z,G);var $=Object.prototype.toString.call(z).slice(8,-1);if($===\"Object\"&&z.constructor&&($=z.constructor.name),$===\"Map\"||$===\"Set\")return Array.from(z);if($===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test($))return Si(z,G)}}(B)||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 Si(B,z){(z==null||z>B.length)&&(z=B.length);for(var G=0,$=new Array(z);G<z;G++)$[G]=B[G];return $}function Mu(B,z){for(var G=0;G<z.length;G++){var $=z[G];$.enumerable=$.enumerable||!1,$.configurable=!0,\"value\"in $&&($.writable=!0),Object.defineProperty(B,$.key,$)}}function zu(B,z){return(zu=Object.setPrototypeOf||function(G,$){return G.__proto__=$,G})(B,z)}function Hu(B){var z=function(){if(typeof Reflect==\"undefined\"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==\"function\")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(G){return!1}}();return function(){var G,$=Lo(B);if(z){var Te=Lo(this).constructor;G=Reflect.construct($,arguments,Te)}else G=$.apply(this,arguments);return Su(this,G)}}function Su(B,z){return!z||Cn(z)!==\"object\"&&typeof z!=\"function\"?Ti(B):z}function Ti(B){if(B===void 0)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return B}function Lo(B){return(Lo=Object.setPrototypeOf?Object.getPrototypeOf:function(z){return z.__proto__||Object.getPrototypeOf(z)})(B)}function ku(B,z,G){return z in B?Object.defineProperty(B,z,{value:G,enumerable:!0,configurable:!0,writable:!0}):B[z]=G,B}var co=function(B){(function(Re,Z){if(typeof Z!=\"function\"&&Z!==null)throw new TypeError(\"Super expression must either be null or a function\");Re.prototype=Object.create(Z&&Z.prototype,{constructor:{value:Re,writable:!0,configurable:!0}}),Z&&zu(Re,Z)})(ge,B);var z,G,$,Te=Hu(ge);function ge(Re){var Z;return function(ke,Qe){if(!(ke instanceof Qe))throw new TypeError(\"Cannot call a class as a function\")}(this,ge),ku(Ti(Z=Te.call(this)),\"_isShutdown\",!1),ku(Ti(Z),\"_messageQueue\",[]),ku(Ti(Z),\"_timeoutID\",null),ku(Ti(Z),\"_wallUnlisten\",null),ku(Ti(Z),\"_flush\",function(){if(Z._timeoutID!==null&&(clearTimeout(Z._timeoutID),Z._timeoutID=null),Z._messageQueue.length){for(var ke=0;ke<Z._messageQueue.length;ke+=2){var Qe;(Qe=Z._wall).send.apply(Qe,[Z._messageQueue[ke]].concat(cr(Z._messageQueue[ke+1])))}Z._messageQueue.length=0,Z._timeoutID=setTimeout(Z._flush,100)}}),ku(Ti(Z),\"overrideValueAtPath\",function(ke){var Qe=ke.id,ht=ke.path,ue=ke.rendererID,He=ke.type,nt=ke.value;switch(He){case\"context\":Z.send(\"overrideContext\",{id:Qe,path:ht,rendererID:ue,wasForwarded:!0,value:nt});break;case\"hooks\":Z.send(\"overrideHookState\",{id:Qe,path:ht,rendererID:ue,wasForwarded:!0,value:nt});break;case\"props\":Z.send(\"overrideProps\",{id:Qe,path:ht,rendererID:ue,wasForwarded:!0,value:nt});break;case\"state\":Z.send(\"overrideState\",{id:Qe,path:ht,rendererID:ue,wasForwarded:!0,value:nt})}}),Z._wall=Re,Z._wallUnlisten=Re.listen(function(ke){Ti(Z).emit(ke.event,ke.payload)})||null,Z.addListener(\"overrideValueAtPath\",Z.overrideValueAtPath),Z}return z=ge,(G=[{key:\"send\",value:function(Re){if(this._isShutdown)console.warn('Cannot send message \"'.concat(Re,'\" through a Bridge that has been shutdown.'));else{for(var Z=arguments.length,ke=new Array(Z>1?Z-1:0),Qe=1;Qe<Z;Qe++)ke[Qe-1]=arguments[Qe];this._messageQueue.push(Re,ke),this._timeoutID||(this._timeoutID=setTimeout(this._flush,0))}}},{key:\"shutdown\",value:function(){if(this._isShutdown)console.warn(\"Bridge was already shutdown.\");else{this.send(\"shutdown\"),this._isShutdown=!0,this.addListener=function(){},this.emit=function(){},this.removeAllListeners();var Re=this._wallUnlisten;Re&&Re();do this._flush();while(this._messageQueue.length);this._timeoutID!==null&&(clearTimeout(this._timeoutID),this._timeoutID=null)}}},{key:\"wall\",get:function(){return this._wall}}])&&Mu(z.prototype,G),$&&Mu(z,$),ge}(_);function qu(B,z,G){var $=B[z];return B[z]=function(Te){return G.call(this,$,arguments)},$}function Pa(B,z){for(var G in z)B[G]=z[G]}function m0(B){typeof B.forceUpdate==\"function\"?B.forceUpdate():B.updater!=null&&typeof B.updater.enqueueForceUpdate==\"function\"&&B.updater.enqueueForceUpdate(this,function(){},\"forceUpdate\")}function ia(B,z){var G=Object.keys(B);if(Object.getOwnPropertySymbols){var $=Object.getOwnPropertySymbols(B);z&&($=$.filter(function(Te){return Object.getOwnPropertyDescriptor(B,Te).enumerable})),G.push.apply(G,$)}return G}function Q0(B){for(var z=1;z<arguments.length;z++){var G=arguments[z]!=null?arguments[z]:{};z%2?ia(Object(G),!0).forEach(function($){ua(B,$,G[$])}):Object.getOwnPropertyDescriptors?Object.defineProperties(B,Object.getOwnPropertyDescriptors(G)):ia(Object(G)).forEach(function($){Object.defineProperty(B,$,Object.getOwnPropertyDescriptor(G,$))})}return B}function ua(B,z,G){return z in B?Object.defineProperty(B,z,{value:G,enumerable:!0,configurable:!0,writable:!0}):B[z]=G,B}function Ia(B){return(Ia=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(z){return typeof z}:function(z){return z&&typeof Symbol==\"function\"&&z.constructor===Symbol&&z!==Symbol.prototype?\"symbol\":typeof z})(B)}function ms(B){var z=null,G=null;if(B._currentElement!=null){B._currentElement.key&&(G=\"\"+B._currentElement.key);var $=B._currentElement.type;typeof $==\"string\"?z=$:typeof $==\"function\"&&(z=mi($))}return{displayName:z,key:G}}function S0(B){if(B._currentElement!=null){var z=B._currentElement.type;if(typeof z==\"function\")return B.getPublicInstance()!==null?1:5;if(typeof z==\"string\")return 7}return 9}function Qn(B){var z=[];if(Ia(B)===\"object\"){if(!(B._currentElement===null||B._currentElement===!1)){if(B._renderedComponent){var G=B._renderedComponent;S0(G)!==9&&z.push(G)}else if(B._renderedChildren){var $=B._renderedChildren;for(var Te in $){var ge=$[Te];S0(ge)!==9&&z.push(ge)}}}}return z}function ac(B,z,G,$){var Te,ge=new Map,Re=new WeakMap,Z=new WeakMap,ke=null;function Qe(it){if(Ia(it)!==\"object\"||it===null)throw new Error(\"Invalid internal instance: \"+it);if(!Re.has(it)){var Dt=$o();Re.set(it,Dt),ge.set(Dt,it)}return Re.get(it)}function ht(it,Dt){if(it.length!==Dt.length)return!1;for(var $e=0;$e<it.length;$e++)if(it[$e]!==Dt[$e])return!1;return!0}G.ComponentTree?(ke=function(it,Dt){var $e=G.ComponentTree.getClosestInstanceFromNode(it);return Re.get($e)||null},Te=function(it){var Dt=ge.get(it);return G.ComponentTree.getNodeFromInstance(Dt)}):G.Mount.getID&&G.Mount.getNode&&(ke=function(it,Dt){return null},Te=function(it){return null});var ue=[],He=null;function nt(it,Dt,$e){if($e===0){var Pt=it._currentElement!=null&&it._currentElement._owner!=null;er(1),er(Dt),er(11),er(0),er(Pt?1:0)}else{var un=S0(it),fn=ms(it),Jn=fn.displayName,wr=fn.key,au=it._currentElement!=null&&it._currentElement._owner!=null?Qe(it._currentElement._owner):0,Nu=Cr(Jn),T0=Cr(wr);er(1),er(Dt),er(un),er($e),er(au),er(Nu),er(T0)}}function Ct(it,Dt,$e){er(3),er(Dt);var Pt=$e.map(Qe);er(Pt.length);for(var un=0;un<Pt.length;un++)er(Pt[un])}function Mt(it,Dt,$e){var Pt=ge.get(it);Pt!=null&&(Z.set(Pt,$e),nt(Pt,it,Dt),Qn(Pt).forEach(function(un){return Mt(Qe(un),it,$e)}))}G.Reconciler&&(He=function(it,Dt){var $e={};for(var Pt in Dt)$e[Pt]=qu(it,Pt,Dt[Pt]);return $e}(G.Reconciler,{mountComponent:function(it,Dt){var $e=Dt[0],Pt=Dt[3];if(S0($e)===9)return it.apply(this,Dt);if(Pt._topLevelWrapper===void 0)return it.apply(this,Dt);var un=Qe($e);nt($e,un,ue.length>0?ue[ue.length-1]:0),ue.push(un),Z.set($e,Qe(Pt._topLevelWrapper));try{var fn=it.apply(this,Dt);return ue.pop(),fn}catch(wr){throw ue=[],wr}finally{if(ue.length===0){var Jn=Z.get($e);if(Jn===void 0)throw new Error(\"Expected to find root ID.\");dr(Jn)}}},performUpdateIfNecessary:function(it,Dt){var $e=Dt[0];if(S0($e)===9)return it.apply(this,Dt);var Pt=Qe($e);ue.push(Pt);var un=Qn($e);try{var fn=it.apply(this,Dt),Jn=Qn($e);return ht(un,Jn)||Ct($e,Pt,Jn),ue.pop(),fn}catch(au){throw ue=[],au}finally{if(ue.length===0){var wr=Z.get($e);if(wr===void 0)throw new Error(\"Expected to find root ID.\");dr(wr)}}},receiveComponent:function(it,Dt){var $e=Dt[0];if(S0($e)===9)return it.apply(this,Dt);var Pt=Qe($e);ue.push(Pt);var un=Qn($e);try{var fn=it.apply(this,Dt),Jn=Qn($e);return ht(un,Jn)||Ct($e,Pt,Jn),ue.pop(),fn}catch(au){throw ue=[],au}finally{if(ue.length===0){var wr=Z.get($e);if(wr===void 0)throw new Error(\"Expected to find root ID.\");dr(wr)}}},unmountComponent:function(it,Dt){var $e=Dt[0];if(S0($e)===9)return it.apply(this,Dt);var Pt=Qe($e);ue.push(Pt);try{var un=it.apply(this,Dt);return ue.pop(),function(Jn,wr){rn.push(wr),ge.delete(wr)}(0,Pt),un}catch(Jn){throw ue=[],Jn}finally{if(ue.length===0){var fn=Z.get($e);if(fn===void 0)throw new Error(\"Expected to find root ID.\");dr(fn)}}}}));var It=[],sn=new Map,rn=[],Lt=0,Dn=null;function dr(it){if(It.length!==0||rn.length!==0||Dn!==null){var Dt=rn.length+(Dn===null?0:1),$e=new Array(3+Lt+(Dt>0?2+Dt:0)+It.length),Pt=0;if($e[Pt++]=z,$e[Pt++]=it,$e[Pt++]=Lt,sn.forEach(function(Jn,wr){$e[Pt++]=wr.length;for(var au=G0(wr),Nu=0;Nu<au.length;Nu++)$e[Pt+Nu]=au[Nu];Pt+=wr.length}),Dt>0){$e[Pt++]=2,$e[Pt++]=Dt;for(var un=0;un<rn.length;un++)$e[Pt++]=rn[un];Dn!==null&&($e[Pt]=Dn,Pt++)}for(var fn=0;fn<It.length;fn++)$e[Pt+fn]=It[fn];Pt+=It.length,B.emit(\"operations\",$e),It.length=0,rn=[],Dn=null,sn.clear(),Lt=0}}function er(it){It.push(it)}function Cr(it){if(it===null)return 0;var Dt=sn.get(it);if(Dt!==void 0)return Dt;var $e=sn.size+1;return sn.set(it,$e),Lt+=it.length+1,$e}var An=null,Nr={};function g0(it){return function(Dt){var $e=Nr[it];if(!$e)return!1;for(var Pt=0;Pt<Dt.length;Pt++)if(!($e=$e[Dt[Pt]]))return!1;return!0}}function Lr(it){var Dt=ge.get(it);if(Dt==null)return null;var $e=ms(Dt),Pt=$e.displayName,un=$e.key,fn=S0(Dt),Jn=null,wr=null,au=null,Nu=null,T0=null,J0=Dt._currentElement;if(J0!==null){au=J0.props,T0=J0._source!=null?J0._source:null;var Lu=J0._owner;if(Lu)for(wr=[];Lu!=null;)wr.push({displayName:ms(Lu).displayName||\"Unknown\",id:Qe(Lu),type:S0(Lu)}),Lu._currentElement&&(Lu=Lu._currentElement._owner)}var _i=Dt._instance;return _i!=null&&(Jn=_i.context||null,Nu=_i.state||null),{id:it,canEditHooks:!1,canEditFunctionProps:!1,canEditHooksAndDeletePaths:!1,canEditHooksAndRenamePaths:!1,canEditFunctionPropsDeletePaths:!1,canEditFunctionPropsRenamePaths:!1,canToggleSuspense:!1,canViewSource:fn===1||fn===5,hasLegacyContext:!0,displayName:Pt,type:fn,key:un!=null?un:null,context:Jn,hooks:null,props:au,state:Nu,owners:wr,source:T0,rootType:null,rendererPackageName:null,rendererVersion:null}}return{cleanup:function(){He!==null&&(G.Component?Pa(G.Component.Mixin,He):Pa(G.Reconciler,He)),He=null},copyElementPath:function(it,Dt){var $e=Lr(it);$e!==null&&K0(Uu($e,Dt))},deletePath:function(it,Dt,$e,Pt){var un=ge.get(Dt);if(un!=null){var fn=un._instance;if(fn!=null)switch(it){case\"context\":Y0(fn.context,Pt),m0(fn);break;case\"hooks\":throw new Error(\"Hooks not supported by this renderer\");case\"props\":var Jn=un._currentElement;un._currentElement=Q0(Q0({},Jn),{},{props:yi(Jn.props,Pt)}),m0(fn);break;case\"state\":Y0(fn.state,Pt),m0(fn)}}},flushInitialOperations:function(){var it=G.Mount._instancesByReactRootID||G.Mount._instancesByContainerID;for(var Dt in it){var $e=Qe(it[Dt]);Mt($e,0,$e),dr($e)}},getBestMatchForTrackedPath:function(){return null},getDisplayNameForFiberID:function(it){var Dt=ge.get(it);return Dt?ms(Dt).displayName:null},getFiberIDForNative:ke,getInstanceAndStyle:function(it){var Dt=null,$e=null,Pt=ge.get(it);if(Pt!=null){Dt=Pt._instance||null;var un=Pt._currentElement;un!=null&&un.props!=null&&($e=un.props.style||null)}return{instance:Dt,style:$e}},findNativeNodesForFiberID:function(it){var Dt=Te(it);return Dt==null?null:[Dt]},getOwnersList:function(it){return null},getPathForElement:function(it){return null},getProfilingData:function(){throw new Error(\"getProfilingData not supported by this renderer\")},handleCommitFiberRoot:function(){throw new Error(\"handleCommitFiberRoot not supported by this renderer\")},handleCommitFiberUnmount:function(){throw new Error(\"handleCommitFiberUnmount not supported by this renderer\")},inspectElement:function(it,Dt){An!==it&&(An=it,Nr={});var $e=Lr(it);return $e===null?{id:it,type:\"not-found\"}:(Dt!=null&&function(Pt){var un=Nr;Pt.forEach(function(fn){un[fn]||(un[fn]={}),un=un[fn]})}(Dt),function(Pt){var un=ge.get(Pt);if(un!=null)switch(S0(un)){case 1:$.$r=un._instance;break;case 5:var fn=un._currentElement;if(fn==null)return void console.warn('Could not find element with id \"'.concat(Pt,'\"'));$.$r={props:fn.props,type:fn.type};break;default:$.$r=null}else console.warn('Could not find instance with id \"'.concat(Pt,'\"'))}(it),$e.context=Ri($e.context,g0(\"context\")),$e.props=Ri($e.props,g0(\"props\")),$e.state=Ri($e.state,g0(\"state\")),{id:it,type:\"full-data\",value:$e})},logElementToConsole:function(it){var Dt=Lr(it);if(Dt!==null){var $e=typeof console.groupCollapsed==\"function\";$e&&console.groupCollapsed(\"[Click to expand] %c<\".concat(Dt.displayName||\"Component\",\" />\"),\"color: var(--dom-tag-name-color); font-weight: normal;\"),Dt.props!==null&&console.log(\"Props:\",Dt.props),Dt.state!==null&&console.log(\"State:\",Dt.state),Dt.context!==null&&console.log(\"Context:\",Dt.context);var Pt=Te(it);Pt!==null&&console.log(\"Node:\",Pt),(window.chrome||/firefox/i.test(navigator.userAgent))&&console.log(\"Right-click any value to save it as a global variable for further inspection.\"),$e&&console.groupEnd()}else console.warn('Could not find element with id \"'.concat(it,'\"'))},overrideSuspense:function(){throw new Error(\"overrideSuspense not supported by this renderer\")},overrideValueAtPath:function(it,Dt,$e,Pt,un){var fn=ge.get(Dt);if(fn!=null){var Jn=fn._instance;if(Jn!=null)switch(it){case\"context\":Ao(Jn.context,Pt,un),m0(Jn);break;case\"hooks\":throw new Error(\"Hooks not supported by this renderer\");case\"props\":var wr=fn._currentElement;fn._currentElement=Q0(Q0({},wr),{},{props:bn(wr.props,Pt,un)}),m0(Jn);break;case\"state\":Ao(Jn.state,Pt,un),m0(Jn)}}},renamePath:function(it,Dt,$e,Pt,un){var fn=ge.get(Dt);if(fn!=null){var Jn=fn._instance;if(Jn!=null)switch(it){case\"context\":Xr(Jn.context,Pt,un),m0(Jn);break;case\"hooks\":throw new Error(\"Hooks not supported by this renderer\");case\"props\":var wr=fn._currentElement;fn._currentElement=Q0(Q0({},wr),{},{props:en(wr.props,Pt,un)}),m0(Jn);break;case\"state\":Xr(Jn.state,Pt,un),m0(Jn)}}},prepareViewAttributeSource:function(it,Dt){var $e=Lr(it);$e!==null&&(window.$attribute=Uu($e,Dt))},prepareViewElementSource:function(it){var Dt=ge.get(it);if(Dt!=null){var $e=Dt._currentElement;$e!=null?$.$type=$e.type:console.warn('Could not find element with id \"'.concat(it,'\"'))}else console.warn('Could not find instance with id \"'.concat(it,'\"'))},renderer:G,setTraceUpdatesEnabled:function(it){},setTrackedPath:function(it){},startProfiling:function(){},stopProfiling:function(){},storeAsGlobal:function(it,Dt,$e){var Pt=Lr(it);if(Pt!==null){var un=Uu(Pt,Dt),fn=\"$reactTemp\".concat($e);window[fn]=un,console.log(fn),console.log(un)}},updateComponentFilters:function(it){}}}function fi(B,z){var G=!1,$={bottom:0,left:0,right:0,top:0},Te=z[B];if(Te!=null){for(var ge=0,Re=Object.keys($);ge<Re.length;ge++)$[Re[ge]]=Te;G=!0}var Z=z[B+\"Horizontal\"];if(Z!=null)$.left=Z,$.right=Z,G=!0;else{var ke=z[B+\"Left\"];ke!=null&&($.left=ke,G=!0);var Qe=z[B+\"Right\"];Qe!=null&&($.right=Qe,G=!0);var ht=z[B+\"End\"];ht!=null&&($.right=ht,G=!0);var ue=z[B+\"Start\"];ue!=null&&($.left=ue,G=!0)}var He=z[B+\"Vertical\"];if(He!=null)$.bottom=He,$.top=He,G=!0;else{var nt=z[B+\"Bottom\"];nt!=null&&($.bottom=nt,G=!0);var Ct=z[B+\"Top\"];Ct!=null&&($.top=Ct,G=!0)}return G?$:null}function $r(B){return($r=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(z){return typeof z}:function(z){return z&&typeof Symbol==\"function\"&&z.constructor===Symbol&&z!==Symbol.prototype?\"symbol\":typeof z})(B)}function Zl(B,z,G){return z in B?Object.defineProperty(B,z,{value:G,enumerable:!0,configurable:!0,writable:!0}):B[z]=G,B}function oa(B,z,G,$){B.addListener(\"NativeStyleEditor_measure\",function(Te){var ge=Te.id,Re=Te.rendererID;ba(z,B,G,ge,Re)}),B.addListener(\"NativeStyleEditor_renameAttribute\",function(Te){var ge=Te.id,Re=Te.rendererID,Z=Te.oldName,ke=Te.newName,Qe=Te.value;(function(ht,ue,He,nt,Ct,Mt){var It,sn=ht.getInstanceAndStyle({id:ue,rendererID:He});if(!(!sn||!sn.style)){var rn,Lt=sn.instance,Dn=sn.style,dr=Ct?(Zl(It={},nt,void 0),Zl(It,Ct,Mt),It):Zl({},nt,void 0);if(Lt!==null&&typeof Lt.setNativeProps==\"function\"){var er=bs.get(ue);er?Object.assign(er,dr):bs.set(ue,dr),Lt.setNativeProps({style:dr})}else if(Array.isArray(Dn)){var Cr=Dn.length-1;$r(Dn[Cr])!==\"object\"||Array.isArray(Dn[Cr])?ht.overrideValueAtPath({type:\"props\",id:ue,rendererID:He,path:[\"style\"],value:Dn.concat([dr])}):(delete(rn=Bs(Dn[Cr]))[nt],Ct?rn[Ct]=Mt:rn[nt]=void 0,ht.overrideValueAtPath({type:\"props\",id:ue,rendererID:He,path:[\"style\",Cr],value:rn}))}else $r(Dn)===\"object\"?(delete(rn=Bs(Dn))[nt],Ct?rn[Ct]=Mt:rn[nt]=void 0,ht.overrideValueAtPath({type:\"props\",id:ue,rendererID:He,path:[\"style\"],value:rn})):ht.overrideValueAtPath({type:\"props\",id:ue,rendererID:He,path:[\"style\"],value:[Dn,dr]});ht.emit(\"hideNativeHighlight\")}})(z,ge,Re,Z,ke,Qe),setTimeout(function(){return ba(z,B,G,ge,Re)})}),B.addListener(\"NativeStyleEditor_setValue\",function(Te){var ge=Te.id,Re=Te.rendererID,Z=Te.name,ke=Te.value;(function(Qe,ht,ue,He,nt){var Ct=Qe.getInstanceAndStyle({id:ht,rendererID:ue});if(!(!Ct||!Ct.style)){var Mt=Ct.instance,It=Ct.style,sn=Zl({},He,nt);if(Mt!==null&&typeof Mt.setNativeProps==\"function\"){var rn=bs.get(ht);rn?Object.assign(rn,sn):bs.set(ht,sn),Mt.setNativeProps({style:sn})}else if(Array.isArray(It)){var Lt=It.length-1;$r(It[Lt])!==\"object\"||Array.isArray(It[Lt])?Qe.overrideValueAtPath({type:\"props\",id:ht,rendererID:ue,path:[\"style\"],value:It.concat([sn])}):Qe.overrideValueAtPath({type:\"props\",id:ht,rendererID:ue,path:[\"style\",Lt,He],value:nt})}else Qe.overrideValueAtPath({type:\"props\",id:ht,rendererID:ue,path:[\"style\"],value:[It,sn]});Qe.emit(\"hideNativeHighlight\")}})(z,ge,Re,Z,ke),setTimeout(function(){return ba(z,B,G,ge,Re)})}),B.send(\"isNativeStyleEditorSupported\",{isSupported:!0,validAttributes:$})}var pf={top:0,left:0,right:0,bottom:0},bs=new Map;function ba(B,z,G,$,Te){var ge=B.getInstanceAndStyle({id:$,rendererID:Te});if(ge&&ge.style){var Re=ge.instance,Z=G(ge.style),ke=bs.get($);ke!=null&&(Z=Object.assign({},Z,ke)),Re&&typeof Re.measure==\"function\"?Re.measure(function(Qe,ht,ue,He,nt,Ct){if(typeof Qe==\"number\"){var Mt=Z!=null&&fi(\"margin\",Z)||pf,It=Z!=null&&fi(\"padding\",Z)||pf;z.send(\"NativeStyleEditor_styleAndLayout\",{id:$,layout:{x:Qe,y:ht,width:ue,height:He,left:nt,top:Ct,margin:Mt,padding:It},style:Z||null})}else z.send(\"NativeStyleEditor_styleAndLayout\",{id:$,layout:null,style:Z||null})}):z.send(\"NativeStyleEditor_styleAndLayout\",{id:$,layout:null,style:Z||null})}else z.send(\"NativeStyleEditor_styleAndLayout\",{id:$,layout:null,style:null})}function Bs(B){var z={};for(var G in B)z[G]=B[G];return z}(function(B){if(B.hasOwnProperty(\"__REACT_DEVTOOLS_GLOBAL_HOOK__\"))return null;var z=0,G=!1,$={},Te=new Map,ge={},Re=new Map,Z={rendererInterfaces:Te,listeners:ge,renderers:Re,emit:function(ke,Qe){ge[ke]&&ge[ke].map(function(ht){return ht(Qe)})},getFiberRoots:function(ke){var Qe=$;return Qe[ke]||(Qe[ke]=new Set),Qe[ke]},inject:function(ke){var Qe=++z;Re.set(Qe,ke);var ht=G?\"deadcode\":function(Mt){try{if(typeof Mt.version==\"string\")return Mt.bundleType>0?\"development\":\"production\";var It=Function.prototype.toString;if(Mt.Mount&&Mt.Mount._renderNewRootComponent){var sn=It.call(Mt.Mount._renderNewRootComponent);return sn.indexOf(\"function\")!==0?\"production\":sn.indexOf(\"storedMeasure\")!==-1?\"development\":sn.indexOf(\"should be a pure function\")!==-1?sn.indexOf(\"NODE_ENV\")!==-1||sn.indexOf(\"development\")!==-1||sn.indexOf(\"true\")!==-1?\"development\":sn.indexOf(\"nextElement\")!==-1||sn.indexOf(\"nextComponent\")!==-1?\"unminified\":\"development\":sn.indexOf(\"nextElement\")!==-1||sn.indexOf(\"nextComponent\")!==-1?\"unminified\":\"outdated\"}}catch(rn){}return\"production\"}(ke);try{var ue=window.__REACT_DEVTOOLS_APPEND_COMPONENT_STACK__!==!1,He=window.__REACT_DEVTOOLS_BREAK_ON_CONSOLE_ERRORS__===!0;(ue||He)&&(fo(ke),Jl({appendComponentStack:ue,breakOnConsoleErrors:He}))}catch(Mt){}var nt=B.__REACT_DEVTOOLS_ATTACH__;if(typeof nt==\"function\"){var Ct=nt(Z,Qe,ke,B);Z.rendererInterfaces.set(Qe,Ct)}return Z.emit(\"renderer\",{id:Qe,renderer:ke,reactBuildType:ht}),Qe},on:function(ke,Qe){ge[ke]||(ge[ke]=[]),ge[ke].push(Qe)},off:function(ke,Qe){if(ge[ke]){var ht=ge[ke].indexOf(Qe);ht!==-1&&ge[ke].splice(ht,1),ge[ke].length||delete ge[ke]}},sub:function(ke,Qe){return Z.on(ke,Qe),function(){return Z.off(ke,Qe)}},supportsFiber:!0,checkDCE:function(ke){try{Function.prototype.toString.call(ke).indexOf(\"^_^\")>-1&&(G=!0,setTimeout(function(){throw new Error(\"React is running in production mode, but dead code elimination has not been applied. Read how to correctly configure React for production: https://reactjs.org/link/perf-use-production-build\")}))}catch(Qe){}},onCommitFiberUnmount:function(ke,Qe){var ht=Te.get(ke);ht!=null&&ht.handleCommitFiberUnmount(Qe)},onCommitFiberRoot:function(ke,Qe,ht){var ue=Z.getFiberRoots(ke),He=Qe.current,nt=ue.has(Qe),Ct=He.memoizedState==null||He.memoizedState.element==null;nt||Ct?nt&&Ct&&ue.delete(Qe):ue.add(Qe);var Mt=Te.get(ke);Mt!=null&&Mt.handleCommitFiberRoot(Qe,ht)}};Object.defineProperty(B,\"__REACT_DEVTOOLS_GLOBAL_HOOK__\",{configurable:!1,enumerable:!1,get:function(){return Z}})})(window);var y0=window.__REACT_DEVTOOLS_GLOBAL_HOOK__,Us=[{type:1,value:7,isEnabled:!0}];function ji(B){if(y0!=null){var z=B||{},G=z.host,$=G===void 0?\"localhost\":G,Te=z.nativeStyleEditorValidAttributes,ge=z.useHttps,Re=ge!==void 0&&ge,Z=z.port,ke=Z===void 0?8097:Z,Qe=z.websocket,ht=z.resolveRNStyle,ue=ht===void 0?null:ht,He=z.isAppActive,nt=Re?\"wss\":\"ws\",Ct=null;if((He===void 0?function(){return!0}:He)()){var Mt=null,It=[],sn=nt+\"://\"+$+\":\"+ke,rn=Qe||new window.WebSocket(sn);rn.onclose=function(){Mt!==null&&Mt.emit(\"shutdown\"),Lt()},rn.onerror=function(){Lt()},rn.onmessage=function(Dn){var dr;try{if(typeof Dn.data!=\"string\")throw Error();dr=JSON.parse(Dn.data)}catch(er){return void console.error(\"[React DevTools] Failed to parse JSON: \"+Dn.data)}It.forEach(function(er){try{er(dr)}catch(Cr){throw console.log(\"[React DevTools] Error calling listener\",dr),console.log(\"error:\",Cr),Cr}})},rn.onopen=function(){(Mt=new co({listen:function(An){return It.push(An),function(){var Nr=It.indexOf(An);Nr>=0&&It.splice(Nr,1)}},send:function(An,Nr,g0){rn.readyState===rn.OPEN?rn.send(JSON.stringify({event:An,payload:Nr})):(Mt!==null&&Mt.shutdown(),Lt())}})).addListener(\"inspectElement\",function(An){var Nr=An.id,g0=An.rendererID,Lr=Dn.rendererInterfaces[g0];if(Lr!=null){var it=Lr.findNativeNodesForFiberID(Nr);it!=null&&it[0]!=null&&Dn.emit(\"showNativeHighlight\",it[0])}}),Mt.addListener(\"updateComponentFilters\",function(An){Us=An}),window.__REACT_DEVTOOLS_COMPONENT_FILTERS__==null&&Mt.send(\"overrideComponentFilters\",Us);var Dn=new Yn(Mt);if(Dn.addListener(\"shutdown\",function(){y0.emit(\"shutdown\")}),function(An,Nr,g0){if(An==null)return function(){};var Lr=[An.sub(\"renderer-attached\",function($e){var Pt=$e.id,un=($e.renderer,$e.rendererInterface);Nr.setRendererInterface(Pt,un),un.flushInitialOperations()}),An.sub(\"unsupported-renderer-version\",function($e){Nr.onUnsupportedRenderer($e)}),An.sub(\"operations\",Nr.onHookOperations),An.sub(\"traceUpdates\",Nr.onTraceUpdates)],it=function($e,Pt){var un=An.rendererInterfaces.get($e);un==null&&(typeof Pt.findFiberByHostInstance==\"function\"?un=Is(An,$e,Pt,g0):Pt.ComponentTree&&(un=ac(An,$e,Pt,g0)),un!=null&&An.rendererInterfaces.set($e,un)),un!=null?An.emit(\"renderer-attached\",{id:$e,renderer:Pt,rendererInterface:un}):An.emit(\"unsupported-renderer-version\",$e)};An.renderers.forEach(function($e,Pt){it(Pt,$e)}),Lr.push(An.sub(\"renderer\",function($e){var Pt=$e.id,un=$e.renderer;it(Pt,un)})),An.emit(\"react-devtools\",Nr),An.reactDevtoolsAgent=Nr;var Dt=function(){Lr.forEach(function($e){return $e()}),An.rendererInterfaces.forEach(function($e){$e.cleanup()}),An.reactDevtoolsAgent=null};Nr.addListener(\"shutdown\",Dt),Lr.push(function(){Nr.removeListener(\"shutdown\",Dt)})}(y0,Dn,window),ue!=null||y0.resolveRNStyle!=null)oa(Mt,Dn,ue||y0.resolveRNStyle,Te||y0.nativeStyleEditorValidAttributes||null);else{var dr,er,Cr=function(){Mt!==null&&oa(Mt,Dn,dr,er)};y0.hasOwnProperty(\"resolveRNStyle\")||Object.defineProperty(y0,\"resolveRNStyle\",{enumerable:!1,get:function(){return dr},set:function(An){dr=An,Cr()}}),y0.hasOwnProperty(\"nativeStyleEditorValidAttributes\")||Object.defineProperty(y0,\"nativeStyleEditorValidAttributes\",{enumerable:!1,get:function(){return er},set:function(An){er=An,Cr()}})}}}else Lt()}function Lt(){Ct===null&&(Ct=setTimeout(function(){return ji(B)},2e3))}}}])})});var kC=tt(MC=>{\"use strict\";Object.defineProperty(MC,\"__esModule\",{value:!0});AC();var Ob=OC();Ob.connectToDevTools()});var IC=tt(ug=>{\"use strict\";var NC=ug&&ug.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(ug,\"__esModule\",{value:!0});var LC=b_(),Mb=NC(IS()),FC=NC($p()),ps=bD();process.env.DEV===\"true\"&&kC();var PC=i=>{i==null||i.unsetMeasureFunc(),i==null||i.freeRecursive()};ug.default=Mb.default({schedulePassiveEffects:LC.unstable_scheduleCallback,cancelPassiveEffects:LC.unstable_cancelCallback,now:Date.now,getRootHostContext:()=>({isInsideText:!1}),prepareForCommit:()=>{},resetAfterCommit:i=>{if(i.isStaticDirty){i.isStaticDirty=!1,typeof i.onImmediateRender==\"function\"&&i.onImmediateRender();return}typeof i.onRender==\"function\"&&i.onRender()},getChildHostContext:(i,o)=>{let a=i.isInsideText,p=o===\"ink-text\"||o===\"ink-virtual-text\";return a===p?i:{isInsideText:p}},shouldSetTextContent:()=>!1,createInstance:(i,o,a,p)=>{if(p.isInsideText&&i===\"ink-box\")throw new Error(\"<Box> can\\u2019t be nested inside <Text> component\");let _=i===\"ink-text\"&&p.isInsideText?\"ink-virtual-text\":i,t=ps.createNode(_);for(let[k,L]of Object.entries(o))k!==\"children\"&&(k===\"style\"?ps.setStyle(t,L):k===\"internal_transform\"?t.internal_transform=L:k===\"internal_static\"?t.internal_static=!0:ps.setAttribute(t,k,L));return t},createTextInstance:(i,o,a)=>{if(!a.isInsideText)throw new Error(`Text string \"${i}\" must be rendered inside <Text> component`);return ps.createTextNode(i)},resetTextContent:()=>{},hideTextInstance:i=>{ps.setTextNodeValue(i,\"\")},unhideTextInstance:(i,o)=>{ps.setTextNodeValue(i,o)},getPublicInstance:i=>i,hideInstance:i=>{var o;(o=i.yogaNode)===null||o===void 0||o.setDisplay(FC.default.DISPLAY_NONE)},unhideInstance:i=>{var o;(o=i.yogaNode)===null||o===void 0||o.setDisplay(FC.default.DISPLAY_FLEX)},appendInitialChild:ps.appendChildNode,appendChild:ps.appendChildNode,insertBefore:ps.insertBeforeNode,finalizeInitialChildren:(i,o,a,p)=>(i.internal_static&&(p.isStaticDirty=!0,p.staticNode=i),!1),supportsMutation:!0,appendChildToContainer:ps.appendChildNode,insertInContainerBefore:ps.insertBeforeNode,removeChildFromContainer:(i,o)=>{ps.removeChildNode(i,o),PC(o.yogaNode)},prepareUpdate:(i,o,a,p,_)=>{i.internal_static&&(_.isStaticDirty=!0);let t={},k=Object.keys(p);for(let L of k)if(p[L]!==a[L]){if(L===\"style\"&&typeof p.style==\"object\"&&typeof a.style==\"object\"){let C=p.style,U=a.style,H=Object.keys(C);for(let W of H){if(W===\"borderStyle\"||W===\"borderColor\"){if(typeof t.style!=\"object\"){let ne={};t.style=ne}t.style.borderStyle=C.borderStyle,t.style.borderColor=C.borderColor}if(C[W]!==U[W]){if(typeof t.style!=\"object\"){let ne={};t.style=ne}t.style[W]=C[W]}}continue}t[L]=p[L]}return t},commitUpdate:(i,o)=>{for(let[a,p]of Object.entries(o))a!==\"children\"&&(a===\"style\"?ps.setStyle(i,p):a===\"internal_transform\"?i.internal_transform=p:a===\"internal_static\"?i.internal_static=!0:ps.setAttribute(i,a,p))},commitTextUpdate:(i,o,a)=>{ps.setTextNodeValue(i,a)},removeChild:(i,o)=>{ps.removeChildNode(i,o),PC(o.yogaNode)}})});var BC=tt((pq,bC)=>{\"use strict\";bC.exports=(i,o=1,a)=>{if(a=Ht({indent:\" \",includeEmptyLines:!1},a),typeof i!=\"string\")throw new TypeError(`Expected \\`input\\` to be a \\`string\\`, got \\`${typeof i}\\``);if(typeof o!=\"number\")throw new TypeError(`Expected \\`count\\` to be a \\`number\\`, got \\`${typeof o}\\``);if(typeof a.indent!=\"string\")throw new TypeError(`Expected \\`options.indent\\` to be a \\`string\\`, got \\`${typeof a.indent}\\``);if(o===0)return i;let p=a.includeEmptyLines?/^/gm:/^(?!\\s*$)/gm;return i.replace(p,a.indent.repeat(o))}});var UC=tt(og=>{\"use strict\";var kb=og&&og.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(og,\"__esModule\",{value:!0});var $_=kb($p());og.default=i=>i.getComputedWidth()-i.getComputedPadding($_.default.EDGE_LEFT)-i.getComputedPadding($_.default.EDGE_RIGHT)-i.getComputedBorder($_.default.EDGE_LEFT)-i.getComputedBorder($_.default.EDGE_RIGHT)});var zC=tt((vq,jC)=>{jC.exports={single:{topLeft:\"\\u250C\",topRight:\"\\u2510\",bottomRight:\"\\u2518\",bottomLeft:\"\\u2514\",vertical:\"\\u2502\",horizontal:\"\\u2500\"},double:{topLeft:\"\\u2554\",topRight:\"\\u2557\",bottomRight:\"\\u255D\",bottomLeft:\"\\u255A\",vertical:\"\\u2551\",horizontal:\"\\u2550\"},round:{topLeft:\"\\u256D\",topRight:\"\\u256E\",bottomRight:\"\\u256F\",bottomLeft:\"\\u2570\",vertical:\"\\u2502\",horizontal:\"\\u2500\"},bold:{topLeft:\"\\u250F\",topRight:\"\\u2513\",bottomRight:\"\\u251B\",bottomLeft:\"\\u2517\",vertical:\"\\u2503\",horizontal:\"\\u2501\"},singleDouble:{topLeft:\"\\u2553\",topRight:\"\\u2556\",bottomRight:\"\\u255C\",bottomLeft:\"\\u2559\",vertical:\"\\u2551\",horizontal:\"\\u2500\"},doubleSingle:{topLeft:\"\\u2552\",topRight:\"\\u2555\",bottomRight:\"\\u255B\",bottomLeft:\"\\u2558\",vertical:\"\\u2502\",horizontal:\"\\u2550\"},classic:{topLeft:\"+\",topRight:\"+\",bottomRight:\"+\",bottomLeft:\"+\",vertical:\"|\",horizontal:\"-\"}}});var qC=tt((mq,n3)=>{\"use strict\";var HC=zC();n3.exports=HC;n3.exports.default=HC});var VC=tt((yq,WC)=>{\"use strict\";WC.exports=(i,o=process.argv)=>{let a=i.startsWith(\"-\")?\"\":i.length===1?\"-\":\"--\",p=o.indexOf(a+i),_=o.indexOf(\"--\");return p!==-1&&(_===-1||p<_)}});var KC=tt((gq,GC)=>{\"use strict\";var Nb=require(\"os\"),YC=require(\"tty\"),df=VC(),{env:Ko}=process,v2;df(\"no-color\")||df(\"no-colors\")||df(\"color=false\")||df(\"color=never\")?v2=0:(df(\"color\")||df(\"colors\")||df(\"color=true\")||df(\"color=always\"))&&(v2=1);\"FORCE_COLOR\"in Ko&&(Ko.FORCE_COLOR===\"true\"?v2=1:Ko.FORCE_COLOR===\"false\"?v2=0:v2=Ko.FORCE_COLOR.length===0?1:Math.min(parseInt(Ko.FORCE_COLOR,10),3));function r3(i){return i===0?!1:{level:i,hasBasic:!0,has256:i>=2,has16m:i>=3}}function i3(i,o){if(v2===0)return 0;if(df(\"color=16m\")||df(\"color=full\")||df(\"color=truecolor\"))return 3;if(df(\"color=256\"))return 2;if(i&&!o&&v2===void 0)return 0;let a=v2||0;if(Ko.TERM===\"dumb\")return a;if(process.platform===\"win32\"){let p=Nb.release().split(\".\");return Number(p[0])>=10&&Number(p[2])>=10586?Number(p[2])>=14931?3:2:1}if(\"CI\"in Ko)return[\"TRAVIS\",\"CIRCLECI\",\"APPVEYOR\",\"GITLAB_CI\"].some(p=>p in Ko)||Ko.CI_NAME===\"codeship\"?1:a;if(\"TEAMCITY_VERSION\"in Ko)return/^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(Ko.TEAMCITY_VERSION)?1:0;if(\"GITHUB_ACTIONS\"in Ko)return 1;if(Ko.COLORTERM===\"truecolor\")return 3;if(\"TERM_PROGRAM\"in Ko){let p=parseInt((Ko.TERM_PROGRAM_VERSION||\"\").split(\".\")[0],10);switch(Ko.TERM_PROGRAM){case\"iTerm.app\":return p>=3?3:2;case\"Apple_Terminal\":return 2}}return/-256(color)?$/i.test(Ko.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ko.TERM)||\"COLORTERM\"in Ko?1:a}function Lb(i){let o=i3(i,i&&i.isTTY);return r3(o)}GC.exports={supportsColor:Lb,stdout:r3(i3(!0,YC.isatty(1))),stderr:r3(i3(!0,YC.isatty(2)))}});var QC=tt((_q,XC)=>{\"use strict\";var Fb=(i,o,a)=>{let p=i.indexOf(o);if(p===-1)return i;let _=o.length,t=0,k=\"\";do k+=i.substr(t,p-t)+o+a,t=p+_,p=i.indexOf(o,t);while(p!==-1);return k+=i.substr(t),k},Pb=(i,o,a,p)=>{let _=0,t=\"\";do{let k=i[p-1]===\"\\r\";t+=i.substr(_,(k?p-1:p)-_)+o+(k?`\\r\n`:`\n`)+a,_=p+1,p=i.indexOf(`\n`,_)}while(p!==-1);return t+=i.substr(_),t};XC.exports={stringReplaceAll:Fb,stringEncaseCRLFWithFirstIndex:Pb}});var t6=tt((Eq,JC)=>{\"use strict\";var Ib=/(?:\\\\(u(?:[a-f\\d]{4}|\\{[a-f\\d]{1,6}\\})|x[a-f\\d]{2}|.))|(?:\\{(~)?(\\w+(?:\\([^)]*\\))?(?:\\.\\w+(?:\\([^)]*\\))?)*)(?:[ \\t]|(?=\\r?\\n)))|(\\})|((?:.|[\\r\\n\\f])+?)/gi,ZC=/(?:^|\\.)(\\w+)(?:\\(([^)]*)\\))?/g,bb=/^(['\"])((?:\\\\.|(?!\\1)[^\\\\])*)\\1$/,Bb=/\\\\(u(?:[a-f\\d]{4}|{[a-f\\d]{1,6}})|x[a-f\\d]{2}|.)|([^\\\\])/gi,Ub=new Map([[\"n\",`\n`],[\"r\",\"\\r\"],[\"t\",\"\t\"],[\"b\",\"\\b\"],[\"f\",\"\\f\"],[\"v\",\"\\v\"],[\"0\",\"\\0\"],[\"\\\\\",\"\\\\\"],[\"e\",\"\u001b\"],[\"a\",\"\\x07\"]]);function $C(i){let o=i[0]===\"u\",a=i[1]===\"{\";return o&&!a&&i.length===5||i[0]===\"x\"&&i.length===3?String.fromCharCode(parseInt(i.slice(1),16)):o&&a?String.fromCodePoint(parseInt(i.slice(2,-1),16)):Ub.get(i)||i}function jb(i,o){let a=[],p=o.trim().split(/\\s*,\\s*/g),_;for(let t of p){let k=Number(t);if(!Number.isNaN(k))a.push(k);else if(_=t.match(bb))a.push(_[2].replace(Bb,(L,O,C)=>O?$C(O):C));else throw new Error(`Invalid Chalk template style argument: ${t} (in style '${i}')`)}return a}function zb(i){ZC.lastIndex=0;let o=[],a;for(;(a=ZC.exec(i))!==null;){let p=a[1];if(a[2]){let _=jb(p,a[2]);o.push([p].concat(_))}else o.push([p])}return o}function e6(i,o){let a={};for(let _ of o)for(let t of _.styles)a[t[0]]=_.inverse?null:t.slice(1);let p=i;for(let[_,t]of Object.entries(a))if(!!Array.isArray(t)){if(!(_ in p))throw new Error(`Unknown Chalk style: ${_}`);p=t.length>0?p[_](...t):p[_]}return p}JC.exports=(i,o)=>{let a=[],p=[],_=[];if(o.replace(Ib,(t,k,L,O,C,U)=>{if(k)_.push($C(k));else if(O){let H=_.join(\"\");_=[],p.push(a.length===0?H:e6(i,a)(H)),a.push({inverse:L,styles:zb(O)})}else if(C){if(a.length===0)throw new Error(\"Found extraneous } in Chalk template literal\");p.push(e6(i,a)(_.join(\"\"))),_=[],a.pop()}else _.push(U)}),p.push(_.join(\"\")),a.length>0){let t=`Chalk template literal is missing ${a.length} closing bracket${a.length===1?\"\":\"s\"} (\\`}\\`)`;throw new Error(t)}return p.join(\"\")}});var i4=tt((Dq,n6)=>{\"use strict\";var lg=H_(),{stdout:u3,stderr:o3}=KC(),{stringReplaceAll:Hb,stringEncaseCRLFWithFirstIndex:qb}=QC(),{isArray:e4}=Array,r6=[\"ansi\",\"ansi\",\"ansi256\",\"ansi16m\"],Qv=Object.create(null),Wb=(i,o={})=>{if(o.level&&!(Number.isInteger(o.level)&&o.level>=0&&o.level<=3))throw new Error(\"The `level` option should be an integer from 0 to 3\");let a=u3?u3.level:0;i.level=o.level===void 0?a:o.level},i6=class{constructor(o){return u6(o)}},u6=i=>{let o={};return Wb(o,i),o.template=(...a)=>o6(o.template,...a),Object.setPrototypeOf(o,t4.prototype),Object.setPrototypeOf(o.template,o),o.template.constructor=()=>{throw new Error(\"`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.\")},o.template.Instance=i6,o.template};function t4(i){return u6(i)}for(let[i,o]of Object.entries(lg))Qv[i]={get(){let a=n4(this,l3(o.open,o.close,this._styler),this._isEmpty);return Object.defineProperty(this,i,{value:a}),a}};Qv.visible={get(){let i=n4(this,this._styler,!0);return Object.defineProperty(this,\"visible\",{value:i}),i}};var l6=[\"rgb\",\"hex\",\"keyword\",\"hsl\",\"hsv\",\"hwb\",\"ansi\",\"ansi256\"];for(let i of l6)Qv[i]={get(){let{level:o}=this;return function(...a){let p=l3(lg.color[r6[o]][i](...a),lg.color.close,this._styler);return n4(this,p,this._isEmpty)}}};for(let i of l6){let o=\"bg\"+i[0].toUpperCase()+i.slice(1);Qv[o]={get(){let{level:a}=this;return function(...p){let _=l3(lg.bgColor[r6[a]][i](...p),lg.bgColor.close,this._styler);return n4(this,_,this._isEmpty)}}}}var Vb=Object.defineProperties(()=>{},Zr(Ht({},Qv),{level:{enumerable:!0,get(){return this._generator.level},set(i){this._generator.level=i}}})),l3=(i,o,a)=>{let p,_;return a===void 0?(p=i,_=o):(p=a.openAll+i,_=o+a.closeAll),{open:i,close:o,openAll:p,closeAll:_,parent:a}},n4=(i,o,a)=>{let p=(..._)=>e4(_[0])&&e4(_[0].raw)?s6(p,o6(p,..._)):s6(p,_.length===1?\"\"+_[0]:_.join(\" \"));return Object.setPrototypeOf(p,Vb),p._generator=i,p._styler=o,p._isEmpty=a,p},s6=(i,o)=>{if(i.level<=0||!o)return i._isEmpty?\"\":o;let a=i._styler;if(a===void 0)return o;let{openAll:p,closeAll:_}=a;if(o.indexOf(\"\u001b\")!==-1)for(;a!==void 0;)o=Hb(o,a.close,a.open),a=a.parent;let t=o.indexOf(`\n`);return t!==-1&&(o=qb(o,_,p,t)),p+o+_},s3,o6=(i,...o)=>{let[a]=o;if(!e4(a)||!e4(a.raw))return o.join(\" \");let p=o.slice(1),_=[a.raw[0]];for(let t=1;t<a.length;t++)_.push(String(p[t-1]).replace(/[{}\\\\]/g,\"\\\\$&\"),String(a.raw[t]));return s3===void 0&&(s3=t6()),s3(i,_.join(\"\"))};Object.defineProperties(t4.prototype,Qv);var r4=t4();r4.supportsColor=u3;r4.stderr=t4({level:o3?o3.level:0});r4.stderr.supportsColor=o3;n6.exports=r4});var a3=tt(sg=>{\"use strict\";var Gb=sg&&sg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(sg,\"__esModule\",{value:!0});var ag=Gb(i4()),Yb=/^(rgb|hsl|hsv|hwb)\\(\\s?(\\d+),\\s?(\\d+),\\s?(\\d+)\\s?\\)$/,Kb=/^(ansi|ansi256)\\(\\s?(\\d+)\\s?\\)$/,u4=(i,o)=>o===\"foreground\"?i:\"bg\"+i[0].toUpperCase()+i.slice(1);sg.default=(i,o,a)=>{if(!o)return i;if(o in ag.default){let _=u4(o,a);return ag.default[_](i)}if(o.startsWith(\"#\")){let _=u4(\"hex\",a);return ag.default[_](o)(i)}if(o.startsWith(\"ansi\")){let _=Kb.exec(o);if(!_)return i;let t=u4(_[1],a),k=Number(_[2]);return ag.default[t](k)(i)}if(o.startsWith(\"rgb\")||o.startsWith(\"hsl\")||o.startsWith(\"hsv\")||o.startsWith(\"hwb\")){let _=Yb.exec(o);if(!_)return i;let t=u4(_[1],a),k=Number(_[2]),L=Number(_[3]),O=Number(_[4]);return ag.default[t](k,L,O)(i)}return i}});var f6=tt(fg=>{\"use strict\";var a6=fg&&fg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(fg,\"__esModule\",{value:!0});var Xb=a6(qC()),f3=a6(a3());fg.default=(i,o,a,p)=>{if(typeof a.style.borderStyle==\"string\"){let _=a.yogaNode.getComputedWidth(),t=a.yogaNode.getComputedHeight(),k=a.style.borderColor,L=Xb.default[a.style.borderStyle],O=f3.default(L.topLeft+L.horizontal.repeat(_-2)+L.topRight,k,\"foreground\"),C=(f3.default(L.vertical,k,\"foreground\")+`\n`).repeat(t-2),U=f3.default(L.bottomLeft+L.horizontal.repeat(_-2)+L.bottomRight,k,\"foreground\");p.write(i,o,O,{transformers:[]}),p.write(i,o+1,C,{transformers:[]}),p.write(i+_-1,o+1,C,{transformers:[]}),p.write(i,o+t-1,U,{transformers:[]})}}});var d6=tt(cg=>{\"use strict\";var rh=cg&&cg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(cg,\"__esModule\",{value:!0});var Qb=rh($p()),Jb=rh(CD()),Zb=rh(BC()),$b=rh(FD()),eB=rh(UC()),tB=rh(ID()),nB=rh(f6()),rB=(i,o)=>{var a;let p=(a=i.childNodes[0])===null||a===void 0?void 0:a.yogaNode;if(p){let _=p.getComputedLeft(),t=p.getComputedTop();o=`\n`.repeat(t)+Zb.default(o,_)}return o},c6=(i,o,a)=>{var p;let{offsetX:_=0,offsetY:t=0,transformers:k=[],skipStaticElements:L}=a;if(L&&i.internal_static)return;let{yogaNode:O}=i;if(O){if(O.getDisplay()===Qb.default.DISPLAY_NONE)return;let C=_+O.getComputedLeft(),U=t+O.getComputedTop(),H=k;if(typeof i.internal_transform==\"function\"&&(H=[i.internal_transform,...k]),i.nodeName===\"ink-text\"){let W=tB.default(i);if(W.length>0){let ne=Jb.default(W),m=eB.default(O);if(ne>m){let he=(p=i.style.textWrap)!==null&&p!==void 0?p:\"wrap\";W=$b.default(W,m,he)}W=rB(i,W),o.write(C,U,W,{transformers:H})}return}if(i.nodeName===\"ink-box\"&&nB.default(C,U,i,o),i.nodeName===\"ink-root\"||i.nodeName===\"ink-box\")for(let W of i.childNodes)c6(W,o,{offsetX:C,offsetY:U,transformers:H,skipStaticElements:L})}};cg.default=c6});var h6=tt((Cq,p6)=>{\"use strict\";p6.exports=i=>{i=Object.assign({onlyFirst:!1},i);let o=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:[a-zA-Z\\\\d]*(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(o,i.onlyFirst?void 0:\"g\")}});var m6=tt((xq,c3)=>{\"use strict\";var iB=h6(),v6=i=>typeof i==\"string\"?i.replace(iB(),\"\"):i;c3.exports=v6;c3.exports.default=v6});var _6=tt((Rq,y6)=>{\"use strict\";var g6=\"[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]\";y6.exports=i=>i&&i.exact?new RegExp(`^${g6}$`):new RegExp(g6,\"g\")});var D6=tt((Aq,d3)=>{\"use strict\";var uB=m6(),oB=_6(),E6=i=>uB(i).replace(oB(),\" \").length;d3.exports=E6;d3.exports.default=E6});var C6=tt(dg=>{\"use strict\";var w6=dg&&dg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(dg,\"__esModule\",{value:!0});var S6=w6(ND()),lB=w6(D6()),T6=class{constructor(o){this.writes=[];let{width:a,height:p}=o;this.width=a,this.height=p}write(o,a,p,_){let{transformers:t}=_;!p||this.writes.push({x:o,y:a,text:p,transformers:t})}get(){let o=[];for(let p=0;p<this.height;p++)o.push(\" \".repeat(this.width));for(let p of this.writes){let{x:_,y:t,text:k,transformers:L}=p,O=k.split(`\n`),C=0;for(let U of O){let H=o[t+C];if(!H)continue;let W=lB.default(U);for(let ne of L)U=ne(U);o[t+C]=S6.default(H,0,_)+U+S6.default(H,_+W),C++}}return{output:o.map(p=>p.trimRight()).join(`\n`),height:o.length}}};dg.default=T6});var A6=tt(pg=>{\"use strict\";var p3=pg&&pg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(pg,\"__esModule\",{value:!0});var sB=p3($p()),x6=p3(d6()),R6=p3(C6());pg.default=(i,o)=>{var a;if(i.yogaNode.setWidth(o),i.yogaNode){i.yogaNode.calculateLayout(void 0,void 0,sB.default.DIRECTION_LTR);let p=new R6.default({width:i.yogaNode.getComputedWidth(),height:i.yogaNode.getComputedHeight()});x6.default(i,p,{skipStaticElements:!0});let _;((a=i.staticNode)===null||a===void 0?void 0:a.yogaNode)&&(_=new R6.default({width:i.staticNode.yogaNode.getComputedWidth(),height:i.staticNode.yogaNode.getComputedHeight()}),x6.default(i.staticNode,_,{skipStaticElements:!1}));let{output:t,height:k}=p.get();return{output:t,outputHeight:k,staticOutput:_?`${_.get().output}\n`:\"\"}}return{output:\"\",outputHeight:0,staticOutput:\"\"}}});var N6=tt((kq,O6)=>{\"use strict\";var M6=require(\"stream\"),k6=[\"assert\",\"count\",\"countReset\",\"debug\",\"dir\",\"dirxml\",\"error\",\"group\",\"groupCollapsed\",\"groupEnd\",\"info\",\"log\",\"table\",\"time\",\"timeEnd\",\"timeLog\",\"trace\",\"warn\"],h3={},aB=i=>{let o=new M6.PassThrough,a=new M6.PassThrough;o.write=_=>i(\"stdout\",_),a.write=_=>i(\"stderr\",_);let p=new console.Console(o,a);for(let _ of k6)h3[_]=console[_],console[_]=p[_];return()=>{for(let _ of k6)console[_]=h3[_];h3={}}};O6.exports=aB});var m3=tt(v3=>{\"use strict\";Object.defineProperty(v3,\"__esModule\",{value:!0});v3.default=new WeakMap});var g3=tt(y3=>{\"use strict\";Object.defineProperty(y3,\"__esModule\",{value:!0});var fB=Mi(),L6=fB.createContext({exit:()=>{}});L6.displayName=\"InternalAppContext\";y3.default=L6});var E3=tt(_3=>{\"use strict\";Object.defineProperty(_3,\"__esModule\",{value:!0});var cB=Mi(),F6=cB.createContext({stdin:void 0,setRawMode:()=>{},isRawModeSupported:!1,internal_exitOnCtrlC:!0});F6.displayName=\"InternalStdinContext\";_3.default=F6});var w3=tt(D3=>{\"use strict\";Object.defineProperty(D3,\"__esModule\",{value:!0});var dB=Mi(),P6=dB.createContext({stdout:void 0,write:()=>{}});P6.displayName=\"InternalStdoutContext\";D3.default=P6});var T3=tt(S3=>{\"use strict\";Object.defineProperty(S3,\"__esModule\",{value:!0});var pB=Mi(),I6=pB.createContext({stderr:void 0,write:()=>{}});I6.displayName=\"InternalStderrContext\";S3.default=I6});var o4=tt(C3=>{\"use strict\";Object.defineProperty(C3,\"__esModule\",{value:!0});var hB=Mi(),b6=hB.createContext({activeId:void 0,add:()=>{},remove:()=>{},activate:()=>{},deactivate:()=>{},enableFocus:()=>{},disableFocus:()=>{},focusNext:()=>{},focusPrevious:()=>{}});b6.displayName=\"InternalFocusContext\";C3.default=b6});var U6=tt((Bq,B6)=>{\"use strict\";var vB=/[|\\\\{}()[\\]^$+*?.-]/g;B6.exports=i=>{if(typeof i!=\"string\")throw new TypeError(\"Expected a string\");return i.replace(vB,\"\\\\$&\")}});var q6=tt((Uq,j6)=>{\"use strict\";var mB=U6(),z6=[].concat(require(\"module\").builtinModules,\"bootstrap_node\",\"node\").map(i=>new RegExp(`(?:\\\\(${i}\\\\.js:\\\\d+:\\\\d+\\\\)$|^\\\\s*at ${i}\\\\.js:\\\\d+:\\\\d+$)`));z6.push(/\\(internal\\/[^:]+:\\d+:\\d+\\)$/,/\\s*at internal\\/[^:]+:\\d+:\\d+$/,/\\/\\.node-spawn-wrap-\\w+-\\w+\\/node:\\d+:\\d+\\)?$/);var l4=class{constructor(o){o=Ht({ignoredPackages:[]},o),\"internals\"in o||(o.internals=l4.nodeInternals()),\"cwd\"in o||(o.cwd=process.cwd()),this._cwd=o.cwd.replace(/\\\\/g,\"/\"),this._internals=[].concat(o.internals,yB(o.ignoredPackages)),this._wrapCallSite=o.wrapCallSite||!1}static nodeInternals(){return[...z6]}clean(o,a=0){a=\" \".repeat(a),Array.isArray(o)||(o=o.split(`\n`)),!/^\\s*at /.test(o[0])&&/^\\s*at /.test(o[1])&&(o=o.slice(1));let p=!1,_=null,t=[];return o.forEach(k=>{if(k=k.replace(/\\\\/g,\"/\"),this._internals.some(O=>O.test(k)))return;let L=/^\\s*at /.test(k);p?k=k.trimEnd().replace(/^(\\s+)at /,\"$1\"):(k=k.trim(),L&&(k=k.slice(3))),k=k.replace(`${this._cwd}/`,\"\"),k&&(L?(_&&(t.push(_),_=null),t.push(k)):(p=!0,_=k))}),t.map(k=>`${a}${k}\n`).join(\"\")}captureString(o,a=this.captureString){typeof o==\"function\"&&(a=o,o=Infinity);let{stackTraceLimit:p}=Error;o&&(Error.stackTraceLimit=o);let _={};Error.captureStackTrace(_,a);let{stack:t}=_;return Error.stackTraceLimit=p,this.clean(t)}capture(o,a=this.capture){typeof o==\"function\"&&(a=o,o=Infinity);let{prepareStackTrace:p,stackTraceLimit:_}=Error;Error.prepareStackTrace=(L,O)=>this._wrapCallSite?O.map(this._wrapCallSite):O,o&&(Error.stackTraceLimit=o);let t={};Error.captureStackTrace(t,a);let{stack:k}=t;return Object.assign(Error,{prepareStackTrace:p,stackTraceLimit:_}),k}at(o=this.at){let[a]=this.capture(1,o);if(!a)return{};let p={line:a.getLineNumber(),column:a.getColumnNumber()};H6(p,a.getFileName(),this._cwd),a.isConstructor()&&(p.constructor=!0),a.isEval()&&(p.evalOrigin=a.getEvalOrigin()),a.isNative()&&(p.native=!0);let _;try{_=a.getTypeName()}catch(L){}_&&_!==\"Object\"&&_!==\"[object Object]\"&&(p.type=_);let t=a.getFunctionName();t&&(p.function=t);let k=a.getMethodName();return k&&t!==k&&(p.method=k),p}parseLine(o){let a=o&&o.match(gB);if(!a)return null;let p=a[1]===\"new\",_=a[2],t=a[3],k=a[4],L=Number(a[5]),O=Number(a[6]),C=a[7],U=a[8],H=a[9],W=a[10]===\"native\",ne=a[11]===\")\",m,he={};if(U&&(he.line=Number(U)),H&&(he.column=Number(H)),ne&&C){let Ee=0;for(let ve=C.length-1;ve>0;ve--)if(C.charAt(ve)===\")\")Ee++;else if(C.charAt(ve)===\"(\"&&C.charAt(ve-1)===\" \"&&(Ee--,Ee===-1&&C.charAt(ve-1)===\" \")){let se=C.slice(0,ve-1);C=C.slice(ve+1),_+=` (${se}`;break}}if(_){let Ee=_.match(_B);Ee&&(_=Ee[1],m=Ee[2])}return H6(he,C,this._cwd),p&&(he.constructor=!0),t&&(he.evalOrigin=t,he.evalLine=L,he.evalColumn=O,he.evalFile=k&&k.replace(/\\\\/g,\"/\")),W&&(he.native=!0),_&&(he.function=_),m&&_!==m&&(he.method=m),he}};function H6(i,o,a){o&&(o=o.replace(/\\\\/g,\"/\"),o.startsWith(`${a}/`)&&(o=o.slice(a.length+1)),i.file=o)}function yB(i){if(i.length===0)return[];let o=i.map(a=>mB(a));return new RegExp(`[/\\\\\\\\]node_modules[/\\\\\\\\](?:${o.join(\"|\")})[/\\\\\\\\][^:]+:\\\\d+:\\\\d+`)}var gB=new RegExp(\"^(?:\\\\s*at )?(?:(new) )?(?:(.*?) \\\\()?(?:eval at ([^ ]+) \\\\((.+?):(\\\\d+):(\\\\d+)\\\\), )?(?:(.+?):(\\\\d+):(\\\\d+)|(native))(\\\\)?)$\"),_B=/^(.*?) \\[as (.*?)\\]$/;j6.exports=l4});var V6=tt((jq,W6)=>{\"use strict\";W6.exports=(i,o)=>i.replace(/^\\t+/gm,a=>\" \".repeat(a.length*(o||2)))});var Y6=tt((zq,G6)=>{\"use strict\";var EB=V6(),DB=(i,o)=>{let a=[],p=i-o,_=i+o;for(let t=p;t<=_;t++)a.push(t);return a};G6.exports=(i,o,a)=>{if(typeof i!=\"string\")throw new TypeError(\"Source code is missing.\");if(!o||o<1)throw new TypeError(\"Line number must start from `1`.\");if(i=EB(i).split(/\\r?\\n/),!(o>i.length))return a=Ht({around:3},a),DB(o,a.around).filter(p=>i[p-1]!==void 0).map(p=>({line:p,value:i[p-1]}))}});var s4=tt(nc=>{\"use strict\";var wB=nc&&nc.__createBinding||(Object.create?function(i,o,a,p){p===void 0&&(p=a),Object.defineProperty(i,p,{enumerable:!0,get:function(){return o[a]}})}:function(i,o,a,p){p===void 0&&(p=a),i[p]=o[a]}),SB=nc&&nc.__setModuleDefault||(Object.create?function(i,o){Object.defineProperty(i,\"default\",{enumerable:!0,value:o})}:function(i,o){i.default=o}),TB=nc&&nc.__importStar||function(i){if(i&&i.__esModule)return i;var o={};if(i!=null)for(var a in i)a!==\"default\"&&Object.hasOwnProperty.call(i,a)&&wB(o,i,a);return SB(o,i),o},CB=nc&&nc.__rest||function(i,o){var a={};for(var p in i)Object.prototype.hasOwnProperty.call(i,p)&&o.indexOf(p)<0&&(a[p]=i[p]);if(i!=null&&typeof Object.getOwnPropertySymbols==\"function\")for(var _=0,p=Object.getOwnPropertySymbols(i);_<p.length;_++)o.indexOf(p[_])<0&&Object.prototype.propertyIsEnumerable.call(i,p[_])&&(a[p[_]]=i[p[_]]);return a};Object.defineProperty(nc,\"__esModule\",{value:!0});var K6=TB(Mi()),x3=K6.forwardRef((i,o)=>{var{children:a}=i,p=CB(i,[\"children\"]);let _=Object.assign(Object.assign({},p),{marginLeft:p.marginLeft||p.marginX||p.margin||0,marginRight:p.marginRight||p.marginX||p.margin||0,marginTop:p.marginTop||p.marginY||p.margin||0,marginBottom:p.marginBottom||p.marginY||p.margin||0,paddingLeft:p.paddingLeft||p.paddingX||p.padding||0,paddingRight:p.paddingRight||p.paddingX||p.padding||0,paddingTop:p.paddingTop||p.paddingY||p.padding||0,paddingBottom:p.paddingBottom||p.paddingY||p.padding||0});return K6.default.createElement(\"ink-box\",{ref:o,style:_},a)});x3.displayName=\"Box\";x3.defaultProps={flexDirection:\"row\",flexGrow:0,flexShrink:1};nc.default=x3});var O3=tt(hg=>{\"use strict\";var R3=hg&&hg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(hg,\"__esModule\",{value:!0});var xB=R3(Mi()),Jv=R3(i4()),X6=R3(a3()),A3=({color:i,backgroundColor:o,dimColor:a,bold:p,italic:_,underline:t,strikethrough:k,inverse:L,wrap:O,children:C})=>{if(C==null)return null;let U=H=>(a&&(H=Jv.default.dim(H)),i&&(H=X6.default(H,i,\"foreground\")),o&&(H=X6.default(H,o,\"background\")),p&&(H=Jv.default.bold(H)),_&&(H=Jv.default.italic(H)),t&&(H=Jv.default.underline(H)),k&&(H=Jv.default.strikethrough(H)),L&&(H=Jv.default.inverse(H)),H);return xB.default.createElement(\"ink-text\",{style:{flexGrow:0,flexShrink:1,flexDirection:\"row\",textWrap:O},internal_transform:U},C)};A3.displayName=\"Text\";A3.defaultProps={dimColor:!1,bold:!1,italic:!1,underline:!1,strikethrough:!1,wrap:\"wrap\"};hg.default=A3});var $6=tt(rc=>{\"use strict\";var RB=rc&&rc.__createBinding||(Object.create?function(i,o,a,p){p===void 0&&(p=a),Object.defineProperty(i,p,{enumerable:!0,get:function(){return o[a]}})}:function(i,o,a,p){p===void 0&&(p=a),i[p]=o[a]}),AB=rc&&rc.__setModuleDefault||(Object.create?function(i,o){Object.defineProperty(i,\"default\",{enumerable:!0,value:o})}:function(i,o){i.default=o}),OB=rc&&rc.__importStar||function(i){if(i&&i.__esModule)return i;var o={};if(i!=null)for(var a in i)a!==\"default\"&&Object.hasOwnProperty.call(i,a)&&RB(o,i,a);return AB(o,i),o},vg=rc&&rc.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(rc,\"__esModule\",{value:!0});var Q6=OB(require(\"fs\")),Xo=vg(Mi()),J6=vg(q6()),MB=vg(Y6()),Z1=vg(s4()),zc=vg(O3()),Z6=new J6.default({cwd:process.cwd(),internals:J6.default.nodeInternals()}),kB=({error:i})=>{let o=i.stack?i.stack.split(`\n`).slice(1):void 0,a=o?Z6.parseLine(o[0]):void 0,p,_=0;if((a==null?void 0:a.file)&&(a==null?void 0:a.line)&&Q6.existsSync(a.file)){let t=Q6.readFileSync(a.file,\"utf8\");if(p=MB.default(t,a.line),p)for(let{line:k}of p)_=Math.max(_,String(k).length)}return Xo.default.createElement(Z1.default,{flexDirection:\"column\",padding:1},Xo.default.createElement(Z1.default,null,Xo.default.createElement(zc.default,{backgroundColor:\"red\",color:\"white\"},\" \",\"ERROR\",\" \"),Xo.default.createElement(zc.default,null,\" \",i.message)),a&&Xo.default.createElement(Z1.default,{marginTop:1},Xo.default.createElement(zc.default,{dimColor:!0},a.file,\":\",a.line,\":\",a.column)),a&&p&&Xo.default.createElement(Z1.default,{marginTop:1,flexDirection:\"column\"},p.map(({line:t,value:k})=>Xo.default.createElement(Z1.default,{key:t},Xo.default.createElement(Z1.default,{width:_+1},Xo.default.createElement(zc.default,{dimColor:t!==a.line,backgroundColor:t===a.line?\"red\":void 0,color:t===a.line?\"white\":void 0},String(t).padStart(_,\" \"),\":\")),Xo.default.createElement(zc.default,{key:t,backgroundColor:t===a.line?\"red\":void 0,color:t===a.line?\"white\":void 0},\" \"+k)))),i.stack&&Xo.default.createElement(Z1.default,{marginTop:1,flexDirection:\"column\"},i.stack.split(`\n`).slice(1).map(t=>{let k=Z6.parseLine(t);return k?Xo.default.createElement(Z1.default,{key:t},Xo.default.createElement(zc.default,{dimColor:!0},\"- \"),Xo.default.createElement(zc.default,{dimColor:!0,bold:!0},k.function),Xo.default.createElement(zc.default,{dimColor:!0,color:\"gray\"},\" \",\"(\",k.file,\":\",k.line,\":\",k.column,\")\")):Xo.default.createElement(Z1.default,{key:t},Xo.default.createElement(zc.default,{dimColor:!0},\"- \"),Xo.default.createElement(zc.default,{dimColor:!0,bold:!0},t))})))};rc.default=kB});var tx=tt(ic=>{\"use strict\";var NB=ic&&ic.__createBinding||(Object.create?function(i,o,a,p){p===void 0&&(p=a),Object.defineProperty(i,p,{enumerable:!0,get:function(){return o[a]}})}:function(i,o,a,p){p===void 0&&(p=a),i[p]=o[a]}),LB=ic&&ic.__setModuleDefault||(Object.create?function(i,o){Object.defineProperty(i,\"default\",{enumerable:!0,value:o})}:function(i,o){i.default=o}),FB=ic&&ic.__importStar||function(i){if(i&&i.__esModule)return i;var o={};if(i!=null)for(var a in i)a!==\"default\"&&Object.hasOwnProperty.call(i,a)&&NB(o,i,a);return LB(o,i),o},ih=ic&&ic.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(ic,\"__esModule\",{value:!0});var uh=FB(Mi()),ex=ih(nD()),PB=ih(g3()),IB=ih(E3()),bB=ih(w3()),BB=ih(T3()),UB=ih(o4()),jB=ih($6()),zB=\"\t\",HB=\"\u001b[Z\",qB=\"\u001b\",M3=class extends uh.PureComponent{constructor(){super(...arguments);this.state={isFocusEnabled:!0,activeFocusId:void 0,focusables:[],error:void 0},this.rawModeEnabledCount=0,this.handleSetRawMode=o=>{let{stdin:a}=this.props;if(!this.isRawModeSupported())throw a===process.stdin?new Error(`Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default.\nRead about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`):new Error(`Raw mode is not supported on the stdin provided to Ink.\nRead about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);if(a.setEncoding(\"utf8\"),o){this.rawModeEnabledCount===0&&(a.addListener(\"data\",this.handleInput),a.resume(),a.setRawMode(!0)),this.rawModeEnabledCount++;return}--this.rawModeEnabledCount==0&&(a.setRawMode(!1),a.removeListener(\"data\",this.handleInput),a.pause())},this.handleInput=o=>{o===\"\u0003\"&&this.props.exitOnCtrlC&&this.handleExit(),o===qB&&this.state.activeFocusId&&this.setState({activeFocusId:void 0}),this.state.isFocusEnabled&&this.state.focusables.length>0&&(o===zB&&this.focusNext(),o===HB&&this.focusPrevious())},this.handleExit=o=>{this.isRawModeSupported()&&this.handleSetRawMode(!1),this.props.onExit(o)},this.enableFocus=()=>{this.setState({isFocusEnabled:!0})},this.disableFocus=()=>{this.setState({isFocusEnabled:!1})},this.focusNext=()=>{this.setState(o=>{let a=o.focusables[0].id;return{activeFocusId:this.findNextFocusable(o)||a}})},this.focusPrevious=()=>{this.setState(o=>{let a=o.focusables[o.focusables.length-1].id;return{activeFocusId:this.findPreviousFocusable(o)||a}})},this.addFocusable=(o,{autoFocus:a})=>{this.setState(p=>{let _=p.activeFocusId;return!_&&a&&(_=o),{activeFocusId:_,focusables:[...p.focusables,{id:o,isActive:!0}]}})},this.removeFocusable=o=>{this.setState(a=>({activeFocusId:a.activeFocusId===o?void 0:a.activeFocusId,focusables:a.focusables.filter(p=>p.id!==o)}))},this.activateFocusable=o=>{this.setState(a=>({focusables:a.focusables.map(p=>p.id!==o?p:{id:o,isActive:!0})}))},this.deactivateFocusable=o=>{this.setState(a=>({activeFocusId:a.activeFocusId===o?void 0:a.activeFocusId,focusables:a.focusables.map(p=>p.id!==o?p:{id:o,isActive:!1})}))},this.findNextFocusable=o=>{let a=o.focusables.findIndex(p=>p.id===o.activeFocusId);for(let p=a+1;p<o.focusables.length;p++)if(o.focusables[p].isActive)return o.focusables[p].id},this.findPreviousFocusable=o=>{let a=o.focusables.findIndex(p=>p.id===o.activeFocusId);for(let p=a-1;p>=0;p--)if(o.focusables[p].isActive)return o.focusables[p].id}}static getDerivedStateFromError(o){return{error:o}}isRawModeSupported(){return this.props.stdin.isTTY}render(){return uh.default.createElement(PB.default.Provider,{value:{exit:this.handleExit}},uh.default.createElement(IB.default.Provider,{value:{stdin:this.props.stdin,setRawMode:this.handleSetRawMode,isRawModeSupported:this.isRawModeSupported(),internal_exitOnCtrlC:this.props.exitOnCtrlC}},uh.default.createElement(bB.default.Provider,{value:{stdout:this.props.stdout,write:this.props.writeToStdout}},uh.default.createElement(BB.default.Provider,{value:{stderr:this.props.stderr,write:this.props.writeToStderr}},uh.default.createElement(UB.default.Provider,{value:{activeId:this.state.activeFocusId,add:this.addFocusable,remove:this.removeFocusable,activate:this.activateFocusable,deactivate:this.deactivateFocusable,enableFocus:this.enableFocus,disableFocus:this.disableFocus,focusNext:this.focusNext,focusPrevious:this.focusPrevious}},this.state.error?uh.default.createElement(jB.default,{error:this.state.error}):this.props.children)))))}componentDidMount(){ex.default.hide(this.props.stdout)}componentWillUnmount(){ex.default.show(this.props.stdout),this.isRawModeSupported()&&this.handleSetRawMode(!1)}componentDidCatch(o){this.handleExit(o)}};ic.default=M3;M3.displayName=\"InternalApp\"});var ux=tt(uc=>{\"use strict\";var WB=uc&&uc.__createBinding||(Object.create?function(i,o,a,p){p===void 0&&(p=a),Object.defineProperty(i,p,{enumerable:!0,get:function(){return o[a]}})}:function(i,o,a,p){p===void 0&&(p=a),i[p]=o[a]}),VB=uc&&uc.__setModuleDefault||(Object.create?function(i,o){Object.defineProperty(i,\"default\",{enumerable:!0,value:o})}:function(i,o){i.default=o}),GB=uc&&uc.__importStar||function(i){if(i&&i.__esModule)return i;var o={};if(i!=null)for(var a in i)a!==\"default\"&&Object.hasOwnProperty.call(i,a)&&WB(o,i,a);return VB(o,i),o},oc=uc&&uc.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(uc,\"__esModule\",{value:!0});var YB=oc(Mi()),nx=Z8(),KB=oc(dS()),XB=oc(QE()),QB=oc(_S()),JB=oc(DS()),a4=oc(IC()),ZB=oc(A6()),$B=oc(tD()),eU=oc(N6()),tU=GB(bD()),nU=oc(m3()),rU=oc(tx()),Zv=process.env.CI===\"false\"?!1:QB.default,rx=()=>{},ix=class{constructor(o){this.resolveExitPromise=()=>{},this.rejectExitPromise=()=>{},this.unsubscribeExit=()=>{},this.onRender=()=>{if(this.isUnmounted)return;let{output:a,outputHeight:p,staticOutput:_}=ZB.default(this.rootNode,this.options.stdout.columns||80),t=_&&_!==`\n`;if(this.options.debug){t&&(this.fullStaticOutput+=_),this.options.stdout.write(this.fullStaticOutput+a);return}if(Zv){t&&this.options.stdout.write(_),this.lastOutput=a;return}if(t&&(this.fullStaticOutput+=_),p>=this.options.stdout.rows){this.options.stdout.write(XB.default.clearTerminal+this.fullStaticOutput+a),this.lastOutput=a;return}t&&(this.log.clear(),this.options.stdout.write(_),this.log(a)),!t&&a!==this.lastOutput&&this.throttledLog(a),this.lastOutput=a},JB.default(this),this.options=o,this.rootNode=tU.createNode(\"ink-root\"),this.rootNode.onRender=o.debug?this.onRender:nx.throttle(this.onRender,32,{leading:!0,trailing:!0}),this.rootNode.onImmediateRender=this.onRender,this.log=KB.default.create(o.stdout),this.throttledLog=o.debug?this.log:nx.throttle(this.log,void 0,{leading:!0,trailing:!0}),this.isUnmounted=!1,this.lastOutput=\"\",this.fullStaticOutput=\"\",this.container=a4.default.createContainer(this.rootNode,!1,!1),this.unsubscribeExit=$B.default(this.unmount,{alwaysLast:!1}),process.env.DEV===\"true\"&&a4.default.injectIntoDevTools({bundleType:0,version:\"16.13.1\",rendererPackageName:\"ink\"}),o.patchConsole&&this.patchConsole(),Zv||(o.stdout.on(\"resize\",this.onRender),this.unsubscribeResize=()=>{o.stdout.off(\"resize\",this.onRender)})}render(o){let a=YB.default.createElement(rU.default,{stdin:this.options.stdin,stdout:this.options.stdout,stderr:this.options.stderr,writeToStdout:this.writeToStdout,writeToStderr:this.writeToStderr,exitOnCtrlC:this.options.exitOnCtrlC,onExit:this.unmount},o);a4.default.updateContainer(a,this.container,null,rx)}writeToStdout(o){if(!this.isUnmounted){if(this.options.debug){this.options.stdout.write(o+this.fullStaticOutput+this.lastOutput);return}if(Zv){this.options.stdout.write(o);return}this.log.clear(),this.options.stdout.write(o),this.log(this.lastOutput)}}writeToStderr(o){if(!this.isUnmounted){if(this.options.debug){this.options.stderr.write(o),this.options.stdout.write(this.fullStaticOutput+this.lastOutput);return}if(Zv){this.options.stderr.write(o);return}this.log.clear(),this.options.stderr.write(o),this.log(this.lastOutput)}}unmount(o){this.isUnmounted||(this.onRender(),this.unsubscribeExit(),typeof this.restoreConsole==\"function\"&&this.restoreConsole(),typeof this.unsubscribeResize==\"function\"&&this.unsubscribeResize(),Zv?this.options.stdout.write(this.lastOutput+`\n`):this.options.debug||this.log.done(),this.isUnmounted=!0,a4.default.updateContainer(null,this.container,null,rx),nU.default.delete(this.options.stdout),o instanceof Error?this.rejectExitPromise(o):this.resolveExitPromise())}waitUntilExit(){return this.exitPromise||(this.exitPromise=new Promise((o,a)=>{this.resolveExitPromise=o,this.rejectExitPromise=a})),this.exitPromise}clear(){!Zv&&!this.options.debug&&this.log.clear()}patchConsole(){this.options.debug||(this.restoreConsole=eU.default((o,a)=>{o===\"stdout\"&&this.writeToStdout(a),o===\"stderr\"&&(a.startsWith(\"The above error occurred\")||this.writeToStderr(a))}))}};uc.default=ix});var lx=tt(mg=>{\"use strict\";var ox=mg&&mg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(mg,\"__esModule\",{value:!0});var iU=ox(ux()),f4=ox(m3()),uU=require(\"stream\"),sU=(i,o)=>{let a=Object.assign({stdout:process.stdout,stdin:process.stdin,stderr:process.stderr,debug:!1,exitOnCtrlC:!0,patchConsole:!0},oU(o)),p=lU(a.stdout,()=>new iU.default(a));return p.render(i),{rerender:p.render,unmount:()=>p.unmount(),waitUntilExit:p.waitUntilExit,cleanup:()=>f4.default.delete(a.stdout),clear:p.clear}};mg.default=sU;var oU=(i={})=>i instanceof uU.Stream?{stdout:i,stdin:process.stdin}:i,lU=(i,o)=>{let a;return f4.default.has(i)?a=f4.default.get(i):(a=o(),f4.default.set(i,a)),a}});var ax=tt($1=>{\"use strict\";var aU=$1&&$1.__createBinding||(Object.create?function(i,o,a,p){p===void 0&&(p=a),Object.defineProperty(i,p,{enumerable:!0,get:function(){return o[a]}})}:function(i,o,a,p){p===void 0&&(p=a),i[p]=o[a]}),fU=$1&&$1.__setModuleDefault||(Object.create?function(i,o){Object.defineProperty(i,\"default\",{enumerable:!0,value:o})}:function(i,o){i.default=o}),cU=$1&&$1.__importStar||function(i){if(i&&i.__esModule)return i;var o={};if(i!=null)for(var a in i)a!==\"default\"&&Object.hasOwnProperty.call(i,a)&&aU(o,i,a);return fU(o,i),o};Object.defineProperty($1,\"__esModule\",{value:!0});var yg=cU(Mi()),sx=i=>{let{items:o,children:a,style:p}=i,[_,t]=yg.useState(0),k=yg.useMemo(()=>o.slice(_),[o,_]);yg.useLayoutEffect(()=>{t(o.length)},[o.length]);let L=k.map((C,U)=>a(C,_+U)),O=yg.useMemo(()=>Object.assign({position:\"absolute\",flexDirection:\"column\"},p),[p]);return yg.default.createElement(\"ink-box\",{internal_static:!0,style:O},L)};sx.displayName=\"Static\";$1.default=sx});var cx=tt(gg=>{\"use strict\";var dU=gg&&gg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(gg,\"__esModule\",{value:!0});var pU=dU(Mi()),fx=({children:i,transform:o})=>i==null?null:pU.default.createElement(\"ink-text\",{style:{flexGrow:0,flexShrink:1,flexDirection:\"row\"},internal_transform:o},i);fx.displayName=\"Transform\";gg.default=fx});var px=tt(_g=>{\"use strict\";var hU=_g&&_g.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(_g,\"__esModule\",{value:!0});var vU=hU(Mi()),dx=({count:i=1})=>vU.default.createElement(\"ink-text\",null,`\n`.repeat(i));dx.displayName=\"Newline\";_g.default=dx});var mx=tt(Eg=>{\"use strict\";var hx=Eg&&Eg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Eg,\"__esModule\",{value:!0});var mU=hx(Mi()),yU=hx(s4()),vx=()=>mU.default.createElement(yU.default,{flexGrow:1});vx.displayName=\"Spacer\";Eg.default=vx});var c4=tt(Dg=>{\"use strict\";var gU=Dg&&Dg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Dg,\"__esModule\",{value:!0});var _U=Mi(),EU=gU(E3()),DU=()=>_U.useContext(EU.default);Dg.default=DU});var gx=tt(wg=>{\"use strict\";var wU=wg&&wg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(wg,\"__esModule\",{value:!0});var yx=Mi(),SU=wU(c4()),TU=(i,o={})=>{let{stdin:a,setRawMode:p,internal_exitOnCtrlC:_}=SU.default();yx.useEffect(()=>{if(o.isActive!==!1)return p(!0),()=>{p(!1)}},[o.isActive,p]),yx.useEffect(()=>{if(o.isActive===!1)return;let t=k=>{let L=String(k),O={upArrow:L===\"\u001b[A\",downArrow:L===\"\u001b[B\",leftArrow:L===\"\u001b[D\",rightArrow:L===\"\u001b[C\",pageDown:L===\"\u001b[6~\",pageUp:L===\"\u001b[5~\",return:L===\"\\r\",escape:L===\"\u001b\",ctrl:!1,shift:!1,tab:L===\"\t\"||L===\"\u001b[Z\",backspace:L===\"\\b\",delete:L===\"\\x7F\"||L===\"\u001b[3~\",meta:!1};L<=\"\u001a\"&&!O.return&&(L=String.fromCharCode(L.charCodeAt(0)+\"a\".charCodeAt(0)-1),O.ctrl=!0),L.startsWith(\"\u001b\")&&(L=L.slice(1),O.meta=!0);let C=L>=\"A\"&&L<=\"Z\",U=L>=\"\\u0410\"&&L<=\"\\u042F\";L.length===1&&(C||U)&&(O.shift=!0),O.tab&&L===\"[Z\"&&(O.shift=!0),(O.tab||O.backspace||O.delete)&&(L=\"\"),(!(L===\"c\"&&O.ctrl)||!_)&&i(L,O)};return a==null||a.on(\"data\",t),()=>{a==null||a.off(\"data\",t)}},[o.isActive,a,_,i])};wg.default=TU});var _x=tt(Sg=>{\"use strict\";var CU=Sg&&Sg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Sg,\"__esModule\",{value:!0});var xU=Mi(),RU=CU(g3()),AU=()=>xU.useContext(RU.default);Sg.default=AU});var Ex=tt(Tg=>{\"use strict\";var OU=Tg&&Tg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Tg,\"__esModule\",{value:!0});var MU=Mi(),kU=OU(w3()),NU=()=>MU.useContext(kU.default);Tg.default=NU});var Dx=tt(Cg=>{\"use strict\";var LU=Cg&&Cg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Cg,\"__esModule\",{value:!0});var FU=Mi(),PU=LU(T3()),IU=()=>FU.useContext(PU.default);Cg.default=IU});var Sx=tt(xg=>{\"use strict\";var wx=xg&&xg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(xg,\"__esModule\",{value:!0});var Rg=Mi(),bU=wx(o4()),BU=wx(c4()),UU=({isActive:i=!0,autoFocus:o=!1}={})=>{let{isRawModeSupported:a,setRawMode:p}=BU.default(),{activeId:_,add:t,remove:k,activate:L,deactivate:O}=Rg.useContext(bU.default),C=Rg.useMemo(()=>Math.random().toString().slice(2,7),[]);return Rg.useEffect(()=>(t(C,{autoFocus:o}),()=>{k(C)}),[C,o]),Rg.useEffect(()=>{i?L(C):O(C)},[i,C]),Rg.useEffect(()=>{if(!(!a||!i))return p(!0),()=>{p(!1)}},[i]),{isFocused:Boolean(C)&&_===C}};xg.default=UU});var Tx=tt(Ag=>{\"use strict\";var jU=Ag&&Ag.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Ag,\"__esModule\",{value:!0});var zU=Mi(),HU=jU(o4()),qU=()=>{let i=zU.useContext(HU.default);return{enableFocus:i.enableFocus,disableFocus:i.disableFocus,focusNext:i.focusNext,focusPrevious:i.focusPrevious}};Ag.default=qU});var Cx=tt(k3=>{\"use strict\";Object.defineProperty(k3,\"__esModule\",{value:!0});k3.default=i=>{var o,a,p,_;return{width:(a=(o=i.yogaNode)===null||o===void 0?void 0:o.getComputedWidth())!==null&&a!==void 0?a:0,height:(_=(p=i.yogaNode)===null||p===void 0?void 0:p.getComputedHeight())!==null&&_!==void 0?_:0}}});var lc=tt(Yl=>{\"use strict\";Object.defineProperty(Yl,\"__esModule\",{value:!0});var WU=lx();Object.defineProperty(Yl,\"render\",{enumerable:!0,get:function(){return WU.default}});var VU=s4();Object.defineProperty(Yl,\"Box\",{enumerable:!0,get:function(){return VU.default}});var GU=O3();Object.defineProperty(Yl,\"Text\",{enumerable:!0,get:function(){return GU.default}});var YU=ax();Object.defineProperty(Yl,\"Static\",{enumerable:!0,get:function(){return YU.default}});var KU=cx();Object.defineProperty(Yl,\"Transform\",{enumerable:!0,get:function(){return KU.default}});var XU=px();Object.defineProperty(Yl,\"Newline\",{enumerable:!0,get:function(){return XU.default}});var QU=mx();Object.defineProperty(Yl,\"Spacer\",{enumerable:!0,get:function(){return QU.default}});var JU=gx();Object.defineProperty(Yl,\"useInput\",{enumerable:!0,get:function(){return JU.default}});var ZU=_x();Object.defineProperty(Yl,\"useApp\",{enumerable:!0,get:function(){return ZU.default}});var $U=c4();Object.defineProperty(Yl,\"useStdin\",{enumerable:!0,get:function(){return $U.default}});var ej=Ex();Object.defineProperty(Yl,\"useStdout\",{enumerable:!0,get:function(){return ej.default}});var tj=Dx();Object.defineProperty(Yl,\"useStderr\",{enumerable:!0,get:function(){return tj.default}});var nj=Sx();Object.defineProperty(Yl,\"useFocus\",{enumerable:!0,get:function(){return nj.default}});var rj=Tx();Object.defineProperty(Yl,\"useFocusManager\",{enumerable:!0,get:function(){return rj.default}});var ij=Cx();Object.defineProperty(Yl,\"measureElement\",{enumerable:!0,get:function(){return ij.default}})});var Px=tt(Og=>{\"use strict\";Object.defineProperty(Og,\"__esModule\",{value:!0});Og.UncontrolledTextInput=void 0;var Nx=Mi(),F3=Mi(),Lx=lc(),sh=i4(),Fx=({value:i,placeholder:o=\"\",focus:a=!0,mask:p,highlightPastedText:_=!1,showCursor:t=!0,onChange:k,onSubmit:L})=>{let[{cursorOffset:O,cursorWidth:C},U]=F3.useState({cursorOffset:(i||\"\").length,cursorWidth:0});F3.useEffect(()=>{U(he=>{if(!a||!t)return he;let Ee=i||\"\";return he.cursorOffset>Ee.length-1?{cursorOffset:Ee.length,cursorWidth:0}:he})},[i,a,t]);let H=_?C:0,W=p?p.repeat(i.length):i,ne=W,m=o?sh.grey(o):void 0;if(t&&a){m=o.length>0?sh.inverse(o[0])+sh.grey(o.slice(1)):sh.inverse(\" \"),ne=W.length>0?\"\":sh.inverse(\" \");let he=0;for(let Ee of W)he>=O-H&&he<=O?ne+=sh.inverse(Ee):ne+=Ee,he++;W.length>0&&O===W.length&&(ne+=sh.inverse(\" \"))}return Lx.useInput((he,Ee)=>{if(Ee.upArrow||Ee.downArrow||Ee.ctrl&&he===\"c\"||Ee.tab||Ee.shift&&Ee.tab)return;if(Ee.return){L&&L(i);return}let ve=O,se=i,De=0;Ee.leftArrow?t&&ve--:Ee.rightArrow?t&&ve++:Ee.backspace||Ee.delete?O>0&&(se=i.slice(0,O-1)+i.slice(O,i.length),ve--):(se=i.slice(0,O)+he+i.slice(O,i.length),ve+=he.length,he.length>1&&(De=he.length)),O<0&&(ve=0),O>i.length&&(ve=i.length),U({cursorOffset:ve,cursorWidth:De}),se!==i&&k(se)},{isActive:a}),Nx.createElement(Lx.Text,null,o?W.length>0?ne:m:ne)};Og.default=Fx;Og.UncontrolledTextInput=i=>{let[o,a]=F3.useState(\"\");return Nx.createElement(Fx,Object.assign({},i,{value:o,onChange:a}))}});var bx=tt(E4=>{\"use strict\";Object.defineProperty(E4,\"__esModule\",{value:!0});function Mg(i){let o=[...i.caches],a=o.shift();return a===void 0?Ix():{get(p,_,t={miss:()=>Promise.resolve()}){return a.get(p,_,t).catch(()=>Mg({caches:o}).get(p,_,t))},set(p,_){return a.set(p,_).catch(()=>Mg({caches:o}).set(p,_))},delete(p){return a.delete(p).catch(()=>Mg({caches:o}).delete(p))},clear(){return a.clear().catch(()=>Mg({caches:o}).clear())}}}function Ix(){return{get(i,o,a={miss:()=>Promise.resolve()}){return o().then(_=>Promise.all([_,a.miss(_)])).then(([_])=>_)},set(i,o){return Promise.resolve(o)},delete(i){return Promise.resolve()},clear(){return Promise.resolve()}}}E4.createFallbackableCache=Mg;E4.createNullCache=Ix});var Ux=tt((CW,Bx)=>{Bx.exports=bx()});var jx=tt(P3=>{\"use strict\";Object.defineProperty(P3,\"__esModule\",{value:!0});function uj(i={serializable:!0}){let o={};return{get(a,p,_={miss:()=>Promise.resolve()}){let t=JSON.stringify(a);if(t in o)return Promise.resolve(i.serializable?JSON.parse(o[t]):o[t]);let k=p(),L=_&&_.miss||(()=>Promise.resolve());return k.then(O=>L(O)).then(()=>k)},set(a,p){return o[JSON.stringify(a)]=i.serializable?JSON.stringify(p):p,Promise.resolve(p)},delete(a){return delete o[JSON.stringify(a)],Promise.resolve()},clear(){return o={},Promise.resolve()}}}P3.createInMemoryCache=uj});var Hx=tt((RW,zx)=>{zx.exports=jx()});var Wx=tt(sc=>{\"use strict\";Object.defineProperty(sc,\"__esModule\",{value:!0});function oj(i,o,a){let p={\"x-algolia-api-key\":a,\"x-algolia-application-id\":o};return{headers(){return i===I3.WithinHeaders?p:{}},queryParameters(){return i===I3.WithinQueryParameters?p:{}}}}function lj(i){let o=0,a=()=>(o++,new Promise(p=>{setTimeout(()=>{p(i(a))},Math.min(100*o,1e3))}));return i(a)}function qx(i,o=(a,p)=>Promise.resolve()){return Object.assign(i,{wait(a){return qx(i.then(p=>Promise.all([o(p,a),p])).then(p=>p[1]))}})}function sj(i){let o=i.length-1;for(o;o>0;o--){let a=Math.floor(Math.random()*(o+1)),p=i[o];i[o]=i[a],i[a]=p}return i}function aj(i,o){return Object.keys(o!==void 0?o:{}).forEach(a=>{i[a]=o[a](i)}),i}function fj(i,...o){let a=0;return i.replace(/%s/g,()=>encodeURIComponent(o[a++]))}var cj=\"4.2.0\",dj=i=>()=>i.transporter.requester.destroy(),I3={WithinQueryParameters:0,WithinHeaders:1};sc.AuthMode=I3;sc.addMethods=aj;sc.createAuth=oj;sc.createRetryablePromise=lj;sc.createWaitablePromise=qx;sc.destroy=dj;sc.encode=fj;sc.shuffle=sj;sc.version=cj});var kg=tt((OW,Vx)=>{Vx.exports=Wx()});var Gx=tt(b3=>{\"use strict\";Object.defineProperty(b3,\"__esModule\",{value:!0});var pj={Delete:\"DELETE\",Get:\"GET\",Post:\"POST\",Put:\"PUT\"};b3.MethodEnum=pj});var Ng=tt((kW,Yx)=>{Yx.exports=Gx()});var s5=tt(V0=>{\"use strict\";Object.defineProperty(V0,\"__esModule\",{value:!0});var Kx=Ng();function B3(i,o){let a=i||{},p=a.data||{};return Object.keys(a).forEach(_=>{[\"timeout\",\"headers\",\"queryParameters\",\"data\",\"cacheable\"].indexOf(_)===-1&&(p[_]=a[_])}),{data:Object.entries(p).length>0?p:void 0,timeout:a.timeout||o,headers:a.headers||{},queryParameters:a.queryParameters||{},cacheable:a.cacheable}}var D4={Read:1,Write:2,Any:3},$v={Up:1,Down:2,Timeouted:3},Xx=2*60*1e3;function U3(i,o=$v.Up){return Zr(Ht({},i),{status:o,lastUpdate:Date.now()})}function Qx(i){return i.status===$v.Up||Date.now()-i.lastUpdate>Xx}function Jx(i){return i.status===$v.Timeouted&&Date.now()-i.lastUpdate<=Xx}function j3(i){return{protocol:i.protocol||\"https\",url:i.url,accept:i.accept||D4.Any}}function hj(i,o){return Promise.all(o.map(a=>i.get(a,()=>Promise.resolve(U3(a))))).then(a=>{let p=a.filter(L=>Qx(L)),_=a.filter(L=>Jx(L)),t=[...p,..._],k=t.length>0?t.map(L=>j3(L)):o;return{getTimeout(L,O){return(_.length===0&&L===0?1:_.length+3+L)*O},statelessHosts:k}})}var vj=({isTimedOut:i,status:o})=>!i&&~~o==0,mj=i=>{let o=i.status;return i.isTimedOut||vj(i)||~~(o/100)!=2&&~~(o/100)!=4},yj=({status:i})=>~~(i/100)==2,gj=(i,o)=>mj(i)?o.onRetry(i):yj(i)?o.onSucess(i):o.onFail(i);function i5(i,o,a,p){let _=[],t=t5(a,p),k=n5(i,p),L=a.method,O=a.method!==Kx.MethodEnum.Get?{}:Ht(Ht({},a.data),p.data),C=Ht(Ht(Ht({\"x-algolia-agent\":i.userAgent.value},i.queryParameters),O),p.queryParameters),U=0,H=(W,ne)=>{let m=W.pop();if(m===void 0)throw r5(z3(_));let he={data:t,headers:k,method:L,url:e5(m,a.path,C),connectTimeout:ne(U,i.timeouts.connect),responseTimeout:ne(U,p.timeout)},Ee=se=>{let De={request:he,response:se,host:m,triesLeft:W.length};return _.push(De),De},ve={onSucess:se=>Zx(se),onRetry(se){let De=Ee(se);return se.isTimedOut&&U++,Promise.all([i.logger.info(\"Retryable failure\",H3(De)),i.hostsCache.set(m,U3(m,se.isTimedOut?$v.Timeouted:$v.Down))]).then(()=>H(W,ne))},onFail(se){throw Ee(se),$x(se,z3(_))}};return i.requester.send(he).then(se=>gj(se,ve))};return hj(i.hostsCache,o).then(W=>H([...W.statelessHosts].reverse(),W.getTimeout))}function _j(i){let{hostsCache:o,logger:a,requester:p,requestsCache:_,responsesCache:t,timeouts:k,userAgent:L,hosts:O,queryParameters:C,headers:U}=i,H={hostsCache:o,logger:a,requester:p,requestsCache:_,responsesCache:t,timeouts:k,userAgent:L,headers:U,queryParameters:C,hosts:O.map(W=>j3(W)),read(W,ne){let m=B3(ne,H.timeouts.read),he=()=>i5(H,H.hosts.filter(se=>(se.accept&D4.Read)!=0),W,m);if((m.cacheable!==void 0?m.cacheable:W.cacheable)!==!0)return he();let ve={request:W,mappedRequestOptions:m,transporter:{queryParameters:H.queryParameters,headers:H.headers}};return H.responsesCache.get(ve,()=>H.requestsCache.get(ve,()=>H.requestsCache.set(ve,he()).then(se=>Promise.all([H.requestsCache.delete(ve),se]),se=>Promise.all([H.requestsCache.delete(ve),Promise.reject(se)])).then(([se,De])=>De)),{miss:se=>H.responsesCache.set(ve,se)})},write(W,ne){return i5(H,H.hosts.filter(m=>(m.accept&D4.Write)!=0),W,B3(ne,H.timeouts.write))}};return H}function Ej(i){let o={value:`Algolia for JavaScript (${i})`,add(a){let p=`; ${a.segment}${a.version!==void 0?` (${a.version})`:\"\"}`;return o.value.indexOf(p)===-1&&(o.value=`${o.value}${p}`),o}};return o}function Zx(i){try{return JSON.parse(i.content)}catch(o){throw u5(o.message,i)}}function $x({content:i,status:o},a){let p=i;try{p=JSON.parse(i).message}catch(_){}return o5(p,o,a)}function Dj(i,...o){let a=0;return i.replace(/%s/g,()=>encodeURIComponent(o[a++]))}function e5(i,o,a){let p=l5(a),_=`${i.protocol}://${i.url}/${o.charAt(0)===\"/\"?o.substr(1):o}`;return p.length&&(_+=`?${p}`),_}function l5(i){let o=a=>Object.prototype.toString.call(a)===\"[object Object]\"||Object.prototype.toString.call(a)===\"[object Array]\";return Object.keys(i).map(a=>Dj(\"%s=%s\",a,o(i[a])?JSON.stringify(i[a]):i[a])).join(\"&\")}function t5(i,o){if(i.method===Kx.MethodEnum.Get||i.data===void 0&&o.data===void 0)return;let a=Array.isArray(i.data)?i.data:Ht(Ht({},i.data),o.data);return JSON.stringify(a)}function n5(i,o){let a=Ht(Ht({},i.headers),o.headers),p={};return Object.keys(a).forEach(_=>{let t=a[_];p[_.toLowerCase()]=t}),p}function z3(i){return i.map(o=>H3(o))}function H3(i){let o=i.request.headers[\"x-algolia-api-key\"]?{\"x-algolia-api-key\":\"*****\"}:{};return Zr(Ht({},i),{request:Zr(Ht({},i.request),{headers:Ht(Ht({},i.request.headers),o)})})}function o5(i,o,a){return{name:\"ApiError\",message:i,status:o,transporterStackTrace:a}}function u5(i,o){return{name:\"DeserializationError\",message:i,response:o}}function r5(i){return{name:\"RetryError\",message:\"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.\",transporterStackTrace:i}}V0.CallEnum=D4;V0.HostStatusEnum=$v;V0.createApiError=o5;V0.createDeserializationError=u5;V0.createMappedRequestOptions=B3;V0.createRetryError=r5;V0.createStatefulHost=U3;V0.createStatelessHost=j3;V0.createTransporter=_j;V0.createUserAgent=Ej;V0.deserializeFailure=$x;V0.deserializeSuccess=Zx;V0.isStatefulHostTimeouted=Jx;V0.isStatefulHostUp=Qx;V0.serializeData=t5;V0.serializeHeaders=n5;V0.serializeQueryParameters=l5;V0.serializeUrl=e5;V0.stackFrameWithoutCredentials=H3;V0.stackTraceWithoutCredentials=z3});var Lg=tt((LW,a5)=>{a5.exports=s5()});var f5=tt(g2=>{\"use strict\";Object.defineProperty(g2,\"__esModule\",{value:!0});var em=kg(),wj=Lg(),Fg=Ng(),Sj=i=>{let o=i.region||\"us\",a=em.createAuth(em.AuthMode.WithinHeaders,i.appId,i.apiKey),p=wj.createTransporter(Zr(Ht({hosts:[{url:`analytics.${o}.algolia.com`}]},i),{headers:Ht(Zr(Ht({},a.headers()),{\"content-type\":\"application/json\"}),i.headers),queryParameters:Ht(Ht({},a.queryParameters()),i.queryParameters)})),_=i.appId;return em.addMethods({appId:_,transporter:p},i.methods)},Tj=i=>(o,a)=>i.transporter.write({method:Fg.MethodEnum.Post,path:\"2/abtests\",data:o},a),Cj=i=>(o,a)=>i.transporter.write({method:Fg.MethodEnum.Delete,path:em.encode(\"2/abtests/%s\",o)},a),xj=i=>(o,a)=>i.transporter.read({method:Fg.MethodEnum.Get,path:em.encode(\"2/abtests/%s\",o)},a),Rj=i=>o=>i.transporter.read({method:Fg.MethodEnum.Get,path:\"2/abtests\"},o),Aj=i=>(o,a)=>i.transporter.write({method:Fg.MethodEnum.Post,path:em.encode(\"2/abtests/%s/stop\",o)},a);g2.addABTest=Tj;g2.createAnalyticsClient=Sj;g2.deleteABTest=Cj;g2.getABTest=xj;g2.getABTests=Rj;g2.stopABTest=Aj});var d5=tt((PW,c5)=>{c5.exports=f5()});var h5=tt(Pg=>{\"use strict\";Object.defineProperty(Pg,\"__esModule\",{value:!0});var q3=kg(),Oj=Lg(),p5=Ng(),Mj=i=>{let o=i.region||\"us\",a=q3.createAuth(q3.AuthMode.WithinHeaders,i.appId,i.apiKey),p=Oj.createTransporter(Zr(Ht({hosts:[{url:`recommendation.${o}.algolia.com`}]},i),{headers:Ht(Zr(Ht({},a.headers()),{\"content-type\":\"application/json\"}),i.headers),queryParameters:Ht(Ht({},a.queryParameters()),i.queryParameters)}));return q3.addMethods({appId:i.appId,transporter:p},i.methods)},kj=i=>o=>i.transporter.read({method:p5.MethodEnum.Get,path:\"1/strategies/personalization\"},o),Nj=i=>(o,a)=>i.transporter.write({method:p5.MethodEnum.Post,path:\"1/strategies/personalization\",data:o},a);Pg.createRecommendationClient=Mj;Pg.getPersonalizationStrategy=kj;Pg.setPersonalizationStrategy=Nj});var m5=tt((bW,v5)=>{v5.exports=h5()});var O5=tt(tn=>{\"use strict\";Object.defineProperty(tn,\"__esModule\",{value:!0});var Ln=kg(),ra=Lg(),Ur=Ng(),Lj=require(\"crypto\");function w4(i){let o=a=>i.request(a).then(p=>{if(i.batch!==void 0&&i.batch(p.hits),!i.shouldStop(p))return p.cursor?o({cursor:p.cursor}):o({page:(a.page||0)+1})});return o({})}var Fj=i=>{let o=i.appId,a=Ln.createAuth(i.authMode!==void 0?i.authMode:Ln.AuthMode.WithinHeaders,o,i.apiKey),p=ra.createTransporter(Zr(Ht({hosts:[{url:`${o}-dsn.algolia.net`,accept:ra.CallEnum.Read},{url:`${o}.algolia.net`,accept:ra.CallEnum.Write}].concat(Ln.shuffle([{url:`${o}-1.algolianet.com`},{url:`${o}-2.algolianet.com`},{url:`${o}-3.algolianet.com`}]))},i),{headers:Ht(Zr(Ht({},a.headers()),{\"content-type\":\"application/x-www-form-urlencoded\"}),i.headers),queryParameters:Ht(Ht({},a.queryParameters()),i.queryParameters)})),_={transporter:p,appId:o,addAlgoliaAgent(t,k){p.userAgent.add({segment:t,version:k})},clearCache(){return Promise.all([p.requestsCache.clear(),p.responsesCache.clear()]).then(()=>{})}};return Ln.addMethods(_,i.methods)};function y5(){return{name:\"MissingObjectIDError\",message:\"All objects must have an unique objectID (like a primary key) to be valid. Algolia is also able to generate objectIDs automatically but *it's not recommended*. To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option.\"}}function g5(){return{name:\"ObjectNotFoundError\",message:\"Object not found.\"}}function _5(){return{name:\"ValidUntilNotFoundError\",message:\"ValidUntil not found in given secured api key.\"}}var Pj=i=>(o,a)=>{let L=a||{},{queryParameters:p}=L,_=Dl(L,[\"queryParameters\"]),t=Ht({acl:o},p!==void 0?{queryParameters:p}:{}),k=(O,C)=>Ln.createRetryablePromise(U=>Ig(i)(O.key,C).catch(H=>{if(H.status!==404)throw H;return U()}));return Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Post,path:\"1/keys\",data:t},_),k)},Ij=i=>(o,a,p)=>{let _=ra.createMappedRequestOptions(p);return _.queryParameters[\"X-Algolia-User-ID\"]=o,i.transporter.write({method:Ur.MethodEnum.Post,path:\"1/clusters/mapping\",data:{cluster:a}},_)},bj=i=>(o,a,p)=>i.transporter.write({method:Ur.MethodEnum.Post,path:\"1/clusters/mapping/batch\",data:{users:o,cluster:a}},p),S4=i=>(o,a,p)=>{let _=(t,k)=>bg(i)(o,{methods:{waitTask:Co}}).waitTask(t.taskID,k);return Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Post,path:Ln.encode(\"1/indexes/%s/operation\",o),data:{operation:\"copy\",destination:a}},p),_)},Bj=i=>(o,a,p)=>S4(i)(o,a,Zr(Ht({},p),{scope:[T4.Rules]})),Uj=i=>(o,a,p)=>S4(i)(o,a,Zr(Ht({},p),{scope:[T4.Settings]})),jj=i=>(o,a,p)=>S4(i)(o,a,Zr(Ht({},p),{scope:[T4.Synonyms]})),zj=i=>(o,a)=>{let p=(_,t)=>Ln.createRetryablePromise(k=>Ig(i)(o,t).then(k).catch(L=>{if(L.status!==404)throw L}));return Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Delete,path:Ln.encode(\"1/keys/%s\",o)},a),p)},Hj=()=>(i,o)=>{let a=ra.serializeQueryParameters(o),p=Lj.createHmac(\"sha256\",i).update(a).digest(\"hex\");return Buffer.from(p+a).toString(\"base64\")},Ig=i=>(o,a)=>i.transporter.read({method:Ur.MethodEnum.Get,path:Ln.encode(\"1/keys/%s\",o)},a),qj=i=>o=>i.transporter.read({method:Ur.MethodEnum.Get,path:\"1/logs\"},o),Wj=()=>i=>{let o=Buffer.from(i,\"base64\").toString(\"ascii\"),a=/validUntil=(\\d+)/,p=o.match(a);if(p===null)throw _5();return parseInt(p[1],10)-Math.round(new Date().getTime()/1e3)},Vj=i=>o=>i.transporter.read({method:Ur.MethodEnum.Get,path:\"1/clusters/mapping/top\"},o),Gj=i=>(o,a)=>i.transporter.read({method:Ur.MethodEnum.Get,path:Ln.encode(\"1/clusters/mapping/%s\",o)},a),Yj=i=>o=>{let _=o||{},{retrieveMappings:a}=_,p=Dl(_,[\"retrieveMappings\"]);return a===!0&&(p.getClusters=!0),i.transporter.read({method:Ur.MethodEnum.Get,path:\"1/clusters/mapping/pending\"},p)},bg=i=>(o,a={})=>{let p={transporter:i.transporter,appId:i.appId,indexName:o};return Ln.addMethods(p,a.methods)},Kj=i=>o=>i.transporter.read({method:Ur.MethodEnum.Get,path:\"1/keys\"},o),Xj=i=>o=>i.transporter.read({method:Ur.MethodEnum.Get,path:\"1/clusters\"},o),Qj=i=>o=>i.transporter.read({method:Ur.MethodEnum.Get,path:\"1/indexes\"},o),Jj=i=>o=>i.transporter.read({method:Ur.MethodEnum.Get,path:\"1/clusters/mapping\"},o),Zj=i=>(o,a,p)=>{let _=(t,k)=>bg(i)(o,{methods:{waitTask:Co}}).waitTask(t.taskID,k);return Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Post,path:Ln.encode(\"1/indexes/%s/operation\",o),data:{operation:\"move\",destination:a}},p),_)},$j=i=>(o,a)=>{let p=(_,t)=>Promise.all(Object.keys(_.taskID).map(k=>bg(i)(k,{methods:{waitTask:Co}}).waitTask(_.taskID[k],t)));return Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Post,path:\"1/indexes/*/batch\",data:{requests:o}},a),p)},ez=i=>(o,a)=>i.transporter.read({method:Ur.MethodEnum.Post,path:\"1/indexes/*/objects\",data:{requests:o}},a),tz=i=>(o,a)=>{let p=o.map(_=>Zr(Ht({},_),{params:ra.serializeQueryParameters(_.params||{})}));return i.transporter.read({method:Ur.MethodEnum.Post,path:\"1/indexes/*/queries\",data:{requests:p},cacheable:!0},a)},nz=i=>(o,a)=>Promise.all(o.map(p=>{let L=p.params,{facetName:_,facetQuery:t}=L,k=Dl(L,[\"facetName\",\"facetQuery\"]);return bg(i)(p.indexName,{methods:{searchForFacetValues:E5}}).searchForFacetValues(_,t,Ht(Ht({},a),k))})),rz=i=>(o,a)=>{let p=ra.createMappedRequestOptions(a);return p.queryParameters[\"X-Algolia-User-ID\"]=o,i.transporter.write({method:Ur.MethodEnum.Delete,path:\"1/clusters/mapping\"},p)},iz=i=>(o,a)=>{let p=(_,t)=>Ln.createRetryablePromise(k=>Ig(i)(o,t).catch(L=>{if(L.status!==404)throw L;return k()}));return Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Post,path:Ln.encode(\"1/keys/%s/restore\",o)},a),p)},uz=i=>(o,a)=>i.transporter.read({method:Ur.MethodEnum.Post,path:\"1/clusters/mapping/search\",data:{query:o}},a),oz=i=>(o,a)=>{let p=Object.assign({},a),U=a||{},{queryParameters:_}=U,t=Dl(U,[\"queryParameters\"]),k=_?{queryParameters:_}:{},L=[\"acl\",\"indexes\",\"referers\",\"restrictSources\",\"queryParameters\",\"description\",\"maxQueriesPerIPPerHour\",\"maxHitsPerQuery\"],O=H=>Object.keys(p).filter(W=>L.indexOf(W)!==-1).every(W=>H[W]===p[W]),C=(H,W)=>Ln.createRetryablePromise(ne=>Ig(i)(o,W).then(m=>O(m)?Promise.resolve():ne()));return Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Put,path:Ln.encode(\"1/keys/%s\",o),data:k},t),C)},D5=i=>(o,a)=>{let p=(_,t)=>Co(i)(_.taskID,t);return Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Post,path:Ln.encode(\"1/indexes/%s/batch\",i.indexName),data:{requests:o}},a),p)},lz=i=>o=>w4(Zr(Ht({},o),{shouldStop:a=>a.cursor===void 0,request:a=>i.transporter.read({method:Ur.MethodEnum.Post,path:Ln.encode(\"1/indexes/%s/browse\",i.indexName),data:a},o)})),sz=i=>o=>{let a=Ht({hitsPerPage:1e3},o);return w4(Zr(Ht({},a),{shouldStop:p=>p.hits.length<a.hitsPerPage,request(p){return w5(i)(\"\",Ht(Ht({},a),p)).then(_=>Zr(Ht({},_),{hits:_.hits.map(t=>(delete t._highlightResult,t))}))}}))},az=i=>o=>{let a=Ht({hitsPerPage:1e3},o);return w4(Zr(Ht({},a),{shouldStop:p=>p.hits.length<a.hitsPerPage,request(p){return S5(i)(\"\",Ht(Ht({},a),p)).then(_=>Zr(Ht({},_),{hits:_.hits.map(t=>(delete t._highlightResult,t))}))}}))},C4=i=>(o,a,p)=>{let O=p||{},{batchSize:_}=O,t=Dl(O,[\"batchSize\"]),k={taskIDs:[],objectIDs:[]},L=(C=0)=>{let U=[],H;for(H=C;H<o.length&&(U.push(o[H]),U.length!==(_||1e3));H++);return U.length===0?Promise.resolve(k):D5(i)(U.map(W=>({action:a,body:W})),t).then(W=>(k.objectIDs=k.objectIDs.concat(W.objectIDs),k.taskIDs.push(W.taskID),H++,L(H)))};return Ln.createWaitablePromise(L(),(C,U)=>Promise.all(C.taskIDs.map(H=>Co(i)(H,U))))},fz=i=>o=>Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Post,path:Ln.encode(\"1/indexes/%s/clear\",i.indexName)},o),(a,p)=>Co(i)(a.taskID,p)),cz=i=>o=>{let t=o||{},{forwardToReplicas:a}=t,p=Dl(t,[\"forwardToReplicas\"]),_=ra.createMappedRequestOptions(p);return a&&(_.queryParameters.forwardToReplicas=1),Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Post,path:Ln.encode(\"1/indexes/%s/rules/clear\",i.indexName)},_),(k,L)=>Co(i)(k.taskID,L))},dz=i=>o=>{let t=o||{},{forwardToReplicas:a}=t,p=Dl(t,[\"forwardToReplicas\"]),_=ra.createMappedRequestOptions(p);return a&&(_.queryParameters.forwardToReplicas=1),Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Post,path:Ln.encode(\"1/indexes/%s/synonyms/clear\",i.indexName)},_),(k,L)=>Co(i)(k.taskID,L))},pz=i=>(o,a)=>Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Post,path:Ln.encode(\"1/indexes/%s/deleteByQuery\",i.indexName),data:o},a),(p,_)=>Co(i)(p.taskID,_)),hz=i=>o=>Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Delete,path:Ln.encode(\"1/indexes/%s\",i.indexName)},o),(a,p)=>Co(i)(a.taskID,p)),vz=i=>(o,a)=>Ln.createWaitablePromise(T5(i)([o],a).then(p=>({taskID:p.taskIDs[0]})),(p,_)=>Co(i)(p.taskID,_)),T5=i=>(o,a)=>{let p=o.map(_=>({objectID:_}));return C4(i)(p,ah.DeleteObject,a)},mz=i=>(o,a)=>{let k=a||{},{forwardToReplicas:p}=k,_=Dl(k,[\"forwardToReplicas\"]),t=ra.createMappedRequestOptions(_);return p&&(t.queryParameters.forwardToReplicas=1),Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Delete,path:Ln.encode(\"1/indexes/%s/rules/%s\",i.indexName,o)},t),(L,O)=>Co(i)(L.taskID,O))},yz=i=>(o,a)=>{let k=a||{},{forwardToReplicas:p}=k,_=Dl(k,[\"forwardToReplicas\"]),t=ra.createMappedRequestOptions(_);return p&&(t.queryParameters.forwardToReplicas=1),Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Delete,path:Ln.encode(\"1/indexes/%s/synonyms/%s\",i.indexName,o)},t),(L,O)=>Co(i)(L.taskID,O))},gz=i=>o=>C5(i)(o).then(()=>!0).catch(a=>{if(a.status!==404)throw a;return!1}),_z=i=>(o,a)=>{let O=a||{},{query:p,paginate:_}=O,t=Dl(O,[\"query\",\"paginate\"]),k=0,L=()=>x5(i)(p||\"\",Zr(Ht({},t),{page:k})).then(C=>{for(let[U,H]of Object.entries(C.hits))if(o(H))return{object:H,position:parseInt(U,10),page:k};if(k++,_===!1||k>=C.nbPages)throw g5();return L()});return L()},Ez=i=>(o,a)=>i.transporter.read({method:Ur.MethodEnum.Get,path:Ln.encode(\"1/indexes/%s/%s\",i.indexName,o)},a),Dz=()=>(i,o)=>{for(let[a,p]of Object.entries(i.hits))if(p.objectID===o)return parseInt(a,10);return-1},wz=i=>(o,a)=>{let k=a||{},{attributesToRetrieve:p}=k,_=Dl(k,[\"attributesToRetrieve\"]),t=o.map(L=>Ht({indexName:i.indexName,objectID:L},p?{attributesToRetrieve:p}:{}));return i.transporter.read({method:Ur.MethodEnum.Post,path:\"1/indexes/*/objects\",data:{requests:t}},_)},Sz=i=>(o,a)=>i.transporter.read({method:Ur.MethodEnum.Get,path:Ln.encode(\"1/indexes/%s/rules/%s\",i.indexName,o)},a),C5=i=>o=>i.transporter.read({method:Ur.MethodEnum.Get,path:Ln.encode(\"1/indexes/%s/settings\",i.indexName),data:{getVersion:2}},o),Tz=i=>(o,a)=>i.transporter.read({method:Ur.MethodEnum.Get,path:Ln.encode(\"1/indexes/%s/synonyms/%s\",i.indexName,o)},a),R5=i=>(o,a)=>i.transporter.read({method:Ur.MethodEnum.Get,path:Ln.encode(\"1/indexes/%s/task/%s\",i.indexName,o.toString())},a),Cz=i=>(o,a)=>Ln.createWaitablePromise(A5(i)([o],a).then(p=>({objectID:p.objectIDs[0],taskID:p.taskIDs[0]})),(p,_)=>Co(i)(p.taskID,_)),A5=i=>(o,a)=>{let k=a||{},{createIfNotExists:p}=k,_=Dl(k,[\"createIfNotExists\"]),t=p?ah.PartialUpdateObject:ah.PartialUpdateObjectNoCreate;return C4(i)(o,t,_)},xz=i=>(o,a)=>{let m=a||{},{safe:p,autoGenerateObjectIDIfNotExist:_,batchSize:t}=m,k=Dl(m,[\"safe\",\"autoGenerateObjectIDIfNotExist\",\"batchSize\"]),L=(he,Ee,ve,se)=>Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Post,path:Ln.encode(\"1/indexes/%s/operation\",he),data:{operation:ve,destination:Ee}},se),(De,pe)=>Co(i)(De.taskID,pe)),O=Math.random().toString(36).substring(7),C=`${i.indexName}_tmp_${O}`,U=W3({appId:i.appId,transporter:i.transporter,indexName:C}),H=[],W=L(i.indexName,C,\"copy\",Zr(Ht({},k),{scope:[\"settings\",\"synonyms\",\"rules\"]}));H.push(W);let ne=(p?W.wait(k):W).then(()=>{let he=U(o,Zr(Ht({},k),{autoGenerateObjectIDIfNotExist:_,batchSize:t}));return H.push(he),p?he.wait(k):he}).then(()=>{let he=L(C,i.indexName,\"move\",k);return H.push(he),p?he.wait(k):he}).then(()=>Promise.all(H)).then(([he,Ee,ve])=>({objectIDs:Ee.objectIDs,taskIDs:[he.taskID,...Ee.taskIDs,ve.taskID]}));return Ln.createWaitablePromise(ne,(he,Ee)=>Promise.all(H.map(ve=>ve.wait(Ee))))},Rz=i=>(o,a)=>V3(i)(o,Zr(Ht({},a),{clearExistingRules:!0})),Az=i=>(o,a)=>G3(i)(o,Zr(Ht({},a),{replaceExistingSynonyms:!0})),Oz=i=>(o,a)=>Ln.createWaitablePromise(W3(i)([o],a).then(p=>({objectID:p.objectIDs[0],taskID:p.taskIDs[0]})),(p,_)=>Co(i)(p.taskID,_)),W3=i=>(o,a)=>{let k=a||{},{autoGenerateObjectIDIfNotExist:p}=k,_=Dl(k,[\"autoGenerateObjectIDIfNotExist\"]),t=p?ah.AddObject:ah.UpdateObject;if(t===ah.UpdateObject){for(let L of o)if(L.objectID===void 0)return Ln.createWaitablePromise(Promise.reject(y5()))}return C4(i)(o,t,_)},Mz=i=>(o,a)=>V3(i)([o],a),V3=i=>(o,a)=>{let L=a||{},{forwardToReplicas:p,clearExistingRules:_}=L,t=Dl(L,[\"forwardToReplicas\",\"clearExistingRules\"]),k=ra.createMappedRequestOptions(t);return p&&(k.queryParameters.forwardToReplicas=1),_&&(k.queryParameters.clearExistingRules=1),Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Post,path:Ln.encode(\"1/indexes/%s/rules/batch\",i.indexName),data:o},k),(O,C)=>Co(i)(O.taskID,C))},kz=i=>(o,a)=>G3(i)([o],a),G3=i=>(o,a)=>{let L=a||{},{forwardToReplicas:p,replaceExistingSynonyms:_}=L,t=Dl(L,[\"forwardToReplicas\",\"replaceExistingSynonyms\"]),k=ra.createMappedRequestOptions(t);return p&&(k.queryParameters.forwardToReplicas=1),_&&(k.queryParameters.replaceExistingSynonyms=1),Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Post,path:Ln.encode(\"1/indexes/%s/synonyms/batch\",i.indexName),data:o},k),(O,C)=>Co(i)(O.taskID,C))},x5=i=>(o,a)=>i.transporter.read({method:Ur.MethodEnum.Post,path:Ln.encode(\"1/indexes/%s/query\",i.indexName),data:{query:o},cacheable:!0},a),E5=i=>(o,a,p)=>i.transporter.read({method:Ur.MethodEnum.Post,path:Ln.encode(\"1/indexes/%s/facets/%s/query\",i.indexName,o),data:{facetQuery:a},cacheable:!0},p),w5=i=>(o,a)=>i.transporter.read({method:Ur.MethodEnum.Post,path:Ln.encode(\"1/indexes/%s/rules/search\",i.indexName),data:{query:o}},a),S5=i=>(o,a)=>i.transporter.read({method:Ur.MethodEnum.Post,path:Ln.encode(\"1/indexes/%s/synonyms/search\",i.indexName),data:{query:o}},a),Nz=i=>(o,a)=>{let k=a||{},{forwardToReplicas:p}=k,_=Dl(k,[\"forwardToReplicas\"]),t=ra.createMappedRequestOptions(_);return p&&(t.queryParameters.forwardToReplicas=1),Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Put,path:Ln.encode(\"1/indexes/%s/settings\",i.indexName),data:o},t),(L,O)=>Co(i)(L.taskID,O))},Co=i=>(o,a)=>Ln.createRetryablePromise(p=>R5(i)(o,a).then(_=>_.status!==\"published\"?p():void 0)),Lz={AddObject:\"addObject\",Analytics:\"analytics\",Browser:\"browse\",DeleteIndex:\"deleteIndex\",DeleteObject:\"deleteObject\",EditSettings:\"editSettings\",ListIndexes:\"listIndexes\",Logs:\"logs\",Recommendation:\"recommendation\",Search:\"search\",SeeUnretrievableAttributes:\"seeUnretrievableAttributes\",Settings:\"settings\",Usage:\"usage\"},ah={AddObject:\"addObject\",UpdateObject:\"updateObject\",PartialUpdateObject:\"partialUpdateObject\",PartialUpdateObjectNoCreate:\"partialUpdateObjectNoCreate\",DeleteObject:\"deleteObject\"},T4={Settings:\"settings\",Synonyms:\"synonyms\",Rules:\"rules\"},Fz={None:\"none\",StopIfEnoughMatches:\"stopIfEnoughMatches\"},Pz={Synonym:\"synonym\",OneWaySynonym:\"oneWaySynonym\",AltCorrection1:\"altCorrection1\",AltCorrection2:\"altCorrection2\",Placeholder:\"placeholder\"};tn.ApiKeyACLEnum=Lz;tn.BatchActionEnum=ah;tn.ScopeEnum=T4;tn.StrategyEnum=Fz;tn.SynonymEnum=Pz;tn.addApiKey=Pj;tn.assignUserID=Ij;tn.assignUserIDs=bj;tn.batch=D5;tn.browseObjects=lz;tn.browseRules=sz;tn.browseSynonyms=az;tn.chunkedBatch=C4;tn.clearObjects=fz;tn.clearRules=cz;tn.clearSynonyms=dz;tn.copyIndex=S4;tn.copyRules=Bj;tn.copySettings=Uj;tn.copySynonyms=jj;tn.createBrowsablePromise=w4;tn.createMissingObjectIDError=y5;tn.createObjectNotFoundError=g5;tn.createSearchClient=Fj;tn.createValidUntilNotFoundError=_5;tn.deleteApiKey=zj;tn.deleteBy=pz;tn.deleteIndex=hz;tn.deleteObject=vz;tn.deleteObjects=T5;tn.deleteRule=mz;tn.deleteSynonym=yz;tn.exists=gz;tn.findObject=_z;tn.generateSecuredApiKey=Hj;tn.getApiKey=Ig;tn.getLogs=qj;tn.getObject=Ez;tn.getObjectPosition=Dz;tn.getObjects=wz;tn.getRule=Sz;tn.getSecuredApiKeyRemainingValidity=Wj;tn.getSettings=C5;tn.getSynonym=Tz;tn.getTask=R5;tn.getTopUserIDs=Vj;tn.getUserID=Gj;tn.hasPendingMappings=Yj;tn.initIndex=bg;tn.listApiKeys=Kj;tn.listClusters=Xj;tn.listIndices=Qj;tn.listUserIDs=Jj;tn.moveIndex=Zj;tn.multipleBatch=$j;tn.multipleGetObjects=ez;tn.multipleQueries=tz;tn.multipleSearchForFacetValues=nz;tn.partialUpdateObject=Cz;tn.partialUpdateObjects=A5;tn.removeUserID=rz;tn.replaceAllObjects=xz;tn.replaceAllRules=Rz;tn.replaceAllSynonyms=Az;tn.restoreApiKey=iz;tn.saveObject=Oz;tn.saveObjects=W3;tn.saveRule=Mz;tn.saveRules=V3;tn.saveSynonym=kz;tn.saveSynonyms=G3;tn.search=x5;tn.searchForFacetValues=E5;tn.searchRules=w5;tn.searchSynonyms=S5;tn.searchUserIDs=uz;tn.setSettings=Nz;tn.updateApiKey=oz;tn.waitTask=Co});var k5=tt((UW,M5)=>{M5.exports=O5()});var N5=tt(x4=>{\"use strict\";Object.defineProperty(x4,\"__esModule\",{value:!0});function Iz(){return{debug(i,o){return Promise.resolve()},info(i,o){return Promise.resolve()},error(i,o){return Promise.resolve()}}}var bz={Debug:1,Info:2,Error:3};x4.LogLevelEnum=bz;x4.createNullLogger=Iz});var F5=tt((zW,L5)=>{L5.exports=N5()});var b5=tt(Y3=>{\"use strict\";Object.defineProperty(Y3,\"__esModule\",{value:!0});var P5=require(\"http\"),I5=require(\"https\"),Bz=require(\"url\");function Uz(){let i={keepAlive:!0},o=new P5.Agent(i),a=new I5.Agent(i);return{send(p){return new Promise(_=>{let t=Bz.parse(p.url),k=t.query===null?t.pathname:`${t.pathname}?${t.query}`,L=Ht({agent:t.protocol===\"https:\"?a:o,hostname:t.hostname,path:k,method:p.method,headers:p.headers},t.port!==void 0?{port:t.port||\"\"}:{}),O=(t.protocol===\"https:\"?I5:P5).request(L,W=>{let ne=\"\";W.on(\"data\",m=>ne+=m),W.on(\"end\",()=>{clearTimeout(U),clearTimeout(H),_({status:W.statusCode||0,content:ne,isTimedOut:!1})})}),C=(W,ne)=>setTimeout(()=>{O.abort(),_({status:0,content:ne,isTimedOut:!0})},W*1e3),U=C(p.connectTimeout,\"Connection timeout\"),H;O.on(\"error\",W=>{clearTimeout(U),clearTimeout(H),_({status:0,content:W.message,isTimedOut:!1})}),O.once(\"response\",()=>{clearTimeout(U),H=C(p.responseTimeout,\"Socket timeout\")}),p.data!==void 0&&O.write(p.data),O.end()})},destroy(){return o.destroy(),a.destroy(),Promise.resolve()}}}Y3.createNodeHttpRequester=Uz});var U5=tt((qW,B5)=>{B5.exports=b5()});var q5=tt((WW,j5)=>{\"use strict\";var z5=Ux(),jz=Hx(),tm=d5(),K3=kg(),X3=m5(),wn=k5(),zz=F5(),Hz=U5(),qz=Lg();function H5(i,o,a){let p={appId:i,apiKey:o,timeouts:{connect:2,read:5,write:30},requester:Hz.createNodeHttpRequester(),logger:zz.createNullLogger(),responsesCache:z5.createNullCache(),requestsCache:z5.createNullCache(),hostsCache:jz.createInMemoryCache(),userAgent:qz.createUserAgent(K3.version).add({segment:\"Node.js\",version:process.versions.node})};return wn.createSearchClient(Zr(Ht(Ht({},p),a),{methods:{search:wn.multipleQueries,searchForFacetValues:wn.multipleSearchForFacetValues,multipleBatch:wn.multipleBatch,multipleGetObjects:wn.multipleGetObjects,multipleQueries:wn.multipleQueries,copyIndex:wn.copyIndex,copySettings:wn.copySettings,copyRules:wn.copyRules,copySynonyms:wn.copySynonyms,moveIndex:wn.moveIndex,listIndices:wn.listIndices,getLogs:wn.getLogs,listClusters:wn.listClusters,multipleSearchForFacetValues:wn.multipleSearchForFacetValues,getApiKey:wn.getApiKey,addApiKey:wn.addApiKey,listApiKeys:wn.listApiKeys,updateApiKey:wn.updateApiKey,deleteApiKey:wn.deleteApiKey,restoreApiKey:wn.restoreApiKey,assignUserID:wn.assignUserID,assignUserIDs:wn.assignUserIDs,getUserID:wn.getUserID,searchUserIDs:wn.searchUserIDs,listUserIDs:wn.listUserIDs,getTopUserIDs:wn.getTopUserIDs,removeUserID:wn.removeUserID,hasPendingMappings:wn.hasPendingMappings,generateSecuredApiKey:wn.generateSecuredApiKey,getSecuredApiKeyRemainingValidity:wn.getSecuredApiKeyRemainingValidity,destroy:K3.destroy,initIndex:_=>t=>wn.initIndex(_)(t,{methods:{batch:wn.batch,delete:wn.deleteIndex,getObject:wn.getObject,getObjects:wn.getObjects,saveObject:wn.saveObject,saveObjects:wn.saveObjects,search:wn.search,searchForFacetValues:wn.searchForFacetValues,waitTask:wn.waitTask,setSettings:wn.setSettings,getSettings:wn.getSettings,partialUpdateObject:wn.partialUpdateObject,partialUpdateObjects:wn.partialUpdateObjects,deleteObject:wn.deleteObject,deleteObjects:wn.deleteObjects,deleteBy:wn.deleteBy,clearObjects:wn.clearObjects,browseObjects:wn.browseObjects,getObjectPosition:wn.getObjectPosition,findObject:wn.findObject,exists:wn.exists,saveSynonym:wn.saveSynonym,saveSynonyms:wn.saveSynonyms,getSynonym:wn.getSynonym,searchSynonyms:wn.searchSynonyms,browseSynonyms:wn.browseSynonyms,deleteSynonym:wn.deleteSynonym,clearSynonyms:wn.clearSynonyms,replaceAllObjects:wn.replaceAllObjects,replaceAllSynonyms:wn.replaceAllSynonyms,searchRules:wn.searchRules,getRule:wn.getRule,deleteRule:wn.deleteRule,saveRule:wn.saveRule,saveRules:wn.saveRules,replaceAllRules:wn.replaceAllRules,browseRules:wn.browseRules,clearRules:wn.clearRules}}),initAnalytics:()=>_=>tm.createAnalyticsClient(Zr(Ht(Ht({},p),_),{methods:{addABTest:tm.addABTest,getABTest:tm.getABTest,getABTests:tm.getABTests,stopABTest:tm.stopABTest,deleteABTest:tm.deleteABTest}})),initRecommendation:()=>_=>X3.createRecommendationClient(Zr(Ht(Ht({},p),_),{methods:{getPersonalizationStrategy:X3.getPersonalizationStrategy,setPersonalizationStrategy:X3.setPersonalizationStrategy}}))}}))}H5.version=K3.version;j5.exports=H5});var V5=tt((VW,Q3)=>{var W5=q5();Q3.exports=W5;Q3.exports.default=W5});var Jz={};YF(Jz,{default:()=>$z});var Y5=vu(require(\"@yarnpkg/cli\")),fh=vu(require(\"@yarnpkg/core\"));var xx=vu(lc()),oh=vu(Mi()),d4=(0,oh.memo)(({active:i})=>{let o=(0,oh.useMemo)(()=>i?\"\\u25C9\":\"\\u25EF\",[i]),a=(0,oh.useMemo)(()=>i?\"green\":\"yellow\",[i]);return oh.default.createElement(xx.Text,{color:a},o)});var y2=vu(lc()),na=vu(Mi());var Rx=vu(lc()),p4=vu(Mi());function m2({active:i},o,a){let{stdin:p}=(0,Rx.useStdin)(),_=(0,p4.useCallback)((t,k)=>o(t,k),a);(0,p4.useEffect)(()=>{if(!(!i||!p))return p.on(\"keypress\",_),()=>{p.off(\"keypress\",_)}},[i,_,p])}var h4;(function(a){a.BEFORE=\"before\",a.AFTER=\"after\"})(h4||(h4={}));var Ax=function({active:i},o,a){m2({active:i},(p,_)=>{_.name===\"tab\"&&(_.shift?o(h4.BEFORE):o(h4.AFTER))},a)};var v4=function(i,o,{active:a,minus:p,plus:_,set:t,loop:k=!0}){m2({active:a},(L,O)=>{let C=o.indexOf(i);switch(O.name){case p:{let U=C-1;if(k){t(o[(o.length+U)%o.length]);return}if(U<0)return;t(o[U])}break;case _:{let U=C+1;if(k){t(o[U%o.length]);return}if(U>=o.length)return;t(o[U])}break}},[o,i,_,t,k])};var m4=({active:i=!0,children:o=[],radius:a=10,size:p=1,loop:_=!0,onFocusRequest:t,willReachEnd:k})=>{let L=Ee=>{if(Ee.key===null)throw new Error(\"Expected all children to have a key\");return Ee.key},O=na.default.Children.map(o,Ee=>L(Ee)),C=O[0],[U,H]=(0,na.useState)(C),W=O.indexOf(U);(0,na.useEffect)(()=>{O.includes(U)||H(C)},[o]),(0,na.useEffect)(()=>{k&&W>=O.length-2&&k()},[W]),Ax({active:i&&!!t},Ee=>{t==null||t(Ee)},[t]),v4(U,O,{active:i,minus:\"up\",plus:\"down\",set:H,loop:_});let ne=W-a,m=W+a;m>O.length&&(ne-=m-O.length,m=O.length),ne<0&&(m+=-ne,ne=0),m>=O.length&&(m=O.length-1);let he=[];for(let Ee=ne;Ee<=m;++Ee){let ve=O[Ee],se=i&&ve===U;he.push(na.default.createElement(y2.Box,{key:ve,height:p},na.default.createElement(y2.Box,{marginLeft:1,marginRight:1},na.default.createElement(y2.Text,null,se?na.default.createElement(y2.Text,{color:\"cyan\",bold:!0},\">\"):\" \")),na.default.createElement(y2.Box,null,na.default.cloneElement(o[Ee],{active:se}))))}return na.default.createElement(y2.Box,{flexDirection:\"column\",width:\"100%\"},he)};var y4=vu(Mi());var Ox=vu(lc()),ed=vu(Mi()),Mx=vu(require(\"readline\")),N3=ed.default.createContext(null),kx=({children:i})=>{let{stdin:o,setRawMode:a}=(0,Ox.useStdin)();(0,ed.useEffect)(()=>{a&&a(!0),o&&(0,Mx.emitKeypressEvents)(o)},[o,a]);let[p,_]=(0,ed.useState)(new Map),t=(0,ed.useMemo)(()=>({getAll:()=>p,get:k=>p.get(k),set:(k,L)=>_(new Map([...p,[k,L]]))}),[p,_]);return ed.default.createElement(N3.Provider,{value:t,children:i})};function lh(i,o){let a=(0,y4.useContext)(N3);if(a===null)throw new Error(\"Expected this hook to run with a ministore context attached\");if(typeof i==\"undefined\")return a.getAll();let p=(0,y4.useCallback)(t=>{a.set(i,t)},[i,a.set]),_=a.get(i);return typeof _==\"undefined\"&&(_=o),[_,p]}var g4=vu(lc()),L3=vu(Mi());async function _4(i,o,{stdin:a,stdout:p,stderr:_}={}){let t,k=O=>{let{exit:C}=(0,g4.useApp)();m2({active:!0},(U,H)=>{H.name===\"return\"&&(t=O,C())},[C,O])},{waitUntilExit:L}=(0,g4.render)(L3.default.createElement(kx,null,L3.default.createElement(i,Zr(Ht({},o),{useSubmit:k}))),{stdin:a,stdout:p,stderr:_});return await L(),t}var K5=vu(require(\"clipanion\")),X5=vu(Px()),or=vu(lc()),En=vu(Mi());var G5=vu(V5()),J3={appId:\"OFCNCOG2CU\",apiKey:\"6fe4476ee5a1832882e326b506d14126\",indexName:\"npm-search\"},Wz=(0,G5.default)(J3.appId,J3.apiKey).initIndex(J3.indexName),Z3=async(i,o=0)=>await Wz.search(i,{analyticsTags:[\"yarn-plugin-interactive-tools\"],attributesToRetrieve:[\"name\",\"version\",\"owner\",\"repository\",\"humanDownloadsLast30Days\"],page:o,hitsPerPage:10});var Bg=[\"regular\",\"dev\",\"peer\"],Ug=class extends Y5.BaseCommand{async execute(){let o=await fh.Configuration.find(this.context.cwd,this.context.plugins),a=()=>En.default.createElement(or.Box,{flexDirection:\"row\"},En.default.createElement(or.Box,{flexDirection:\"column\",width:48},En.default.createElement(or.Box,null,En.default.createElement(or.Text,null,\"Press \",En.default.createElement(or.Text,{bold:!0,color:\"cyanBright\"},\"<up>\"),\"/\",En.default.createElement(or.Text,{bold:!0,color:\"cyanBright\"},\"<down>\"),\" to move between packages.\")),En.default.createElement(or.Box,null,En.default.createElement(or.Text,null,\"Press \",En.default.createElement(or.Text,{bold:!0,color:\"cyanBright\"},\"<space>\"),\" to select a package.\")),En.default.createElement(or.Box,null,En.default.createElement(or.Text,null,\"Press \",En.default.createElement(or.Text,{bold:!0,color:\"cyanBright\"},\"<space>\"),\" again to change the target.\"))),En.default.createElement(or.Box,{flexDirection:\"column\"},En.default.createElement(or.Box,{marginLeft:1},En.default.createElement(or.Text,null,\"Press \",En.default.createElement(or.Text,{bold:!0,color:\"cyanBright\"},\"<enter>\"),\" to install the selected packages.\")),En.default.createElement(or.Box,{marginLeft:1},En.default.createElement(or.Text,null,\"Press \",En.default.createElement(or.Text,{bold:!0,color:\"cyanBright\"},\"<ctrl+c>\"),\" to abort.\")))),p=()=>En.default.createElement(En.default.Fragment,null,En.default.createElement(or.Box,{width:15},En.default.createElement(or.Text,{bold:!0,underline:!0,color:\"gray\"},\"Owner\")),En.default.createElement(or.Box,{width:11},En.default.createElement(or.Text,{bold:!0,underline:!0,color:\"gray\"},\"Version\")),En.default.createElement(or.Box,{width:10},En.default.createElement(or.Text,{bold:!0,underline:!0,color:\"gray\"},\"Downloads\"))),_=()=>En.default.createElement(or.Box,{width:17},En.default.createElement(or.Text,{bold:!0,underline:!0,color:\"gray\"},\"Target\")),t=({hit:ne,active:m})=>{let[he,Ee]=lh(ne.name,null);m2({active:m},(De,pe)=>{if(pe.name!==\"space\")return;if(!he){Ee(Bg[0]);return}let me=Bg.indexOf(he)+1;me===Bg.length?Ee(null):Ee(Bg[me])},[he,Ee]);let ve=fh.structUtils.parseIdent(ne.name),se=fh.structUtils.prettyIdent(o,ve);return En.default.createElement(or.Box,null,En.default.createElement(or.Box,{width:45},En.default.createElement(or.Text,{bold:!0,wrap:\"wrap\"},se)),En.default.createElement(or.Box,{width:14,marginLeft:1},En.default.createElement(or.Text,{bold:!0,wrap:\"truncate\"},ne.owner.name)),En.default.createElement(or.Box,{width:10,marginLeft:1},En.default.createElement(or.Text,{italic:!0,wrap:\"truncate\"},ne.version)),En.default.createElement(or.Box,{width:16,marginLeft:1},En.default.createElement(or.Text,null,ne.humanDownloadsLast30Days)))},k=({name:ne,active:m})=>{let[he]=lh(ne,null),Ee=fh.structUtils.parseIdent(ne);return En.default.createElement(or.Box,null,En.default.createElement(or.Box,{width:47},En.default.createElement(or.Text,{bold:!0},\" - \",fh.structUtils.prettyIdent(o,Ee))),Bg.map(ve=>En.default.createElement(or.Box,{key:ve,width:14,marginLeft:1},En.default.createElement(or.Text,null,\" \",En.default.createElement(d4,{active:he===ve}),\" \",En.default.createElement(or.Text,{bold:!0},ve)))))},L=()=>En.default.createElement(or.Box,{marginTop:1},En.default.createElement(or.Text,null,\"Powered by Algolia.\")),C=await _4(({useSubmit:ne})=>{let m=lh();ne(m);let he=Array.from(m.keys()).filter(qe=>m.get(qe)!==null),[Ee,ve]=(0,En.useState)(\"\"),[se,De]=(0,En.useState)(0),[pe,me]=(0,En.useState)([]),ie=qe=>{qe.match(/\\t| /)||ve(qe)},Oe=async()=>{De(0);let qe=await Z3(Ee);qe.query===Ee&&me(qe.hits)},je=async()=>{let qe=await Z3(Ee,se+1);qe.query===Ee&&qe.page-1===se&&(De(qe.page),me([...pe,...qe.hits]))};return(0,En.useEffect)(()=>{Ee?Oe():me([])},[Ee]),En.default.createElement(or.Box,{flexDirection:\"column\"},En.default.createElement(a,null),En.default.createElement(or.Box,{flexDirection:\"row\",marginTop:1},En.default.createElement(or.Text,{bold:!0},\"Search: \"),En.default.createElement(or.Box,{width:41},En.default.createElement(X5.default,{value:Ee,onChange:ie,placeholder:\"i.e. babel, webpack, react...\",showCursor:!1})),En.default.createElement(p,null)),pe.length?En.default.createElement(m4,{radius:2,loop:!1,children:pe.map(qe=>En.default.createElement(t,{key:qe.name,hit:qe,active:!1})),willReachEnd:je}):En.default.createElement(or.Text,{color:\"gray\"},\"Start typing...\"),En.default.createElement(or.Box,{flexDirection:\"row\",marginTop:1},En.default.createElement(or.Box,{width:49},En.default.createElement(or.Text,{bold:!0},\"Selected:\")),En.default.createElement(_,null)),he.length?he.map(qe=>En.default.createElement(k,{key:qe,name:qe,active:!1})):En.default.createElement(or.Text,{color:\"gray\"},\"No selected packages...\"),En.default.createElement(L,null))},{},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof C==\"undefined\")return 1;let U=Array.from(C.keys()).filter(ne=>C.get(ne)===\"regular\"),H=Array.from(C.keys()).filter(ne=>C.get(ne)===\"dev\"),W=Array.from(C.keys()).filter(ne=>C.get(ne)===\"peer\");return U.length&&await this.cli.run([\"add\",...U]),H.length&&await this.cli.run([\"add\",\"--dev\",...H]),W&&await this.cli.run([\"add\",\"--peer\",...W]),0}};Ug.paths=[[\"search\"]],Ug.usage=K5.Command.Usage({category:\"Interactive commands\",description:\"open the search interface\",details:`\n    This command opens a fullscreen terminal interface where you can search for and install packages from the npm registry.\n    `,examples:[[\"Open the search window\",\"yarn search\"]]});var Q5=Ug;var O4=vu(require(\"@yarnpkg/cli\")),xo=vu(require(\"@yarnpkg/core\"));var jg=vu(lc()),_2=vu(Mi());var J5=vu(lc()),Z5=vu(Mi()),R4=({length:i,active:o})=>{if(i===0)return null;let a=i>1?` ${\"-\".repeat(i-1)}`:\" \";return Z5.default.createElement(J5.Text,{dimColor:!o},a)};var $5=function({active:i,skewer:o,options:a,value:p,onChange:_,sizes:t=[]}){let k=a.filter(({label:O})=>!!O).map(({value:O})=>O),L=a.findIndex(O=>O.value===p&&O.label!=\"\");return v4(p,k,{active:i,minus:\"left\",plus:\"right\",set:_}),_2.default.createElement(_2.default.Fragment,null,a.map(({label:O},C)=>{let U=C===L,H=t[C]-1||0,W=O.replace(/[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,\"\"),ne=Math.max(0,H-W.length-2);return O?_2.default.createElement(jg.Box,{key:O,width:H,marginLeft:1},_2.default.createElement(jg.Text,{wrap:\"truncate\"},_2.default.createElement(d4,{active:U}),\" \",O),o?_2.default.createElement(R4,{active:i,length:ne}):null):_2.default.createElement(jg.Box,{key:`spacer-${C}`,width:H,marginLeft:1})}))};var i9=vu(require(\"@yarnpkg/plugin-essentials\")),M4=vu(require(\"clipanion\"));function td(){}td.prototype={diff:function(o,a){var p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},_=p.callback;typeof p==\"function\"&&(_=p,p={}),this.options=p;var t=this;function k(he){return _?(setTimeout(function(){_(void 0,he)},0),!0):he}o=this.castInput(o),a=this.castInput(a),o=this.removeEmpty(this.tokenize(o)),a=this.removeEmpty(this.tokenize(a));var L=a.length,O=o.length,C=1,U=L+O;p.maxEditLength&&(U=Math.min(U,p.maxEditLength));var H=[{newPos:-1,components:[]}],W=this.extractCommon(H[0],a,o,0);if(H[0].newPos+1>=L&&W+1>=O)return k([{value:this.join(a),count:a.length}]);function ne(){for(var he=-1*C;he<=C;he+=2){var Ee=void 0,ve=H[he-1],se=H[he+1],De=(se?se.newPos:0)-he;ve&&(H[he-1]=void 0);var pe=ve&&ve.newPos+1<L,me=se&&0<=De&&De<O;if(!pe&&!me){H[he]=void 0;continue}if(!pe||me&&ve.newPos<se.newPos?(Ee=Gz(se),t.pushComponent(Ee.components,void 0,!0)):(Ee=ve,Ee.newPos++,t.pushComponent(Ee.components,!0,void 0)),De=t.extractCommon(Ee,a,o,he),Ee.newPos+1>=L&&De+1>=O)return k(Vz(t,Ee.components,a,o,t.useLongestToken));H[he]=Ee}C++}if(_)(function he(){setTimeout(function(){if(C>U)return _();ne()||he()},0)})();else for(;C<=U;){var m=ne();if(m)return m}},pushComponent:function(o,a,p){var _=o[o.length-1];_&&_.added===a&&_.removed===p?o[o.length-1]={count:_.count+1,added:a,removed:p}:o.push({count:1,added:a,removed:p})},extractCommon:function(o,a,p,_){for(var t=a.length,k=p.length,L=o.newPos,O=L-_,C=0;L+1<t&&O+1<k&&this.equals(a[L+1],p[O+1]);)L++,O++,C++;return C&&o.components.push({count:C}),o.newPos=L,O},equals:function(o,a){return this.options.comparator?this.options.comparator(o,a):o===a||this.options.ignoreCase&&o.toLowerCase()===a.toLowerCase()},removeEmpty:function(o){for(var a=[],p=0;p<o.length;p++)o[p]&&a.push(o[p]);return a},castInput:function(o){return o},tokenize:function(o){return o.split(\"\")},join:function(o){return o.join(\"\")}};function Vz(i,o,a,p,_){for(var t=0,k=o.length,L=0,O=0;t<k;t++){var C=o[t];if(C.removed){if(C.value=i.join(p.slice(O,O+C.count)),O+=C.count,t&&o[t-1].added){var H=o[t-1];o[t-1]=o[t],o[t]=H}}else{if(!C.added&&_){var U=a.slice(L,L+C.count);U=U.map(function(ne,m){var he=p[O+m];return he.length>ne.length?he:ne}),C.value=i.join(U)}else C.value=i.join(a.slice(L,L+C.count));L+=C.count,C.added||(O+=C.count)}}var W=o[k-1];return k>1&&typeof W.value==\"string\"&&(W.added||W.removed)&&i.equals(\"\",W.value)&&(o[k-2].value+=W.value,o.pop()),o}function Gz(i){return{newPos:i.newPos,components:i.components.slice(0)}}var aV=new td;function Yz(i,o){if(typeof i==\"function\")o.callback=i;else if(i)for(var a in i)i.hasOwnProperty(a)&&(o[a]=i[a]);return o}var e9=/^[A-Za-z\\xC0-\\u02C6\\u02C8-\\u02D7\\u02DE-\\u02FF\\u1E00-\\u1EFF]+$/,t9=/\\S/,$3=new td;$3.equals=function(i,o){return this.options.ignoreCase&&(i=i.toLowerCase(),o=o.toLowerCase()),i===o||this.options.ignoreWhitespace&&!t9.test(i)&&!t9.test(o)};$3.tokenize=function(i){for(var o=i.split(/([^\\S\\r\\n]+|[()[\\]{}'\"\\r\\n]|\\b)/),a=0;a<o.length-1;a++)!o[a+1]&&o[a+2]&&e9.test(o[a])&&e9.test(o[a+2])&&(o[a]+=o[a+2],o.splice(a+1,2),a--);return o};function n9(i,o,a){return a=Yz(a,{ignoreWhitespace:!0}),$3.diff(i,o,a)}var r9=new td;r9.tokenize=function(i){var o=[],a=i.split(/(\\n|\\r\\n)/);a[a.length-1]||a.pop();for(var p=0;p<a.length;p++){var _=a[p];p%2&&!this.options.newlineIsToken?o[o.length-1]+=_:(this.options.ignoreWhitespace&&(_=_.trim()),o.push(_))}return o};var Kz=new td;Kz.tokenize=function(i){return i.split(/(\\S.+?[.!?])(?=\\s+|$)/)};var Xz=new td;Xz.tokenize=function(i){return i.split(/([{}:;,]|\\s+)/)};function A4(i){return typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?A4=function(o){return typeof o}:A4=function(o){return o&&typeof Symbol==\"function\"&&o.constructor===Symbol&&o!==Symbol.prototype?\"symbol\":typeof o},A4(i)}var Qz=Object.prototype.toString,zg=new td;zg.useLongestToken=!0;zg.tokenize=r9.tokenize;zg.castInput=function(i){var o=this.options,a=o.undefinedReplacement,p=o.stringifyReplacer,_=p===void 0?function(t,k){return typeof k==\"undefined\"?a:k}:p;return typeof i==\"string\"?i:JSON.stringify(ew(i,null,null,_),_,\"  \")};zg.equals=function(i,o){return td.prototype.equals.call(zg,i.replace(/,([\\r\\n])/g,\"$1\"),o.replace(/,([\\r\\n])/g,\"$1\"))};function ew(i,o,a,p,_){o=o||[],a=a||[],p&&(i=p(_,i));var t;for(t=0;t<o.length;t+=1)if(o[t]===i)return a[t];var k;if(Qz.call(i)===\"[object Array]\"){for(o.push(i),k=new Array(i.length),a.push(k),t=0;t<i.length;t+=1)k[t]=ew(i[t],o,a,p,_);return o.pop(),a.pop(),k}if(i&&i.toJSON&&(i=i.toJSON()),A4(i)===\"object\"&&i!==null){o.push(i),k={},a.push(k);var L=[],O;for(O in i)i.hasOwnProperty(O)&&L.push(O);for(L.sort(),t=0;t<L.length;t+=1)O=L[t],k[O]=ew(i[O],o,a,p,O);o.pop(),a.pop()}else k=i;return k}var tw=new td;tw.tokenize=function(i){return i.slice()};tw.join=tw.removeEmpty=function(i){return i};var bi=vu(lc()),Tr=vu(Mi()),u9=vu(require(\"semver\")),o9=/^((?:[\\^~]|>=?)?)([0-9]+)(\\.[0-9]+)(\\.[0-9]+)((?:-\\S+)?)$/,l9=(i,o)=>i.length>0?[i.slice(0,o)].concat(l9(i.slice(o),o)):[],Hg=class extends O4.BaseCommand{async execute(){if(!this.context.stdout.isTTY)throw new M4.UsageError(\"This command can only be run in a TTY environment\");let o=await xo.Configuration.find(this.context.cwd,this.context.plugins),{project:a,workspace:p}=await xo.Project.find(o,this.context.cwd),_=await xo.Cache.find(o);if(!p)throw new O4.WorkspaceRequiredError(a.cwd,this.context.cwd);await a.restoreInstallState({restoreResolutions:!1});let t=this.context.stdout.rows-7,k=(se,De)=>{let pe=n9(se,De),me=\"\";for(let ie of pe)ie.added?me+=xo.formatUtils.pretty(o,ie.value,\"green\"):ie.removed||(me+=ie.value);return me},L=(se,De)=>{if(se===De)return De;let pe=xo.structUtils.parseRange(se),me=xo.structUtils.parseRange(De),ie=pe.selector.match(o9),Oe=me.selector.match(o9);if(!ie||!Oe)return k(se,De);let je=[\"gray\",\"red\",\"yellow\",\"green\",\"magenta\"],qe=null,yt=\"\";for(let gt=1;gt<je.length;++gt)qe!==null||ie[gt]!==Oe[gt]?(qe===null&&(qe=je[gt-1]),yt+=xo.formatUtils.pretty(o,Oe[gt],qe)):yt+=Oe[gt];return yt},O=async(se,De,pe)=>{let me=await i9.suggestUtils.fetchDescriptorFrom(se,pe,{project:a,cache:_,preserveModifier:De,workspace:p});return me!==null?me.range:se.range},C=async se=>{let De=u9.default.valid(se.range)?`^${se.range}`:se.range,[pe,me]=await Promise.all([O(se,se.range,De).catch(()=>null),O(se,se.range,\"latest\").catch(()=>null)]),ie=[{value:null,label:se.range}];return pe&&pe!==se.range?ie.push({value:pe,label:L(se.range,pe)}):ie.push({value:null,label:\"\"}),me&&me!==pe&&me!==se.range?ie.push({value:me,label:L(se.range,me)}):ie.push({value:null,label:\"\"}),ie},U=()=>Tr.default.createElement(bi.Box,{flexDirection:\"row\"},Tr.default.createElement(bi.Box,{flexDirection:\"column\",width:49},Tr.default.createElement(bi.Box,{marginLeft:1},Tr.default.createElement(bi.Text,null,\"Press \",Tr.default.createElement(bi.Text,{bold:!0,color:\"cyanBright\"},\"<up>\"),\"/\",Tr.default.createElement(bi.Text,{bold:!0,color:\"cyanBright\"},\"<down>\"),\" to select packages.\")),Tr.default.createElement(bi.Box,{marginLeft:1},Tr.default.createElement(bi.Text,null,\"Press \",Tr.default.createElement(bi.Text,{bold:!0,color:\"cyanBright\"},\"<left>\"),\"/\",Tr.default.createElement(bi.Text,{bold:!0,color:\"cyanBright\"},\"<right>\"),\" to select versions.\"))),Tr.default.createElement(bi.Box,{flexDirection:\"column\"},Tr.default.createElement(bi.Box,{marginLeft:1},Tr.default.createElement(bi.Text,null,\"Press \",Tr.default.createElement(bi.Text,{bold:!0,color:\"cyanBright\"},\"<enter>\"),\" to install.\")),Tr.default.createElement(bi.Box,{marginLeft:1},Tr.default.createElement(bi.Text,null,\"Press \",Tr.default.createElement(bi.Text,{bold:!0,color:\"cyanBright\"},\"<ctrl+c>\"),\" to abort.\")))),H=()=>Tr.default.createElement(bi.Box,{flexDirection:\"row\",paddingTop:1,paddingBottom:1},Tr.default.createElement(bi.Box,{width:50},Tr.default.createElement(bi.Text,{bold:!0},Tr.default.createElement(bi.Text,{color:\"greenBright\"},\"?\"),\" Pick the packages you want to upgrade.\")),Tr.default.createElement(bi.Box,{width:17},Tr.default.createElement(bi.Text,{bold:!0,underline:!0,color:\"gray\"},\"Current\")),Tr.default.createElement(bi.Box,{width:17},Tr.default.createElement(bi.Text,{bold:!0,underline:!0,color:\"gray\"},\"Range\")),Tr.default.createElement(bi.Box,{width:17},Tr.default.createElement(bi.Text,{bold:!0,underline:!0,color:\"gray\"},\"Latest\"))),W=({active:se,descriptor:De,suggestions:pe})=>{let[me,ie]=lh(De.descriptorHash,null),Oe=xo.structUtils.stringifyIdent(De),je=Math.max(0,45-Oe.length);return Tr.default.createElement(Tr.default.Fragment,null,Tr.default.createElement(bi.Box,null,Tr.default.createElement(bi.Box,{width:45},Tr.default.createElement(bi.Text,{bold:!0},xo.structUtils.prettyIdent(o,De)),Tr.default.createElement(R4,{active:se,length:je})),Tr.default.createElement($5,{active:se,options:pe,value:me,skewer:!0,onChange:ie,sizes:[17,17,17]})))},ne=({dependencies:se})=>{let[De,pe]=(0,Tr.useState)(se.map(()=>null)),me=(0,Tr.useRef)(!0),ie=async Oe=>{let je=await C(Oe);return je.filter(qe=>qe.label!==\"\").length<=1?null:{descriptor:Oe,suggestions:je}};return(0,Tr.useEffect)(()=>()=>{me.current=!1},[]),(0,Tr.useEffect)(()=>{let Oe=Math.trunc(t*1.75),je=se.slice(0,Oe),qe=se.slice(Oe),yt=l9(qe,t),gt=je.map(ie).reduce(async(Xe,ut)=>{await Xe;let We=await ut;We!==null&&(!me.current||pe(Ft=>{let Jt=Ft.findIndex(Q=>Q===null),rt=[...Ft];return rt[Jt]=We,rt}))},Promise.resolve());yt.reduce((Xe,ut)=>Promise.all(ut.map(We=>Promise.resolve().then(()=>ie(We)))).then(async We=>{We=We.filter(Ft=>Ft!==null),await Xe,me.current&&pe(Ft=>{let Jt=Ft.findIndex(rt=>rt===null);return Ft.slice(0,Jt).concat(We).concat(Ft.slice(Jt+We.length))})}),gt).then(()=>{me.current&&pe(Xe=>Xe.filter(ut=>ut!==null))})},[]),De.length?Tr.default.createElement(m4,{radius:t>>1,children:De.map((Oe,je)=>Oe!==null?Tr.default.createElement(W,{key:je,active:!1,descriptor:Oe.descriptor,suggestions:Oe.suggestions}):Tr.default.createElement(bi.Text,{key:je},\"Loading...\"))}):Tr.default.createElement(bi.Text,null,\"No upgrades found\")},he=await _4(({useSubmit:se})=>{se(lh());let De=new Map;for(let me of a.workspaces)for(let ie of[\"dependencies\",\"devDependencies\"])for(let Oe of me.manifest[ie].values())a.tryWorkspaceByDescriptor(Oe)===null&&De.set(Oe.descriptorHash,Oe);let pe=xo.miscUtils.sortMap(De.values(),me=>xo.structUtils.stringifyDescriptor(me));return Tr.default.createElement(bi.Box,{flexDirection:\"column\"},Tr.default.createElement(U,null),Tr.default.createElement(H,null),Tr.default.createElement(ne,{dependencies:pe}))},{},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof he==\"undefined\")return 1;let Ee=!1;for(let se of a.workspaces)for(let De of[\"dependencies\",\"devDependencies\"]){let pe=se.manifest[De];for(let me of pe.values()){let ie=he.get(me.descriptorHash);typeof ie!=\"undefined\"&&ie!==null&&(pe.set(me.identHash,xo.structUtils.makeDescriptor(me,ie)),Ee=!0)}}return Ee?(await xo.StreamReport.start({configuration:o,stdout:this.context.stdout,includeLogs:!this.context.quiet},async se=>{await a.install({cache:_,report:se})})).exitCode():0}};Hg.paths=[[\"upgrade-interactive\"]],Hg.usage=M4.Command.Usage({category:\"Interactive commands\",description:\"open the upgrade interface\",details:`\n      This command opens a fullscreen terminal interface where you can see any out of date packages used by your application, their status compared to the latest versions available on the remote registry, and select packages to upgrade.\n    `,examples:[[\"Open the upgrade window\",\"yarn upgrade-interactive\"]]});var s9=Hg;var Zz={commands:[Q5,s9]},$z=Zz;return Jz;})();\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n/**\n * @license\n * Lodash <https://lodash.com/>\n * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n/** @license React v0.0.0-experimental-51a3aa6af\n * react-debug-tools.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/** @license React v0.0.0-experimental-51a3aa6af\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/** @license React v0.0.0-experimental-51a3aa6af\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/** @license React v0.18.0\n * scheduler-tracing.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/** @license React v0.18.0\n * scheduler-tracing.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/** @license React v0.18.0\n * scheduler.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/** @license React v0.18.0\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/** @license React v0.24.0\n * react-reconciler.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/** @license React v0.24.0\n * react-reconciler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/** @license React v16.13.1\n * react.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/** @license React v16.13.1\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nreturn plugin;\n}\n};\n"
  },
  {
    "path": ".yarn/releases/yarn-3.4.1.cjs",
    "content": "#!/usr/bin/env node\n/* eslint-disable */\n//prettier-ignore\n(()=>{var Mue=Object.create;var Wb=Object.defineProperty;var Kue=Object.getOwnPropertyDescriptor;var Uue=Object.getOwnPropertyNames;var Hue=Object.getPrototypeOf,Gue=Object.prototype.hasOwnProperty;var J=(r=>typeof require<\"u\"?require:typeof Proxy<\"u\"?new Proxy(r,{get:(e,t)=>(typeof require<\"u\"?require:e)[t]}):r)(function(r){if(typeof require<\"u\")return require.apply(this,arguments);throw new Error('Dynamic require of \"'+r+'\" is not supported')});var Yue=(r,e)=>()=>(r&&(e=r(r=0)),e);var w=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),ut=(r,e)=>{for(var t in e)Wb(r,t,{get:e[t],enumerable:!0})},jue=(r,e,t,i)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of Uue(e))!Gue.call(r,n)&&n!==t&&Wb(r,n,{get:()=>e[n],enumerable:!(i=Kue(e,n))||i.enumerable});return r};var Pe=(r,e,t)=>(t=r!=null?Mue(Hue(r)):{},jue(e||!r||!r.__esModule?Wb(t,\"default\",{value:r,enumerable:!0}):t,r));var _1=w((O7e,X1)=>{X1.exports=V1;V1.sync=uge;var W1=J(\"fs\");function cge(r,e){var t=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!t||(t=t.split(\";\"),t.indexOf(\"\")!==-1))return!0;for(var i=0;i<t.length;i++){var n=t[i].toLowerCase();if(n&&r.substr(-n.length).toLowerCase()===n)return!0}return!1}function z1(r,e,t){return!r.isSymbolicLink()&&!r.isFile()?!1:cge(e,t)}function V1(r,e,t){W1.stat(r,function(i,n){t(i,i?!1:z1(n,r,e))})}function uge(r,e){return z1(W1.statSync(r),r,e)}});var rK=w((M7e,tK)=>{tK.exports=$1;$1.sync=gge;var Z1=J(\"fs\");function $1(r,e,t){Z1.stat(r,function(i,n){t(i,i?!1:eK(n,e))})}function gge(r,e){return eK(Z1.statSync(r),e)}function eK(r,e){return r.isFile()&&fge(r,e)}function fge(r,e){var t=r.mode,i=r.uid,n=r.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt(\"100\",8),l=parseInt(\"010\",8),c=parseInt(\"001\",8),u=a|l,g=t&c||t&l&&n===o||t&a&&i===s||t&u&&s===0;return g}});var nK=w((U7e,iK)=>{var K7e=J(\"fs\"),_E;process.platform===\"win32\"||global.TESTING_WINDOWS?_E=_1():_E=rK();iK.exports=uS;uS.sync=hge;function uS(r,e,t){if(typeof e==\"function\"&&(t=e,e={}),!t){if(typeof Promise!=\"function\")throw new TypeError(\"callback not provided\");return new Promise(function(i,n){uS(r,e||{},function(s,o){s?n(s):i(o)})})}_E(r,e||{},function(i,n){i&&(i.code===\"EACCES\"||e&&e.ignoreErrors)&&(i=null,n=!1),t(i,n)})}function hge(r,e){try{return _E.sync(r,e||{})}catch(t){if(e&&e.ignoreErrors||t.code===\"EACCES\")return!1;throw t}}});var uK=w((H7e,cK)=>{var Ig=process.platform===\"win32\"||process.env.OSTYPE===\"cygwin\"||process.env.OSTYPE===\"msys\",sK=J(\"path\"),pge=Ig?\";\":\":\",oK=nK(),aK=r=>Object.assign(new Error(`not found: ${r}`),{code:\"ENOENT\"}),AK=(r,e)=>{let t=e.colon||pge,i=r.match(/\\//)||Ig&&r.match(/\\\\/)?[\"\"]:[...Ig?[process.cwd()]:[],...(e.path||process.env.PATH||\"\").split(t)],n=Ig?e.pathExt||process.env.PATHEXT||\".EXE;.CMD;.BAT;.COM\":\"\",s=Ig?n.split(t):[\"\"];return Ig&&r.indexOf(\".\")!==-1&&s[0]!==\"\"&&s.unshift(\"\"),{pathEnv:i,pathExt:s,pathExtExe:n}},lK=(r,e,t)=>{typeof e==\"function\"&&(t=e,e={}),e||(e={});let{pathEnv:i,pathExt:n,pathExtExe:s}=AK(r,e),o=[],a=c=>new Promise((u,g)=>{if(c===i.length)return e.all&&o.length?u(o):g(aK(r));let f=i[c],h=/^\".*\"$/.test(f)?f.slice(1,-1):f,p=sK.join(h,r),C=!h&&/^\\.[\\\\\\/]/.test(r)?r.slice(0,2)+p:p;u(l(C,c,0))}),l=(c,u,g)=>new Promise((f,h)=>{if(g===n.length)return f(a(u+1));let p=n[g];oK(c+p,{pathExt:s},(C,y)=>{if(!C&&y)if(e.all)o.push(c+p);else return f(c+p);return f(l(c,u,g+1))})});return t?a(0).then(c=>t(null,c),t):a(0)},dge=(r,e)=>{e=e||{};let{pathEnv:t,pathExt:i,pathExtExe:n}=AK(r,e),s=[];for(let o=0;o<t.length;o++){let a=t[o],l=/^\".*\"$/.test(a)?a.slice(1,-1):a,c=sK.join(l,r),u=!l&&/^\\.[\\\\\\/]/.test(r)?r.slice(0,2)+c:c;for(let g=0;g<i.length;g++){let f=u+i[g];try{if(oK.sync(f,{pathExt:n}))if(e.all)s.push(f);else return f}catch{}}}if(e.all&&s.length)return s;if(e.nothrow)return null;throw aK(r)};cK.exports=lK;lK.sync=dge});var fK=w((G7e,gS)=>{\"use strict\";var gK=(r={})=>{let e=r.env||process.env;return(r.platform||process.platform)!==\"win32\"?\"PATH\":Object.keys(e).reverse().find(i=>i.toUpperCase()===\"PATH\")||\"Path\"};gS.exports=gK;gS.exports.default=gK});var CK=w((Y7e,dK)=>{\"use strict\";var hK=J(\"path\"),Cge=uK(),mge=fK();function pK(r,e){let t=r.options.env||process.env,i=process.cwd(),n=r.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(r.options.cwd)}catch{}let o;try{o=Cge.sync(r.command,{path:t[mge({env:t})],pathExt:e?hK.delimiter:void 0})}catch{}finally{s&&process.chdir(i)}return o&&(o=hK.resolve(n?r.options.cwd:\"\",o)),o}function Ege(r){return pK(r)||pK(r,!0)}dK.exports=Ege});var mK=w((j7e,hS)=>{\"use strict\";var fS=/([()\\][%!^\"`<>&|;, *?])/g;function Ige(r){return r=r.replace(fS,\"^$1\"),r}function yge(r,e){return r=`${r}`,r=r.replace(/(\\\\*)\"/g,'$1$1\\\\\"'),r=r.replace(/(\\\\*)$/,\"$1$1\"),r=`\"${r}\"`,r=r.replace(fS,\"^$1\"),e&&(r=r.replace(fS,\"^$1\")),r}hS.exports.command=Ige;hS.exports.argument=yge});var IK=w((q7e,EK)=>{\"use strict\";EK.exports=/^#!(.*)/});var wK=w((J7e,yK)=>{\"use strict\";var wge=IK();yK.exports=(r=\"\")=>{let e=r.match(wge);if(!e)return null;let[t,i]=e[0].replace(/#! ?/,\"\").split(\" \"),n=t.split(\"/\").pop();return n===\"env\"?i:i?`${n} ${i}`:n}});var QK=w((W7e,BK)=>{\"use strict\";var pS=J(\"fs\"),Bge=wK();function Qge(r){let t=Buffer.alloc(150),i;try{i=pS.openSync(r,\"r\"),pS.readSync(i,t,0,150,0),pS.closeSync(i)}catch{}return Bge(t.toString())}BK.exports=Qge});var xK=w((z7e,vK)=>{\"use strict\";var bge=J(\"path\"),bK=CK(),SK=mK(),Sge=QK(),vge=process.platform===\"win32\",xge=/\\.(?:com|exe)$/i,Pge=/node_modules[\\\\/].bin[\\\\/][^\\\\/]+\\.cmd$/i;function Dge(r){r.file=bK(r);let e=r.file&&Sge(r.file);return e?(r.args.unshift(r.file),r.command=e,bK(r)):r.file}function kge(r){if(!vge)return r;let e=Dge(r),t=!xge.test(e);if(r.options.forceShell||t){let i=Pge.test(e);r.command=bge.normalize(r.command),r.command=SK.command(r.command),r.args=r.args.map(s=>SK.argument(s,i));let n=[r.command].concat(r.args).join(\" \");r.args=[\"/d\",\"/s\",\"/c\",`\"${n}\"`],r.command=process.env.comspec||\"cmd.exe\",r.options.windowsVerbatimArguments=!0}return r}function Rge(r,e,t){e&&!Array.isArray(e)&&(t=e,e=null),e=e?e.slice(0):[],t=Object.assign({},t);let i={command:r,args:e,options:t,file:void 0,original:{command:r,args:e}};return t.shell?i:kge(i)}vK.exports=Rge});var kK=w((V7e,DK)=>{\"use strict\";var dS=process.platform===\"win32\";function CS(r,e){return Object.assign(new Error(`${e} ${r.command} ENOENT`),{code:\"ENOENT\",errno:\"ENOENT\",syscall:`${e} ${r.command}`,path:r.command,spawnargs:r.args})}function Fge(r,e){if(!dS)return;let t=r.emit;r.emit=function(i,n){if(i===\"exit\"){let s=PK(n,e,\"spawn\");if(s)return t.call(r,\"error\",s)}return t.apply(r,arguments)}}function PK(r,e){return dS&&r===1&&!e.file?CS(e.original,\"spawn\"):null}function Nge(r,e){return dS&&r===1&&!e.file?CS(e.original,\"spawnSync\"):null}DK.exports={hookChildProcess:Fge,verifyENOENT:PK,verifyENOENTSync:Nge,notFoundError:CS}});var IS=w((X7e,yg)=>{\"use strict\";var RK=J(\"child_process\"),mS=xK(),ES=kK();function FK(r,e,t){let i=mS(r,e,t),n=RK.spawn(i.command,i.args,i.options);return ES.hookChildProcess(n,i),n}function Lge(r,e,t){let i=mS(r,e,t),n=RK.spawnSync(i.command,i.args,i.options);return n.error=n.error||ES.verifyENOENTSync(n.status,i),n}yg.exports=FK;yg.exports.spawn=FK;yg.exports.sync=Lge;yg.exports._parse=mS;yg.exports._enoent=ES});var LK=w((_7e,NK)=>{\"use strict\";function Tge(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function Ml(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name=\"SyntaxError\",typeof Error.captureStackTrace==\"function\"&&Error.captureStackTrace(this,Ml)}Tge(Ml,Error);Ml.buildMessage=function(r,e){var t={literal:function(c){return'\"'+n(c.text)+'\"'},class:function(c){var u=\"\",g;for(g=0;g<c.parts.length;g++)u+=c.parts[g]instanceof Array?s(c.parts[g][0])+\"-\"+s(c.parts[g][1]):s(c.parts[g]);return\"[\"+(c.inverted?\"^\":\"\")+u+\"]\"},any:function(c){return\"any character\"},end:function(c){return\"end of input\"},other:function(c){return c.description}};function i(c){return c.charCodeAt(0).toString(16).toUpperCase()}function n(c){return c.replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"').replace(/\\0/g,\"\\\\0\").replace(/\\t/g,\"\\\\t\").replace(/\\n/g,\"\\\\n\").replace(/\\r/g,\"\\\\r\").replace(/[\\x00-\\x0F]/g,function(u){return\"\\\\x0\"+i(u)}).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g,function(u){return\"\\\\x\"+i(u)})}function s(c){return c.replace(/\\\\/g,\"\\\\\\\\\").replace(/\\]/g,\"\\\\]\").replace(/\\^/g,\"\\\\^\").replace(/-/g,\"\\\\-\").replace(/\\0/g,\"\\\\0\").replace(/\\t/g,\"\\\\t\").replace(/\\n/g,\"\\\\n\").replace(/\\r/g,\"\\\\r\").replace(/[\\x00-\\x0F]/g,function(u){return\"\\\\x0\"+i(u)}).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g,function(u){return\"\\\\x\"+i(u)})}function o(c){return t[c.type](c)}function a(c){var u=new Array(c.length),g,f;for(g=0;g<c.length;g++)u[g]=o(c[g]);if(u.sort(),u.length>0){for(g=1,f=1;g<u.length;g++)u[g-1]!==u[g]&&(u[f]=u[g],f++);u.length=f}switch(u.length){case 1:return u[0];case 2:return u[0]+\" or \"+u[1];default:return u.slice(0,-1).join(\", \")+\", or \"+u[u.length-1]}}function l(c){return c?'\"'+n(c)+'\"':\"end of input\"}return\"Expected \"+a(r)+\" but \"+l(e)+\" found.\"};function Oge(r,e){e=e!==void 0?e:{};var t={},i={Start:CA},n=CA,s=function(m){return m||[]},o=function(m,b,N){return[{command:m,type:b}].concat(N||[])},a=function(m,b){return[{command:m,type:b||\";\"}]},l=function(m){return m},c=\";\",u=me(\";\",!1),g=\"&\",f=me(\"&\",!1),h=function(m,b){return b?{chain:m,then:b}:{chain:m}},p=function(m,b){return{type:m,line:b}},C=\"&&\",y=me(\"&&\",!1),B=\"||\",v=me(\"||\",!1),D=function(m,b){return b?{...m,then:b}:m},L=function(m,b){return{type:m,chain:b}},H=\"|&\",j=me(\"|&\",!1),$=\"|\",V=me(\"|\",!1),W=\"=\",Z=me(\"=\",!1),A=function(m,b){return{name:m,args:[b]}},ae=function(m){return{name:m,args:[]}},ge=\"(\",re=me(\"(\",!1),O=\")\",F=me(\")\",!1),ue=function(m,b){return{type:\"subshell\",subshell:m,args:b}},he=\"{\",ke=me(\"{\",!1),Fe=\"}\",Ne=me(\"}\",!1),oe=function(m,b){return{type:\"group\",group:m,args:b}},le=function(m,b){return{type:\"command\",args:b,envs:m}},we=function(m){return{type:\"envs\",envs:m}},fe=function(m){return m},Ae=function(m){return m},qe=/^[0-9]/,ne=Je([[\"0\",\"9\"]],!1,!1),Y=function(m,b,N){return{type:\"redirection\",subtype:b,fd:m!==null?parseInt(m):null,args:[N]}},pe=\">>\",ie=me(\">>\",!1),de=\">&\",tt=me(\">&\",!1),Pt=\">\",It=me(\">\",!1),Or=\"<<<\",ii=me(\"<<<\",!1),gi=\"<&\",hr=me(\"<&\",!1),fi=\"<\",ni=me(\"<\",!1),Ls=function(m){return{type:\"argument\",segments:[].concat(...m)}},pr=function(m){return m},Ei=\"$'\",_n=me(\"$'\",!1),oa=\"'\",aA=me(\"'\",!1),eg=function(m){return[{type:\"text\",text:m}]},Zn='\"\"',AA=me('\"\"',!1),aa=function(){return{type:\"text\",text:\"\"}},up='\"',lA=me('\"',!1),cA=function(m){return m},wr=function(m){return{type:\"arithmetic\",arithmetic:m,quoted:!0}},wl=function(m){return{type:\"shell\",shell:m,quoted:!0}},tg=function(m){return{type:\"variable\",...m,quoted:!0}},po=function(m){return{type:\"text\",text:m}},rg=function(m){return{type:\"arithmetic\",arithmetic:m,quoted:!1}},gp=function(m){return{type:\"shell\",shell:m,quoted:!1}},fp=function(m){return{type:\"variable\",...m,quoted:!1}},vr=function(m){return{type:\"glob\",pattern:m}},se=/^[^']/,Co=Je([\"'\"],!0,!1),Dn=function(m){return m.join(\"\")},ig=/^[^$\"]/,Qt=Je([\"$\",'\"'],!0,!1),Bl=`\\\\\n`,kn=me(`\\\\\n`,!1),$n=function(){return\"\"},es=\"\\\\\",gt=me(\"\\\\\",!1),mo=/^[\\\\$\"`]/,At=Je([\"\\\\\",\"$\",'\"',\"`\"],!1,!1),an=function(m){return m},S=\"\\\\a\",Tt=me(\"\\\\a\",!1),ng=function(){return\"a\"},Ql=\"\\\\b\",hp=me(\"\\\\b\",!1),pp=function(){return\"\\b\"},dp=/^[Ee]/,Cp=Je([\"E\",\"e\"],!1,!1),mp=function(){return\"\\x1B\"},G=\"\\\\f\",yt=me(\"\\\\f\",!1),uA=function(){return\"\\f\"},ji=\"\\\\n\",bl=me(\"\\\\n\",!1),Xe=function(){return`\n`},Aa=\"\\\\r\",sg=me(\"\\\\r\",!1),bE=function(){return\"\\r\"},Ep=\"\\\\t\",SE=me(\"\\\\t\",!1),ar=function(){return\"\t\"},Rn=\"\\\\v\",Sl=me(\"\\\\v\",!1),Ip=function(){return\"\\v\"},Ts=/^[\\\\'\"?]/,la=Je([\"\\\\\",\"'\",'\"',\"?\"],!1,!1),An=function(m){return String.fromCharCode(parseInt(m,16))},Te=\"\\\\x\",og=me(\"\\\\x\",!1),vl=\"\\\\u\",Os=me(\"\\\\u\",!1),xl=\"\\\\U\",gA=me(\"\\\\U\",!1),ag=function(m){return String.fromCodePoint(parseInt(m,16))},Ag=/^[0-7]/,ca=Je([[\"0\",\"7\"]],!1,!1),ua=/^[0-9a-fA-f]/,rt=Je([[\"0\",\"9\"],[\"a\",\"f\"],[\"A\",\"f\"]],!1,!1),Eo=nt(),fA=\"-\",Pl=me(\"-\",!1),Ms=\"+\",Dl=me(\"+\",!1),vE=\".\",yp=me(\".\",!1),lg=function(m,b,N){return{type:\"number\",value:(m===\"-\"?-1:1)*parseFloat(b.join(\"\")+\".\"+N.join(\"\"))}},wp=function(m,b){return{type:\"number\",value:(m===\"-\"?-1:1)*parseInt(b.join(\"\"))}},xE=function(m){return{type:\"variable\",...m}},kl=function(m){return{type:\"variable\",name:m}},PE=function(m){return m},cg=\"*\",hA=me(\"*\",!1),Rr=\"/\",DE=me(\"/\",!1),Ks=function(m,b,N){return{type:b===\"*\"?\"multiplication\":\"division\",right:N}},Us=function(m,b){return b.reduce((N,U)=>({left:N,...U}),m)},ug=function(m,b,N){return{type:b===\"+\"?\"addition\":\"subtraction\",right:N}},pA=\"$((\",R=me(\"$((\",!1),q=\"))\",Ce=me(\"))\",!1),Ke=function(m){return m},Re=\"$(\",ze=me(\"$(\",!1),dt=function(m){return m},Ft=\"${\",Fn=me(\"${\",!1),Db=\":-\",$M=me(\":-\",!1),e1=function(m,b){return{name:m,defaultValue:b}},kb=\":-}\",t1=me(\":-}\",!1),r1=function(m){return{name:m,defaultValue:[]}},Rb=\":+\",i1=me(\":+\",!1),n1=function(m,b){return{name:m,alternativeValue:b}},Fb=\":+}\",s1=me(\":+}\",!1),o1=function(m){return{name:m,alternativeValue:[]}},Nb=function(m){return{name:m}},a1=\"$\",A1=me(\"$\",!1),l1=function(m){return e.isGlobPattern(m)},c1=function(m){return m},Lb=/^[a-zA-Z0-9_]/,Tb=Je([[\"a\",\"z\"],[\"A\",\"Z\"],[\"0\",\"9\"],\"_\"],!1,!1),Ob=function(){return T()},Mb=/^[$@*?#a-zA-Z0-9_\\-]/,Kb=Je([\"$\",\"@\",\"*\",\"?\",\"#\",[\"a\",\"z\"],[\"A\",\"Z\"],[\"0\",\"9\"],\"_\",\"-\"],!1,!1),u1=/^[(){}<>$|&; \\t\"']/,gg=Je([\"(\",\")\",\"{\",\"}\",\"<\",\">\",\"$\",\"|\",\"&\",\";\",\" \",\"\t\",'\"',\"'\"],!1,!1),Ub=/^[<>&; \\t\"']/,Hb=Je([\"<\",\">\",\"&\",\";\",\" \",\"\t\",'\"',\"'\"],!1,!1),kE=/^[ \\t]/,RE=Je([\" \",\"\t\"],!1,!1),Q=0,Me=0,dA=[{line:1,column:1}],d=0,E=[],I=0,k;if(\"startRule\"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule \"`+e.startRule+'\".');n=i[e.startRule]}function T(){return r.substring(Me,Q)}function _(){return Et(Me,Q)}function te(m,b){throw b=b!==void 0?b:Et(Me,Q),ki([lt(m)],r.substring(Me,Q),b)}function Be(m,b){throw b=b!==void 0?b:Et(Me,Q),Nn(m,b)}function me(m,b){return{type:\"literal\",text:m,ignoreCase:b}}function Je(m,b,N){return{type:\"class\",parts:m,inverted:b,ignoreCase:N}}function nt(){return{type:\"any\"}}function wt(){return{type:\"end\"}}function lt(m){return{type:\"other\",description:m}}function it(m){var b=dA[m],N;if(b)return b;for(N=m-1;!dA[N];)N--;for(b=dA[N],b={line:b.line,column:b.column};N<m;)r.charCodeAt(N)===10?(b.line++,b.column=1):b.column++,N++;return dA[m]=b,b}function Et(m,b){var N=it(m),U=it(b);return{start:{offset:m,line:N.line,column:N.column},end:{offset:b,line:U.line,column:U.column}}}function Qe(m){Q<d||(Q>d&&(d=Q,E=[]),E.push(m))}function Nn(m,b){return new Ml(m,null,null,b)}function ki(m,b,N){return new Ml(Ml.buildMessage(m,b),m,b,N)}function CA(){var m,b;return m=Q,b=Mr(),b===t&&(b=null),b!==t&&(Me=m,b=s(b)),m=b,m}function Mr(){var m,b,N,U,ce;if(m=Q,b=Kr(),b!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();N!==t?(U=ga(),U!==t?(ce=ts(),ce===t&&(ce=null),ce!==t?(Me=m,b=o(b,U,ce),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)}else Q=m,m=t;if(m===t)if(m=Q,b=Kr(),b!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();N!==t?(U=ga(),U===t&&(U=null),U!==t?(Me=m,b=a(b,U),m=b):(Q=m,m=t)):(Q=m,m=t)}else Q=m,m=t;return m}function ts(){var m,b,N,U,ce;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t)if(N=Mr(),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Me=m,b=l(N),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t;return m}function ga(){var m;return r.charCodeAt(Q)===59?(m=c,Q++):(m=t,I===0&&Qe(u)),m===t&&(r.charCodeAt(Q)===38?(m=g,Q++):(m=t,I===0&&Qe(f))),m}function Kr(){var m,b,N;return m=Q,b=g1(),b!==t?(N=yue(),N===t&&(N=null),N!==t?(Me=m,b=h(b,N),m=b):(Q=m,m=t)):(Q=m,m=t),m}function yue(){var m,b,N,U,ce,Se,ht;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t)if(N=wue(),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=Kr(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Me=m,b=p(N,ce),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t;return m}function wue(){var m;return r.substr(Q,2)===C?(m=C,Q+=2):(m=t,I===0&&Qe(y)),m===t&&(r.substr(Q,2)===B?(m=B,Q+=2):(m=t,I===0&&Qe(v))),m}function g1(){var m,b,N;return m=Q,b=bue(),b!==t?(N=Bue(),N===t&&(N=null),N!==t?(Me=m,b=D(b,N),m=b):(Q=m,m=t)):(Q=m,m=t),m}function Bue(){var m,b,N,U,ce,Se,ht;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t)if(N=Que(),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=g1(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Me=m,b=L(N,ce),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t;return m}function Que(){var m;return r.substr(Q,2)===H?(m=H,Q+=2):(m=t,I===0&&Qe(j)),m===t&&(r.charCodeAt(Q)===124?(m=$,Q++):(m=t,I===0&&Qe(V))),m}function FE(){var m,b,N,U,ce,Se;if(m=Q,b=Q1(),b!==t)if(r.charCodeAt(Q)===61?(N=W,Q++):(N=t,I===0&&Qe(Z)),N!==t)if(U=p1(),U!==t){for(ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();ce!==t?(Me=m,b=A(b,U),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t;else Q=m,m=t;if(m===t)if(m=Q,b=Q1(),b!==t)if(r.charCodeAt(Q)===61?(N=W,Q++):(N=t,I===0&&Qe(Z)),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Me=m,b=ae(b),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t;return m}function bue(){var m,b,N,U,ce,Se,ht,Bt,Jr,hi,rs;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t)if(r.charCodeAt(Q)===40?(N=ge,Q++):(N=t,I===0&&Qe(re)),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=Mr(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();if(Se!==t)if(r.charCodeAt(Q)===41?(ht=O,Q++):(ht=t,I===0&&Qe(F)),ht!==t){for(Bt=[],Jr=He();Jr!==t;)Bt.push(Jr),Jr=He();if(Bt!==t){for(Jr=[],hi=Bp();hi!==t;)Jr.push(hi),hi=Bp();if(Jr!==t){for(hi=[],rs=He();rs!==t;)hi.push(rs),rs=He();hi!==t?(Me=m,b=ue(ce,Jr),m=b):(Q=m,m=t)}else Q=m,m=t}else Q=m,m=t}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t;if(m===t){for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t)if(r.charCodeAt(Q)===123?(N=he,Q++):(N=t,I===0&&Qe(ke)),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=Mr(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();if(Se!==t)if(r.charCodeAt(Q)===125?(ht=Fe,Q++):(ht=t,I===0&&Qe(Ne)),ht!==t){for(Bt=[],Jr=He();Jr!==t;)Bt.push(Jr),Jr=He();if(Bt!==t){for(Jr=[],hi=Bp();hi!==t;)Jr.push(hi),hi=Bp();if(Jr!==t){for(hi=[],rs=He();rs!==t;)hi.push(rs),rs=He();hi!==t?(Me=m,b=oe(ce,Jr),m=b):(Q=m,m=t)}else Q=m,m=t}else Q=m,m=t}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t;if(m===t){for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t){for(N=[],U=FE();U!==t;)N.push(U),U=FE();if(N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t){if(ce=[],Se=h1(),Se!==t)for(;Se!==t;)ce.push(Se),Se=h1();else ce=t;if(ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Me=m,b=le(N,ce),m=b):(Q=m,m=t)}else Q=m,m=t}else Q=m,m=t}else Q=m,m=t}else Q=m,m=t;if(m===t){for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t){if(N=[],U=FE(),U!==t)for(;U!==t;)N.push(U),U=FE();else N=t;if(N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Me=m,b=we(N),m=b):(Q=m,m=t)}else Q=m,m=t}else Q=m,m=t}}}return m}function f1(){var m,b,N,U,ce;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t){if(N=[],U=NE(),U!==t)for(;U!==t;)N.push(U),U=NE();else N=t;if(N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Me=m,b=fe(N),m=b):(Q=m,m=t)}else Q=m,m=t}else Q=m,m=t;return m}function h1(){var m,b,N;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t?(N=Bp(),N!==t?(Me=m,b=Ae(N),m=b):(Q=m,m=t)):(Q=m,m=t),m===t){for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();b!==t?(N=NE(),N!==t?(Me=m,b=Ae(N),m=b):(Q=m,m=t)):(Q=m,m=t)}return m}function Bp(){var m,b,N,U,ce;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();return b!==t?(qe.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(ne)),N===t&&(N=null),N!==t?(U=Sue(),U!==t?(ce=NE(),ce!==t?(Me=m,b=Y(N,U,ce),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m}function Sue(){var m;return r.substr(Q,2)===pe?(m=pe,Q+=2):(m=t,I===0&&Qe(ie)),m===t&&(r.substr(Q,2)===de?(m=de,Q+=2):(m=t,I===0&&Qe(tt)),m===t&&(r.charCodeAt(Q)===62?(m=Pt,Q++):(m=t,I===0&&Qe(It)),m===t&&(r.substr(Q,3)===Or?(m=Or,Q+=3):(m=t,I===0&&Qe(ii)),m===t&&(r.substr(Q,2)===gi?(m=gi,Q+=2):(m=t,I===0&&Qe(hr)),m===t&&(r.charCodeAt(Q)===60?(m=fi,Q++):(m=t,I===0&&Qe(ni))))))),m}function NE(){var m,b,N;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();return b!==t?(N=p1(),N!==t?(Me=m,b=Ae(N),m=b):(Q=m,m=t)):(Q=m,m=t),m}function p1(){var m,b,N;if(m=Q,b=[],N=d1(),N!==t)for(;N!==t;)b.push(N),N=d1();else b=t;return b!==t&&(Me=m,b=Ls(b)),m=b,m}function d1(){var m,b;return m=Q,b=vue(),b!==t&&(Me=m,b=pr(b)),m=b,m===t&&(m=Q,b=xue(),b!==t&&(Me=m,b=pr(b)),m=b,m===t&&(m=Q,b=Pue(),b!==t&&(Me=m,b=pr(b)),m=b,m===t&&(m=Q,b=Due(),b!==t&&(Me=m,b=pr(b)),m=b))),m}function vue(){var m,b,N,U;return m=Q,r.substr(Q,2)===Ei?(b=Ei,Q+=2):(b=t,I===0&&Qe(_n)),b!==t?(N=Fue(),N!==t?(r.charCodeAt(Q)===39?(U=oa,Q++):(U=t,I===0&&Qe(aA)),U!==t?(Me=m,b=eg(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m}function xue(){var m,b,N,U;return m=Q,r.charCodeAt(Q)===39?(b=oa,Q++):(b=t,I===0&&Qe(aA)),b!==t?(N=kue(),N!==t?(r.charCodeAt(Q)===39?(U=oa,Q++):(U=t,I===0&&Qe(aA)),U!==t?(Me=m,b=eg(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m}function Pue(){var m,b,N,U;if(m=Q,r.substr(Q,2)===Zn?(b=Zn,Q+=2):(b=t,I===0&&Qe(AA)),b!==t&&(Me=m,b=aa()),m=b,m===t)if(m=Q,r.charCodeAt(Q)===34?(b=up,Q++):(b=t,I===0&&Qe(lA)),b!==t){for(N=[],U=C1();U!==t;)N.push(U),U=C1();N!==t?(r.charCodeAt(Q)===34?(U=up,Q++):(U=t,I===0&&Qe(lA)),U!==t?(Me=m,b=cA(N),m=b):(Q=m,m=t)):(Q=m,m=t)}else Q=m,m=t;return m}function Due(){var m,b,N;if(m=Q,b=[],N=m1(),N!==t)for(;N!==t;)b.push(N),N=m1();else b=t;return b!==t&&(Me=m,b=cA(b)),m=b,m}function C1(){var m,b;return m=Q,b=w1(),b!==t&&(Me=m,b=wr(b)),m=b,m===t&&(m=Q,b=B1(),b!==t&&(Me=m,b=wl(b)),m=b,m===t&&(m=Q,b=qb(),b!==t&&(Me=m,b=tg(b)),m=b,m===t&&(m=Q,b=Rue(),b!==t&&(Me=m,b=po(b)),m=b))),m}function m1(){var m,b;return m=Q,b=w1(),b!==t&&(Me=m,b=rg(b)),m=b,m===t&&(m=Q,b=B1(),b!==t&&(Me=m,b=gp(b)),m=b,m===t&&(m=Q,b=qb(),b!==t&&(Me=m,b=fp(b)),m=b,m===t&&(m=Q,b=Tue(),b!==t&&(Me=m,b=vr(b)),m=b,m===t&&(m=Q,b=Lue(),b!==t&&(Me=m,b=po(b)),m=b)))),m}function kue(){var m,b,N;for(m=Q,b=[],se.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Co));N!==t;)b.push(N),se.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Co));return b!==t&&(Me=m,b=Dn(b)),m=b,m}function Rue(){var m,b,N;if(m=Q,b=[],N=E1(),N===t&&(ig.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Qt))),N!==t)for(;N!==t;)b.push(N),N=E1(),N===t&&(ig.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Qt)));else b=t;return b!==t&&(Me=m,b=Dn(b)),m=b,m}function E1(){var m,b,N;return m=Q,r.substr(Q,2)===Bl?(b=Bl,Q+=2):(b=t,I===0&&Qe(kn)),b!==t&&(Me=m,b=$n()),m=b,m===t&&(m=Q,r.charCodeAt(Q)===92?(b=es,Q++):(b=t,I===0&&Qe(gt)),b!==t?(mo.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(At)),N!==t?(Me=m,b=an(N),m=b):(Q=m,m=t)):(Q=m,m=t)),m}function Fue(){var m,b,N;for(m=Q,b=[],N=I1(),N===t&&(se.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Co)));N!==t;)b.push(N),N=I1(),N===t&&(se.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Co)));return b!==t&&(Me=m,b=Dn(b)),m=b,m}function I1(){var m,b,N;return m=Q,r.substr(Q,2)===S?(b=S,Q+=2):(b=t,I===0&&Qe(Tt)),b!==t&&(Me=m,b=ng()),m=b,m===t&&(m=Q,r.substr(Q,2)===Ql?(b=Ql,Q+=2):(b=t,I===0&&Qe(hp)),b!==t&&(Me=m,b=pp()),m=b,m===t&&(m=Q,r.charCodeAt(Q)===92?(b=es,Q++):(b=t,I===0&&Qe(gt)),b!==t?(dp.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Cp)),N!==t?(Me=m,b=mp(),m=b):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===G?(b=G,Q+=2):(b=t,I===0&&Qe(yt)),b!==t&&(Me=m,b=uA()),m=b,m===t&&(m=Q,r.substr(Q,2)===ji?(b=ji,Q+=2):(b=t,I===0&&Qe(bl)),b!==t&&(Me=m,b=Xe()),m=b,m===t&&(m=Q,r.substr(Q,2)===Aa?(b=Aa,Q+=2):(b=t,I===0&&Qe(sg)),b!==t&&(Me=m,b=bE()),m=b,m===t&&(m=Q,r.substr(Q,2)===Ep?(b=Ep,Q+=2):(b=t,I===0&&Qe(SE)),b!==t&&(Me=m,b=ar()),m=b,m===t&&(m=Q,r.substr(Q,2)===Rn?(b=Rn,Q+=2):(b=t,I===0&&Qe(Sl)),b!==t&&(Me=m,b=Ip()),m=b,m===t&&(m=Q,r.charCodeAt(Q)===92?(b=es,Q++):(b=t,I===0&&Qe(gt)),b!==t?(Ts.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(la)),N!==t?(Me=m,b=an(N),m=b):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Nue()))))))))),m}function Nue(){var m,b,N,U,ce,Se,ht,Bt,Jr,hi,rs,Jb;return m=Q,r.charCodeAt(Q)===92?(b=es,Q++):(b=t,I===0&&Qe(gt)),b!==t?(N=Gb(),N!==t?(Me=m,b=An(N),m=b):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Te?(b=Te,Q+=2):(b=t,I===0&&Qe(og)),b!==t?(N=Q,U=Q,ce=Gb(),ce!==t?(Se=Ln(),Se!==t?(ce=[ce,Se],U=ce):(Q=U,U=t)):(Q=U,U=t),U===t&&(U=Gb()),U!==t?N=r.substring(N,Q):N=U,N!==t?(Me=m,b=An(N),m=b):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===vl?(b=vl,Q+=2):(b=t,I===0&&Qe(Os)),b!==t?(N=Q,U=Q,ce=Ln(),ce!==t?(Se=Ln(),Se!==t?(ht=Ln(),ht!==t?(Bt=Ln(),Bt!==t?(ce=[ce,Se,ht,Bt],U=ce):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t),U!==t?N=r.substring(N,Q):N=U,N!==t?(Me=m,b=An(N),m=b):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===xl?(b=xl,Q+=2):(b=t,I===0&&Qe(gA)),b!==t?(N=Q,U=Q,ce=Ln(),ce!==t?(Se=Ln(),Se!==t?(ht=Ln(),ht!==t?(Bt=Ln(),Bt!==t?(Jr=Ln(),Jr!==t?(hi=Ln(),hi!==t?(rs=Ln(),rs!==t?(Jb=Ln(),Jb!==t?(ce=[ce,Se,ht,Bt,Jr,hi,rs,Jb],U=ce):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t),U!==t?N=r.substring(N,Q):N=U,N!==t?(Me=m,b=ag(N),m=b):(Q=m,m=t)):(Q=m,m=t)))),m}function Gb(){var m;return Ag.test(r.charAt(Q))?(m=r.charAt(Q),Q++):(m=t,I===0&&Qe(ca)),m}function Ln(){var m;return ua.test(r.charAt(Q))?(m=r.charAt(Q),Q++):(m=t,I===0&&Qe(rt)),m}function Lue(){var m,b,N,U,ce;if(m=Q,b=[],N=Q,r.charCodeAt(Q)===92?(U=es,Q++):(U=t,I===0&&Qe(gt)),U!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Eo)),ce!==t?(Me=N,U=an(ce),N=U):(Q=N,N=t)):(Q=N,N=t),N===t&&(N=Q,U=Q,I++,ce=b1(),I--,ce===t?U=void 0:(Q=U,U=t),U!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Eo)),ce!==t?(Me=N,U=an(ce),N=U):(Q=N,N=t)):(Q=N,N=t)),N!==t)for(;N!==t;)b.push(N),N=Q,r.charCodeAt(Q)===92?(U=es,Q++):(U=t,I===0&&Qe(gt)),U!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Eo)),ce!==t?(Me=N,U=an(ce),N=U):(Q=N,N=t)):(Q=N,N=t),N===t&&(N=Q,U=Q,I++,ce=b1(),I--,ce===t?U=void 0:(Q=U,U=t),U!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Eo)),ce!==t?(Me=N,U=an(ce),N=U):(Q=N,N=t)):(Q=N,N=t));else b=t;return b!==t&&(Me=m,b=Dn(b)),m=b,m}function Yb(){var m,b,N,U,ce,Se;if(m=Q,r.charCodeAt(Q)===45?(b=fA,Q++):(b=t,I===0&&Qe(Pl)),b===t&&(r.charCodeAt(Q)===43?(b=Ms,Q++):(b=t,I===0&&Qe(Dl))),b===t&&(b=null),b!==t){if(N=[],qe.test(r.charAt(Q))?(U=r.charAt(Q),Q++):(U=t,I===0&&Qe(ne)),U!==t)for(;U!==t;)N.push(U),qe.test(r.charAt(Q))?(U=r.charAt(Q),Q++):(U=t,I===0&&Qe(ne));else N=t;if(N!==t)if(r.charCodeAt(Q)===46?(U=vE,Q++):(U=t,I===0&&Qe(yp)),U!==t){if(ce=[],qe.test(r.charAt(Q))?(Se=r.charAt(Q),Q++):(Se=t,I===0&&Qe(ne)),Se!==t)for(;Se!==t;)ce.push(Se),qe.test(r.charAt(Q))?(Se=r.charAt(Q),Q++):(Se=t,I===0&&Qe(ne));else ce=t;ce!==t?(Me=m,b=lg(b,N,ce),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;if(m===t){if(m=Q,r.charCodeAt(Q)===45?(b=fA,Q++):(b=t,I===0&&Qe(Pl)),b===t&&(r.charCodeAt(Q)===43?(b=Ms,Q++):(b=t,I===0&&Qe(Dl))),b===t&&(b=null),b!==t){if(N=[],qe.test(r.charAt(Q))?(U=r.charAt(Q),Q++):(U=t,I===0&&Qe(ne)),U!==t)for(;U!==t;)N.push(U),qe.test(r.charAt(Q))?(U=r.charAt(Q),Q++):(U=t,I===0&&Qe(ne));else N=t;N!==t?(Me=m,b=wp(b,N),m=b):(Q=m,m=t)}else Q=m,m=t;if(m===t&&(m=Q,b=qb(),b!==t&&(Me=m,b=xE(b)),m=b,m===t&&(m=Q,b=Rl(),b!==t&&(Me=m,b=kl(b)),m=b,m===t)))if(m=Q,r.charCodeAt(Q)===40?(b=ge,Q++):(b=t,I===0&&Qe(re)),b!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();if(N!==t)if(U=y1(),U!==t){for(ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();ce!==t?(r.charCodeAt(Q)===41?(Se=O,Q++):(Se=t,I===0&&Qe(F)),Se!==t?(Me=m,b=PE(U),m=b):(Q=m,m=t)):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t}return m}function jb(){var m,b,N,U,ce,Se,ht,Bt;if(m=Q,b=Yb(),b!==t){for(N=[],U=Q,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(Q)===42?(Se=cg,Q++):(Se=t,I===0&&Qe(hA)),Se===t&&(r.charCodeAt(Q)===47?(Se=Rr,Q++):(Se=t,I===0&&Qe(DE))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=Yb(),Bt!==t?(Me=U,ce=Ks(b,Se,Bt),U=ce):(Q=U,U=t)):(Q=U,U=t)}else Q=U,U=t;else Q=U,U=t;for(;U!==t;){for(N.push(U),U=Q,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(Q)===42?(Se=cg,Q++):(Se=t,I===0&&Qe(hA)),Se===t&&(r.charCodeAt(Q)===47?(Se=Rr,Q++):(Se=t,I===0&&Qe(DE))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=Yb(),Bt!==t?(Me=U,ce=Ks(b,Se,Bt),U=ce):(Q=U,U=t)):(Q=U,U=t)}else Q=U,U=t;else Q=U,U=t}N!==t?(Me=m,b=Us(b,N),m=b):(Q=m,m=t)}else Q=m,m=t;return m}function y1(){var m,b,N,U,ce,Se,ht,Bt;if(m=Q,b=jb(),b!==t){for(N=[],U=Q,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(Q)===43?(Se=Ms,Q++):(Se=t,I===0&&Qe(Dl)),Se===t&&(r.charCodeAt(Q)===45?(Se=fA,Q++):(Se=t,I===0&&Qe(Pl))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=jb(),Bt!==t?(Me=U,ce=ug(b,Se,Bt),U=ce):(Q=U,U=t)):(Q=U,U=t)}else Q=U,U=t;else Q=U,U=t;for(;U!==t;){for(N.push(U),U=Q,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(Q)===43?(Se=Ms,Q++):(Se=t,I===0&&Qe(Dl)),Se===t&&(r.charCodeAt(Q)===45?(Se=fA,Q++):(Se=t,I===0&&Qe(Pl))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=jb(),Bt!==t?(Me=U,ce=ug(b,Se,Bt),U=ce):(Q=U,U=t)):(Q=U,U=t)}else Q=U,U=t;else Q=U,U=t}N!==t?(Me=m,b=Us(b,N),m=b):(Q=m,m=t)}else Q=m,m=t;return m}function w1(){var m,b,N,U,ce,Se;if(m=Q,r.substr(Q,3)===pA?(b=pA,Q+=3):(b=t,I===0&&Qe(R)),b!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();if(N!==t)if(U=y1(),U!==t){for(ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();ce!==t?(r.substr(Q,2)===q?(Se=q,Q+=2):(Se=t,I===0&&Qe(Ce)),Se!==t?(Me=m,b=Ke(U),m=b):(Q=m,m=t)):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;return m}function B1(){var m,b,N,U;return m=Q,r.substr(Q,2)===Re?(b=Re,Q+=2):(b=t,I===0&&Qe(ze)),b!==t?(N=Mr(),N!==t?(r.charCodeAt(Q)===41?(U=O,Q++):(U=t,I===0&&Qe(F)),U!==t?(Me=m,b=dt(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m}function qb(){var m,b,N,U,ce,Se;return m=Q,r.substr(Q,2)===Ft?(b=Ft,Q+=2):(b=t,I===0&&Qe(Fn)),b!==t?(N=Rl(),N!==t?(r.substr(Q,2)===Db?(U=Db,Q+=2):(U=t,I===0&&Qe($M)),U!==t?(ce=f1(),ce!==t?(r.charCodeAt(Q)===125?(Se=Fe,Q++):(Se=t,I===0&&Qe(Ne)),Se!==t?(Me=m,b=e1(N,ce),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Ft?(b=Ft,Q+=2):(b=t,I===0&&Qe(Fn)),b!==t?(N=Rl(),N!==t?(r.substr(Q,3)===kb?(U=kb,Q+=3):(U=t,I===0&&Qe(t1)),U!==t?(Me=m,b=r1(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Ft?(b=Ft,Q+=2):(b=t,I===0&&Qe(Fn)),b!==t?(N=Rl(),N!==t?(r.substr(Q,2)===Rb?(U=Rb,Q+=2):(U=t,I===0&&Qe(i1)),U!==t?(ce=f1(),ce!==t?(r.charCodeAt(Q)===125?(Se=Fe,Q++):(Se=t,I===0&&Qe(Ne)),Se!==t?(Me=m,b=n1(N,ce),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Ft?(b=Ft,Q+=2):(b=t,I===0&&Qe(Fn)),b!==t?(N=Rl(),N!==t?(r.substr(Q,3)===Fb?(U=Fb,Q+=3):(U=t,I===0&&Qe(s1)),U!==t?(Me=m,b=o1(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Ft?(b=Ft,Q+=2):(b=t,I===0&&Qe(Fn)),b!==t?(N=Rl(),N!==t?(r.charCodeAt(Q)===125?(U=Fe,Q++):(U=t,I===0&&Qe(Ne)),U!==t?(Me=m,b=Nb(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.charCodeAt(Q)===36?(b=a1,Q++):(b=t,I===0&&Qe(A1)),b!==t?(N=Rl(),N!==t?(Me=m,b=Nb(N),m=b):(Q=m,m=t)):(Q=m,m=t)))))),m}function Tue(){var m,b,N;return m=Q,b=Oue(),b!==t?(Me=Q,N=l1(b),N?N=void 0:N=t,N!==t?(Me=m,b=c1(b),m=b):(Q=m,m=t)):(Q=m,m=t),m}function Oue(){var m,b,N,U,ce;if(m=Q,b=[],N=Q,U=Q,I++,ce=S1(),I--,ce===t?U=void 0:(Q=U,U=t),U!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Eo)),ce!==t?(Me=N,U=an(ce),N=U):(Q=N,N=t)):(Q=N,N=t),N!==t)for(;N!==t;)b.push(N),N=Q,U=Q,I++,ce=S1(),I--,ce===t?U=void 0:(Q=U,U=t),U!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Eo)),ce!==t?(Me=N,U=an(ce),N=U):(Q=N,N=t)):(Q=N,N=t);else b=t;return b!==t&&(Me=m,b=Dn(b)),m=b,m}function Q1(){var m,b,N;if(m=Q,b=[],Lb.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Tb)),N!==t)for(;N!==t;)b.push(N),Lb.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Tb));else b=t;return b!==t&&(Me=m,b=Ob()),m=b,m}function Rl(){var m,b,N;if(m=Q,b=[],Mb.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Kb)),N!==t)for(;N!==t;)b.push(N),Mb.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Kb));else b=t;return b!==t&&(Me=m,b=Ob()),m=b,m}function b1(){var m;return u1.test(r.charAt(Q))?(m=r.charAt(Q),Q++):(m=t,I===0&&Qe(gg)),m}function S1(){var m;return Ub.test(r.charAt(Q))?(m=r.charAt(Q),Q++):(m=t,I===0&&Qe(Hb)),m}function He(){var m,b;if(m=[],kE.test(r.charAt(Q))?(b=r.charAt(Q),Q++):(b=t,I===0&&Qe(RE)),b!==t)for(;b!==t;)m.push(b),kE.test(r.charAt(Q))?(b=r.charAt(Q),Q++):(b=t,I===0&&Qe(RE));else m=t;return m}if(k=n(),k!==t&&Q===r.length)return k;throw k!==t&&Q<r.length&&Qe(wt()),ki(E,d<r.length?r.charAt(d):null,d<r.length?Et(d,d+1):Et(d,d))}NK.exports={SyntaxError:Ml,parse:Oge}});var MK=w((uXe,OK)=>{\"use strict\";function Mge(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function Ul(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name=\"SyntaxError\",typeof Error.captureStackTrace==\"function\"&&Error.captureStackTrace(this,Ul)}Mge(Ul,Error);Ul.buildMessage=function(r,e){var t={literal:function(c){return'\"'+n(c.text)+'\"'},class:function(c){var u=\"\",g;for(g=0;g<c.parts.length;g++)u+=c.parts[g]instanceof Array?s(c.parts[g][0])+\"-\"+s(c.parts[g][1]):s(c.parts[g]);return\"[\"+(c.inverted?\"^\":\"\")+u+\"]\"},any:function(c){return\"any character\"},end:function(c){return\"end of input\"},other:function(c){return c.description}};function i(c){return c.charCodeAt(0).toString(16).toUpperCase()}function n(c){return c.replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"').replace(/\\0/g,\"\\\\0\").replace(/\\t/g,\"\\\\t\").replace(/\\n/g,\"\\\\n\").replace(/\\r/g,\"\\\\r\").replace(/[\\x00-\\x0F]/g,function(u){return\"\\\\x0\"+i(u)}).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g,function(u){return\"\\\\x\"+i(u)})}function s(c){return c.replace(/\\\\/g,\"\\\\\\\\\").replace(/\\]/g,\"\\\\]\").replace(/\\^/g,\"\\\\^\").replace(/-/g,\"\\\\-\").replace(/\\0/g,\"\\\\0\").replace(/\\t/g,\"\\\\t\").replace(/\\n/g,\"\\\\n\").replace(/\\r/g,\"\\\\r\").replace(/[\\x00-\\x0F]/g,function(u){return\"\\\\x0\"+i(u)}).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g,function(u){return\"\\\\x\"+i(u)})}function o(c){return t[c.type](c)}function a(c){var u=new Array(c.length),g,f;for(g=0;g<c.length;g++)u[g]=o(c[g]);if(u.sort(),u.length>0){for(g=1,f=1;g<u.length;g++)u[g-1]!==u[g]&&(u[f]=u[g],f++);u.length=f}switch(u.length){case 1:return u[0];case 2:return u[0]+\" or \"+u[1];default:return u.slice(0,-1).join(\", \")+\", or \"+u[u.length-1]}}function l(c){return c?'\"'+n(c)+'\"':\"end of input\"}return\"Expected \"+a(r)+\" but \"+l(e)+\" found.\"};function Kge(r,e){e=e!==void 0?e:{};var t={},i={resolution:le},n=le,s=\"/\",o=ge(\"/\",!1),a=function(ne,Y){return{from:ne,descriptor:Y}},l=function(ne){return{descriptor:ne}},c=\"@\",u=ge(\"@\",!1),g=function(ne,Y){return{fullName:ne,description:Y}},f=function(ne){return{fullName:ne}},h=function(){return W()},p=/^[^\\/@]/,C=re([\"/\",\"@\"],!0,!1),y=/^[^\\/]/,B=re([\"/\"],!0,!1),v=0,D=0,L=[{line:1,column:1}],H=0,j=[],$=0,V;if(\"startRule\"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule \"`+e.startRule+'\".');n=i[e.startRule]}function W(){return r.substring(D,v)}function Z(){return ke(D,v)}function A(ne,Y){throw Y=Y!==void 0?Y:ke(D,v),oe([ue(ne)],r.substring(D,v),Y)}function ae(ne,Y){throw Y=Y!==void 0?Y:ke(D,v),Ne(ne,Y)}function ge(ne,Y){return{type:\"literal\",text:ne,ignoreCase:Y}}function re(ne,Y,pe){return{type:\"class\",parts:ne,inverted:Y,ignoreCase:pe}}function O(){return{type:\"any\"}}function F(){return{type:\"end\"}}function ue(ne){return{type:\"other\",description:ne}}function he(ne){var Y=L[ne],pe;if(Y)return Y;for(pe=ne-1;!L[pe];)pe--;for(Y=L[pe],Y={line:Y.line,column:Y.column};pe<ne;)r.charCodeAt(pe)===10?(Y.line++,Y.column=1):Y.column++,pe++;return L[ne]=Y,Y}function ke(ne,Y){var pe=he(ne),ie=he(Y);return{start:{offset:ne,line:pe.line,column:pe.column},end:{offset:Y,line:ie.line,column:ie.column}}}function Fe(ne){v<H||(v>H&&(H=v,j=[]),j.push(ne))}function Ne(ne,Y){return new Ul(ne,null,null,Y)}function oe(ne,Y,pe){return new Ul(Ul.buildMessage(ne,Y),ne,Y,pe)}function le(){var ne,Y,pe,ie;return ne=v,Y=we(),Y!==t?(r.charCodeAt(v)===47?(pe=s,v++):(pe=t,$===0&&Fe(o)),pe!==t?(ie=we(),ie!==t?(D=ne,Y=a(Y,ie),ne=Y):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t),ne===t&&(ne=v,Y=we(),Y!==t&&(D=ne,Y=l(Y)),ne=Y),ne}function we(){var ne,Y,pe,ie;return ne=v,Y=fe(),Y!==t?(r.charCodeAt(v)===64?(pe=c,v++):(pe=t,$===0&&Fe(u)),pe!==t?(ie=qe(),ie!==t?(D=ne,Y=g(Y,ie),ne=Y):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t),ne===t&&(ne=v,Y=fe(),Y!==t&&(D=ne,Y=f(Y)),ne=Y),ne}function fe(){var ne,Y,pe,ie,de;return ne=v,r.charCodeAt(v)===64?(Y=c,v++):(Y=t,$===0&&Fe(u)),Y!==t?(pe=Ae(),pe!==t?(r.charCodeAt(v)===47?(ie=s,v++):(ie=t,$===0&&Fe(o)),ie!==t?(de=Ae(),de!==t?(D=ne,Y=h(),ne=Y):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t),ne===t&&(ne=v,Y=Ae(),Y!==t&&(D=ne,Y=h()),ne=Y),ne}function Ae(){var ne,Y,pe;if(ne=v,Y=[],p.test(r.charAt(v))?(pe=r.charAt(v),v++):(pe=t,$===0&&Fe(C)),pe!==t)for(;pe!==t;)Y.push(pe),p.test(r.charAt(v))?(pe=r.charAt(v),v++):(pe=t,$===0&&Fe(C));else Y=t;return Y!==t&&(D=ne,Y=h()),ne=Y,ne}function qe(){var ne,Y,pe;if(ne=v,Y=[],y.test(r.charAt(v))?(pe=r.charAt(v),v++):(pe=t,$===0&&Fe(B)),pe!==t)for(;pe!==t;)Y.push(pe),y.test(r.charAt(v))?(pe=r.charAt(v),v++):(pe=t,$===0&&Fe(B));else Y=t;return Y!==t&&(D=ne,Y=h()),ne=Y,ne}if(V=n(),V!==t&&v===r.length)return V;throw V!==t&&v<r.length&&Fe(F()),oe(j,H<r.length?r.charAt(H):null,H<r.length?ke(H,H+1):ke(H,H))}OK.exports={SyntaxError:Ul,parse:Kge}});var Gl=w((fXe,Hl)=>{\"use strict\";function UK(r){return typeof r>\"u\"||r===null}function Uge(r){return typeof r==\"object\"&&r!==null}function Hge(r){return Array.isArray(r)?r:UK(r)?[]:[r]}function Gge(r,e){var t,i,n,s;if(e)for(s=Object.keys(e),t=0,i=s.length;t<i;t+=1)n=s[t],r[n]=e[n];return r}function Yge(r,e){var t=\"\",i;for(i=0;i<e;i+=1)t+=r;return t}function jge(r){return r===0&&Number.NEGATIVE_INFINITY===1/r}Hl.exports.isNothing=UK;Hl.exports.isObject=Uge;Hl.exports.toArray=Hge;Hl.exports.repeat=Yge;Hl.exports.isNegativeZero=jge;Hl.exports.extend=Gge});var Qg=w((hXe,HK)=>{\"use strict\";function Op(r,e){Error.call(this),this.name=\"YAMLException\",this.reason=r,this.mark=e,this.message=(this.reason||\"(unknown reason)\")+(this.mark?\" \"+this.mark.toString():\"\"),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||\"\"}Op.prototype=Object.create(Error.prototype);Op.prototype.constructor=Op;Op.prototype.toString=function(e){var t=this.name+\": \";return t+=this.reason||\"(unknown reason)\",!e&&this.mark&&(t+=\" \"+this.mark.toString()),t};HK.exports=Op});var jK=w((pXe,YK)=>{\"use strict\";var GK=Gl();function SS(r,e,t,i,n){this.name=r,this.buffer=e,this.position=t,this.line=i,this.column=n}SS.prototype.getSnippet=function(e,t){var i,n,s,o,a;if(!this.buffer)return null;for(e=e||4,t=t||75,i=\"\",n=this.position;n>0&&`\\0\\r\n\\x85\\u2028\\u2029`.indexOf(this.buffer.charAt(n-1))===-1;)if(n-=1,this.position-n>t/2-1){i=\" ... \",n+=5;break}for(s=\"\",o=this.position;o<this.buffer.length&&`\\0\\r\n\\x85\\u2028\\u2029`.indexOf(this.buffer.charAt(o))===-1;)if(o+=1,o-this.position>t/2-1){s=\" ... \",o-=5;break}return a=this.buffer.slice(n,o),GK.repeat(\" \",e)+i+a+s+`\n`+GK.repeat(\" \",e+this.position-n+i.length)+\"^\"};SS.prototype.toString=function(e){var t,i=\"\";return this.name&&(i+='in \"'+this.name+'\" '),i+=\"at line \"+(this.line+1)+\", column \"+(this.column+1),e||(t=this.getSnippet(),t&&(i+=`:\n`+t)),i};YK.exports=SS});var si=w((dXe,JK)=>{\"use strict\";var qK=Qg(),qge=[\"kind\",\"resolve\",\"construct\",\"instanceOf\",\"predicate\",\"represent\",\"defaultStyle\",\"styleAliases\"],Jge=[\"scalar\",\"sequence\",\"mapping\"];function Wge(r){var e={};return r!==null&&Object.keys(r).forEach(function(t){r[t].forEach(function(i){e[String(i)]=t})}),e}function zge(r,e){if(e=e||{},Object.keys(e).forEach(function(t){if(qge.indexOf(t)===-1)throw new qK('Unknown option \"'+t+'\" is met in definition of \"'+r+'\" YAML type.')}),this.tag=r,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=Wge(e.styleAliases||null),Jge.indexOf(this.kind)===-1)throw new qK('Unknown kind \"'+this.kind+'\" is specified for \"'+r+'\" YAML type.')}JK.exports=zge});var Yl=w((CXe,zK)=>{\"use strict\";var WK=Gl(),nI=Qg(),Vge=si();function vS(r,e,t){var i=[];return r.include.forEach(function(n){t=vS(n,e,t)}),r[e].forEach(function(n){t.forEach(function(s,o){s.tag===n.tag&&s.kind===n.kind&&i.push(o)}),t.push(n)}),t.filter(function(n,s){return i.indexOf(s)===-1})}function Xge(){var r={scalar:{},sequence:{},mapping:{},fallback:{}},e,t;function i(n){r[n.kind][n.tag]=r.fallback[n.tag]=n}for(e=0,t=arguments.length;e<t;e+=1)arguments[e].forEach(i);return r}function bg(r){this.include=r.include||[],this.implicit=r.implicit||[],this.explicit=r.explicit||[],this.implicit.forEach(function(e){if(e.loadKind&&e.loadKind!==\"scalar\")throw new nI(\"There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.\")}),this.compiledImplicit=vS(this,\"implicit\",[]),this.compiledExplicit=vS(this,\"explicit\",[]),this.compiledTypeMap=Xge(this.compiledImplicit,this.compiledExplicit)}bg.DEFAULT=null;bg.create=function(){var e,t;switch(arguments.length){case 1:e=bg.DEFAULT,t=arguments[0];break;case 2:e=arguments[0],t=arguments[1];break;default:throw new nI(\"Wrong number of arguments for Schema.create function\")}if(e=WK.toArray(e),t=WK.toArray(t),!e.every(function(i){return i instanceof bg}))throw new nI(\"Specified list of super schemas (or a single Schema object) contains a non-Schema object.\");if(!t.every(function(i){return i instanceof Vge}))throw new nI(\"Specified list of YAML types (or a single Type object) contains a non-Type object.\");return new bg({include:e,explicit:t})};zK.exports=bg});var XK=w((mXe,VK)=>{\"use strict\";var _ge=si();VK.exports=new _ge(\"tag:yaml.org,2002:str\",{kind:\"scalar\",construct:function(r){return r!==null?r:\"\"}})});var ZK=w((EXe,_K)=>{\"use strict\";var Zge=si();_K.exports=new Zge(\"tag:yaml.org,2002:seq\",{kind:\"sequence\",construct:function(r){return r!==null?r:[]}})});var eU=w((IXe,$K)=>{\"use strict\";var $ge=si();$K.exports=new $ge(\"tag:yaml.org,2002:map\",{kind:\"mapping\",construct:function(r){return r!==null?r:{}}})});var sI=w((yXe,tU)=>{\"use strict\";var efe=Yl();tU.exports=new efe({explicit:[XK(),ZK(),eU()]})});var iU=w((wXe,rU)=>{\"use strict\";var tfe=si();function rfe(r){if(r===null)return!0;var e=r.length;return e===1&&r===\"~\"||e===4&&(r===\"null\"||r===\"Null\"||r===\"NULL\")}function ife(){return null}function nfe(r){return r===null}rU.exports=new tfe(\"tag:yaml.org,2002:null\",{kind:\"scalar\",resolve:rfe,construct:ife,predicate:nfe,represent:{canonical:function(){return\"~\"},lowercase:function(){return\"null\"},uppercase:function(){return\"NULL\"},camelcase:function(){return\"Null\"}},defaultStyle:\"lowercase\"})});var sU=w((BXe,nU)=>{\"use strict\";var sfe=si();function ofe(r){if(r===null)return!1;var e=r.length;return e===4&&(r===\"true\"||r===\"True\"||r===\"TRUE\")||e===5&&(r===\"false\"||r===\"False\"||r===\"FALSE\")}function afe(r){return r===\"true\"||r===\"True\"||r===\"TRUE\"}function Afe(r){return Object.prototype.toString.call(r)===\"[object Boolean]\"}nU.exports=new sfe(\"tag:yaml.org,2002:bool\",{kind:\"scalar\",resolve:ofe,construct:afe,predicate:Afe,represent:{lowercase:function(r){return r?\"true\":\"false\"},uppercase:function(r){return r?\"TRUE\":\"FALSE\"},camelcase:function(r){return r?\"True\":\"False\"}},defaultStyle:\"lowercase\"})});var aU=w((QXe,oU)=>{\"use strict\";var lfe=Gl(),cfe=si();function ufe(r){return 48<=r&&r<=57||65<=r&&r<=70||97<=r&&r<=102}function gfe(r){return 48<=r&&r<=55}function ffe(r){return 48<=r&&r<=57}function hfe(r){if(r===null)return!1;var e=r.length,t=0,i=!1,n;if(!e)return!1;if(n=r[t],(n===\"-\"||n===\"+\")&&(n=r[++t]),n===\"0\"){if(t+1===e)return!0;if(n=r[++t],n===\"b\"){for(t++;t<e;t++)if(n=r[t],n!==\"_\"){if(n!==\"0\"&&n!==\"1\")return!1;i=!0}return i&&n!==\"_\"}if(n===\"x\"){for(t++;t<e;t++)if(n=r[t],n!==\"_\"){if(!ufe(r.charCodeAt(t)))return!1;i=!0}return i&&n!==\"_\"}for(;t<e;t++)if(n=r[t],n!==\"_\"){if(!gfe(r.charCodeAt(t)))return!1;i=!0}return i&&n!==\"_\"}if(n===\"_\")return!1;for(;t<e;t++)if(n=r[t],n!==\"_\"){if(n===\":\")break;if(!ffe(r.charCodeAt(t)))return!1;i=!0}return!i||n===\"_\"?!1:n!==\":\"?!0:/^(:[0-5]?[0-9])+$/.test(r.slice(t))}function pfe(r){var e=r,t=1,i,n,s=[];return e.indexOf(\"_\")!==-1&&(e=e.replace(/_/g,\"\")),i=e[0],(i===\"-\"||i===\"+\")&&(i===\"-\"&&(t=-1),e=e.slice(1),i=e[0]),e===\"0\"?0:i===\"0\"?e[1]===\"b\"?t*parseInt(e.slice(2),2):e[1]===\"x\"?t*parseInt(e,16):t*parseInt(e,8):e.indexOf(\":\")!==-1?(e.split(\":\").forEach(function(o){s.unshift(parseInt(o,10))}),e=0,n=1,s.forEach(function(o){e+=o*n,n*=60}),t*e):t*parseInt(e,10)}function dfe(r){return Object.prototype.toString.call(r)===\"[object Number]\"&&r%1===0&&!lfe.isNegativeZero(r)}oU.exports=new cfe(\"tag:yaml.org,2002:int\",{kind:\"scalar\",resolve:hfe,construct:pfe,predicate:dfe,represent:{binary:function(r){return r>=0?\"0b\"+r.toString(2):\"-0b\"+r.toString(2).slice(1)},octal:function(r){return r>=0?\"0\"+r.toString(8):\"-0\"+r.toString(8).slice(1)},decimal:function(r){return r.toString(10)},hexadecimal:function(r){return r>=0?\"0x\"+r.toString(16).toUpperCase():\"-0x\"+r.toString(16).toUpperCase().slice(1)}},defaultStyle:\"decimal\",styleAliases:{binary:[2,\"bin\"],octal:[8,\"oct\"],decimal:[10,\"dec\"],hexadecimal:[16,\"hex\"]}})});var cU=w((bXe,lU)=>{\"use strict\";var AU=Gl(),Cfe=si(),mfe=new RegExp(\"^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\.[0-9_]*|[-+]?\\\\.(?:inf|Inf|INF)|\\\\.(?:nan|NaN|NAN))$\");function Efe(r){return!(r===null||!mfe.test(r)||r[r.length-1]===\"_\")}function Ife(r){var e,t,i,n;return e=r.replace(/_/g,\"\").toLowerCase(),t=e[0]===\"-\"?-1:1,n=[],\"+-\".indexOf(e[0])>=0&&(e=e.slice(1)),e===\".inf\"?t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===\".nan\"?NaN:e.indexOf(\":\")>=0?(e.split(\":\").forEach(function(s){n.unshift(parseFloat(s,10))}),e=0,i=1,n.forEach(function(s){e+=s*i,i*=60}),t*e):t*parseFloat(e,10)}var yfe=/^[-+]?[0-9]+e/;function wfe(r,e){var t;if(isNaN(r))switch(e){case\"lowercase\":return\".nan\";case\"uppercase\":return\".NAN\";case\"camelcase\":return\".NaN\"}else if(Number.POSITIVE_INFINITY===r)switch(e){case\"lowercase\":return\".inf\";case\"uppercase\":return\".INF\";case\"camelcase\":return\".Inf\"}else if(Number.NEGATIVE_INFINITY===r)switch(e){case\"lowercase\":return\"-.inf\";case\"uppercase\":return\"-.INF\";case\"camelcase\":return\"-.Inf\"}else if(AU.isNegativeZero(r))return\"-0.0\";return t=r.toString(10),yfe.test(t)?t.replace(\"e\",\".e\"):t}function Bfe(r){return Object.prototype.toString.call(r)===\"[object Number]\"&&(r%1!==0||AU.isNegativeZero(r))}lU.exports=new Cfe(\"tag:yaml.org,2002:float\",{kind:\"scalar\",resolve:Efe,construct:Ife,predicate:Bfe,represent:wfe,defaultStyle:\"lowercase\"})});var xS=w((SXe,uU)=>{\"use strict\";var Qfe=Yl();uU.exports=new Qfe({include:[sI()],implicit:[iU(),sU(),aU(),cU()]})});var PS=w((vXe,gU)=>{\"use strict\";var bfe=Yl();gU.exports=new bfe({include:[xS()]})});var dU=w((xXe,pU)=>{\"use strict\";var Sfe=si(),fU=new RegExp(\"^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$\"),hU=new RegExp(\"^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\\\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\\\.([0-9]*))?(?:[ \\\\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$\");function vfe(r){return r===null?!1:fU.exec(r)!==null||hU.exec(r)!==null}function xfe(r){var e,t,i,n,s,o,a,l=0,c=null,u,g,f;if(e=fU.exec(r),e===null&&(e=hU.exec(r)),e===null)throw new Error(\"Date resolve error\");if(t=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(t,i,n));if(s=+e[4],o=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+=\"0\";l=+l}return e[9]&&(u=+e[10],g=+(e[11]||0),c=(u*60+g)*6e4,e[9]===\"-\"&&(c=-c)),f=new Date(Date.UTC(t,i,n,s,o,a,l)),c&&f.setTime(f.getTime()-c),f}function Pfe(r){return r.toISOString()}pU.exports=new Sfe(\"tag:yaml.org,2002:timestamp\",{kind:\"scalar\",resolve:vfe,construct:xfe,instanceOf:Date,represent:Pfe})});var mU=w((PXe,CU)=>{\"use strict\";var Dfe=si();function kfe(r){return r===\"<<\"||r===null}CU.exports=new Dfe(\"tag:yaml.org,2002:merge\",{kind:\"scalar\",resolve:kfe})});var yU=w((DXe,IU)=>{\"use strict\";var jl;try{EU=J,jl=EU(\"buffer\").Buffer}catch{}var EU,Rfe=si(),DS=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\\r`;function Ffe(r){if(r===null)return!1;var e,t,i=0,n=r.length,s=DS;for(t=0;t<n;t++)if(e=s.indexOf(r.charAt(t)),!(e>64)){if(e<0)return!1;i+=6}return i%8===0}function Nfe(r){var e,t,i=r.replace(/[\\r\\n=]/g,\"\"),n=i.length,s=DS,o=0,a=[];for(e=0;e<n;e++)e%4===0&&e&&(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)),o=o<<6|s.indexOf(i.charAt(e));return t=n%4*6,t===0?(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)):t===18?(a.push(o>>10&255),a.push(o>>2&255)):t===12&&a.push(o>>4&255),jl?jl.from?jl.from(a):new jl(a):a}function Lfe(r){var e=\"\",t=0,i,n,s=r.length,o=DS;for(i=0;i<s;i++)i%3===0&&i&&(e+=o[t>>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]),t=(t<<8)+r[i];return n=s%3,n===0?(e+=o[t>>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]):n===2?(e+=o[t>>10&63],e+=o[t>>4&63],e+=o[t<<2&63],e+=o[64]):n===1&&(e+=o[t>>2&63],e+=o[t<<4&63],e+=o[64],e+=o[64]),e}function Tfe(r){return jl&&jl.isBuffer(r)}IU.exports=new Rfe(\"tag:yaml.org,2002:binary\",{kind:\"scalar\",resolve:Ffe,construct:Nfe,predicate:Tfe,represent:Lfe})});var BU=w((kXe,wU)=>{\"use strict\";var Ofe=si(),Mfe=Object.prototype.hasOwnProperty,Kfe=Object.prototype.toString;function Ufe(r){if(r===null)return!0;var e=[],t,i,n,s,o,a=r;for(t=0,i=a.length;t<i;t+=1){if(n=a[t],o=!1,Kfe.call(n)!==\"[object Object]\")return!1;for(s in n)if(Mfe.call(n,s))if(!o)o=!0;else return!1;if(!o)return!1;if(e.indexOf(s)===-1)e.push(s);else return!1}return!0}function Hfe(r){return r!==null?r:[]}wU.exports=new Ofe(\"tag:yaml.org,2002:omap\",{kind:\"sequence\",resolve:Ufe,construct:Hfe})});var bU=w((RXe,QU)=>{\"use strict\";var Gfe=si(),Yfe=Object.prototype.toString;function jfe(r){if(r===null)return!0;var e,t,i,n,s,o=r;for(s=new Array(o.length),e=0,t=o.length;e<t;e+=1){if(i=o[e],Yfe.call(i)!==\"[object Object]\"||(n=Object.keys(i),n.length!==1))return!1;s[e]=[n[0],i[n[0]]]}return!0}function qfe(r){if(r===null)return[];var e,t,i,n,s,o=r;for(s=new Array(o.length),e=0,t=o.length;e<t;e+=1)i=o[e],n=Object.keys(i),s[e]=[n[0],i[n[0]]];return s}QU.exports=new Gfe(\"tag:yaml.org,2002:pairs\",{kind:\"sequence\",resolve:jfe,construct:qfe})});var vU=w((FXe,SU)=>{\"use strict\";var Jfe=si(),Wfe=Object.prototype.hasOwnProperty;function zfe(r){if(r===null)return!0;var e,t=r;for(e in t)if(Wfe.call(t,e)&&t[e]!==null)return!1;return!0}function Vfe(r){return r!==null?r:{}}SU.exports=new Jfe(\"tag:yaml.org,2002:set\",{kind:\"mapping\",resolve:zfe,construct:Vfe})});var Sg=w((NXe,xU)=>{\"use strict\";var Xfe=Yl();xU.exports=new Xfe({include:[PS()],implicit:[dU(),mU()],explicit:[yU(),BU(),bU(),vU()]})});var DU=w((LXe,PU)=>{\"use strict\";var _fe=si();function Zfe(){return!0}function $fe(){}function ehe(){return\"\"}function the(r){return typeof r>\"u\"}PU.exports=new _fe(\"tag:yaml.org,2002:js/undefined\",{kind:\"scalar\",resolve:Zfe,construct:$fe,predicate:the,represent:ehe})});var RU=w((TXe,kU)=>{\"use strict\";var rhe=si();function ihe(r){if(r===null||r.length===0)return!1;var e=r,t=/\\/([gim]*)$/.exec(r),i=\"\";return!(e[0]===\"/\"&&(t&&(i=t[1]),i.length>3||e[e.length-i.length-1]!==\"/\"))}function nhe(r){var e=r,t=/\\/([gim]*)$/.exec(r),i=\"\";return e[0]===\"/\"&&(t&&(i=t[1]),e=e.slice(1,e.length-i.length-1)),new RegExp(e,i)}function she(r){var e=\"/\"+r.source+\"/\";return r.global&&(e+=\"g\"),r.multiline&&(e+=\"m\"),r.ignoreCase&&(e+=\"i\"),e}function ohe(r){return Object.prototype.toString.call(r)===\"[object RegExp]\"}kU.exports=new rhe(\"tag:yaml.org,2002:js/regexp\",{kind:\"scalar\",resolve:ihe,construct:nhe,predicate:ohe,represent:she})});var LU=w((OXe,NU)=>{\"use strict\";var oI;try{FU=J,oI=FU(\"esprima\")}catch{typeof window<\"u\"&&(oI=window.esprima)}var FU,ahe=si();function Ahe(r){if(r===null)return!1;try{var e=\"(\"+r+\")\",t=oI.parse(e,{range:!0});return!(t.type!==\"Program\"||t.body.length!==1||t.body[0].type!==\"ExpressionStatement\"||t.body[0].expression.type!==\"ArrowFunctionExpression\"&&t.body[0].expression.type!==\"FunctionExpression\")}catch{return!1}}function lhe(r){var e=\"(\"+r+\")\",t=oI.parse(e,{range:!0}),i=[],n;if(t.type!==\"Program\"||t.body.length!==1||t.body[0].type!==\"ExpressionStatement\"||t.body[0].expression.type!==\"ArrowFunctionExpression\"&&t.body[0].expression.type!==\"FunctionExpression\")throw new Error(\"Failed to resolve function\");return t.body[0].expression.params.forEach(function(s){i.push(s.name)}),n=t.body[0].expression.body.range,t.body[0].expression.body.type===\"BlockStatement\"?new Function(i,e.slice(n[0]+1,n[1]-1)):new Function(i,\"return \"+e.slice(n[0],n[1]))}function che(r){return r.toString()}function uhe(r){return Object.prototype.toString.call(r)===\"[object Function]\"}NU.exports=new ahe(\"tag:yaml.org,2002:js/function\",{kind:\"scalar\",resolve:Ahe,construct:lhe,predicate:uhe,represent:che})});var Mp=w((MXe,OU)=>{\"use strict\";var TU=Yl();OU.exports=TU.DEFAULT=new TU({include:[Sg()],explicit:[DU(),RU(),LU()]})});var r2=w((KXe,Kp)=>{\"use strict\";var da=Gl(),jU=Qg(),ghe=jK(),qU=Sg(),fhe=Mp(),wA=Object.prototype.hasOwnProperty,aI=1,JU=2,WU=3,AI=4,kS=1,hhe=2,MU=3,phe=/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F-\\x84\\x86-\\x9F\\uFFFE\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/,dhe=/[\\x85\\u2028\\u2029]/,Che=/[,\\[\\]\\{\\}]/,zU=/^(?:!|!!|![a-z\\-]+!)$/i,VU=/^(?:!|[^,\\[\\]\\{\\}])(?:%[0-9a-f]{2}|[0-9a-z\\-#;\\/\\?:@&=\\+\\$,_\\.!~\\*'\\(\\)\\[\\]])*$/i;function KU(r){return Object.prototype.toString.call(r)}function Bo(r){return r===10||r===13}function Jl(r){return r===9||r===32}function un(r){return r===9||r===32||r===10||r===13}function vg(r){return r===44||r===91||r===93||r===123||r===125}function mhe(r){var e;return 48<=r&&r<=57?r-48:(e=r|32,97<=e&&e<=102?e-97+10:-1)}function Ehe(r){return r===120?2:r===117?4:r===85?8:0}function Ihe(r){return 48<=r&&r<=57?r-48:-1}function UU(r){return r===48?\"\\0\":r===97?\"\\x07\":r===98?\"\\b\":r===116||r===9?\"\t\":r===110?`\n`:r===118?\"\\v\":r===102?\"\\f\":r===114?\"\\r\":r===101?\"\\x1B\":r===32?\" \":r===34?'\"':r===47?\"/\":r===92?\"\\\\\":r===78?\"\\x85\":r===95?\"\\xA0\":r===76?\"\\u2028\":r===80?\"\\u2029\":\"\"}function yhe(r){return r<=65535?String.fromCharCode(r):String.fromCharCode((r-65536>>10)+55296,(r-65536&1023)+56320)}var XU=new Array(256),_U=new Array(256);for(ql=0;ql<256;ql++)XU[ql]=UU(ql)?1:0,_U[ql]=UU(ql);var ql;function whe(r,e){this.input=r,this.filename=e.filename||null,this.schema=e.schema||fhe,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=r.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function ZU(r,e){return new jU(e,new ghe(r.filename,r.input,r.position,r.line,r.position-r.lineStart))}function ft(r,e){throw ZU(r,e)}function lI(r,e){r.onWarning&&r.onWarning.call(null,ZU(r,e))}var HU={YAML:function(e,t,i){var n,s,o;e.version!==null&&ft(e,\"duplication of %YAML directive\"),i.length!==1&&ft(e,\"YAML directive accepts exactly one argument\"),n=/^([0-9]+)\\.([0-9]+)$/.exec(i[0]),n===null&&ft(e,\"ill-formed argument of the YAML directive\"),s=parseInt(n[1],10),o=parseInt(n[2],10),s!==1&&ft(e,\"unacceptable YAML version of the document\"),e.version=i[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&lI(e,\"unsupported YAML version of the document\")},TAG:function(e,t,i){var n,s;i.length!==2&&ft(e,\"TAG directive accepts exactly two arguments\"),n=i[0],s=i[1],zU.test(n)||ft(e,\"ill-formed tag handle (first argument) of the TAG directive\"),wA.call(e.tagMap,n)&&ft(e,'there is a previously declared suffix for \"'+n+'\" tag handle'),VU.test(s)||ft(e,\"ill-formed tag prefix (second argument) of the TAG directive\"),e.tagMap[n]=s}};function yA(r,e,t,i){var n,s,o,a;if(e<t){if(a=r.input.slice(e,t),i)for(n=0,s=a.length;n<s;n+=1)o=a.charCodeAt(n),o===9||32<=o&&o<=1114111||ft(r,\"expected valid JSON character\");else phe.test(a)&&ft(r,\"the stream contains non-printable characters\");r.result+=a}}function GU(r,e,t,i){var n,s,o,a;for(da.isObject(t)||ft(r,\"cannot merge mappings; the provided source object is unacceptable\"),n=Object.keys(t),o=0,a=n.length;o<a;o+=1)s=n[o],wA.call(e,s)||(e[s]=t[s],i[s]=!0)}function xg(r,e,t,i,n,s,o,a){var l,c;if(Array.isArray(n))for(n=Array.prototype.slice.call(n),l=0,c=n.length;l<c;l+=1)Array.isArray(n[l])&&ft(r,\"nested arrays are not supported inside keys\"),typeof n==\"object\"&&KU(n[l])===\"[object Object]\"&&(n[l]=\"[object Object]\");if(typeof n==\"object\"&&KU(n)===\"[object Object]\"&&(n=\"[object Object]\"),n=String(n),e===null&&(e={}),i===\"tag:yaml.org,2002:merge\")if(Array.isArray(s))for(l=0,c=s.length;l<c;l+=1)GU(r,e,s[l],t);else GU(r,e,s,t);else!r.json&&!wA.call(t,n)&&wA.call(e,n)&&(r.line=o||r.line,r.position=a||r.position,ft(r,\"duplicated mapping key\")),e[n]=s,delete t[n];return e}function RS(r){var e;e=r.input.charCodeAt(r.position),e===10?r.position++:e===13?(r.position++,r.input.charCodeAt(r.position)===10&&r.position++):ft(r,\"a line break is expected\"),r.line+=1,r.lineStart=r.position}function zr(r,e,t){for(var i=0,n=r.input.charCodeAt(r.position);n!==0;){for(;Jl(n);)n=r.input.charCodeAt(++r.position);if(e&&n===35)do n=r.input.charCodeAt(++r.position);while(n!==10&&n!==13&&n!==0);if(Bo(n))for(RS(r),n=r.input.charCodeAt(r.position),i++,r.lineIndent=0;n===32;)r.lineIndent++,n=r.input.charCodeAt(++r.position);else break}return t!==-1&&i!==0&&r.lineIndent<t&&lI(r,\"deficient indentation\"),i}function cI(r){var e=r.position,t;return t=r.input.charCodeAt(e),!!((t===45||t===46)&&t===r.input.charCodeAt(e+1)&&t===r.input.charCodeAt(e+2)&&(e+=3,t=r.input.charCodeAt(e),t===0||un(t)))}function FS(r,e){e===1?r.result+=\" \":e>1&&(r.result+=da.repeat(`\n`,e-1))}function Bhe(r,e,t){var i,n,s,o,a,l,c,u,g=r.kind,f=r.result,h;if(h=r.input.charCodeAt(r.position),un(h)||vg(h)||h===35||h===38||h===42||h===33||h===124||h===62||h===39||h===34||h===37||h===64||h===96||(h===63||h===45)&&(n=r.input.charCodeAt(r.position+1),un(n)||t&&vg(n)))return!1;for(r.kind=\"scalar\",r.result=\"\",s=o=r.position,a=!1;h!==0;){if(h===58){if(n=r.input.charCodeAt(r.position+1),un(n)||t&&vg(n))break}else if(h===35){if(i=r.input.charCodeAt(r.position-1),un(i))break}else{if(r.position===r.lineStart&&cI(r)||t&&vg(h))break;if(Bo(h))if(l=r.line,c=r.lineStart,u=r.lineIndent,zr(r,!1,-1),r.lineIndent>=e){a=!0,h=r.input.charCodeAt(r.position);continue}else{r.position=o,r.line=l,r.lineStart=c,r.lineIndent=u;break}}a&&(yA(r,s,o,!1),FS(r,r.line-l),s=o=r.position,a=!1),Jl(h)||(o=r.position+1),h=r.input.charCodeAt(++r.position)}return yA(r,s,o,!1),r.result?!0:(r.kind=g,r.result=f,!1)}function Qhe(r,e){var t,i,n;if(t=r.input.charCodeAt(r.position),t!==39)return!1;for(r.kind=\"scalar\",r.result=\"\",r.position++,i=n=r.position;(t=r.input.charCodeAt(r.position))!==0;)if(t===39)if(yA(r,i,r.position,!0),t=r.input.charCodeAt(++r.position),t===39)i=r.position,r.position++,n=r.position;else return!0;else Bo(t)?(yA(r,i,n,!0),FS(r,zr(r,!1,e)),i=n=r.position):r.position===r.lineStart&&cI(r)?ft(r,\"unexpected end of the document within a single quoted scalar\"):(r.position++,n=r.position);ft(r,\"unexpected end of the stream within a single quoted scalar\")}function bhe(r,e){var t,i,n,s,o,a;if(a=r.input.charCodeAt(r.position),a!==34)return!1;for(r.kind=\"scalar\",r.result=\"\",r.position++,t=i=r.position;(a=r.input.charCodeAt(r.position))!==0;){if(a===34)return yA(r,t,r.position,!0),r.position++,!0;if(a===92){if(yA(r,t,r.position,!0),a=r.input.charCodeAt(++r.position),Bo(a))zr(r,!1,e);else if(a<256&&XU[a])r.result+=_U[a],r.position++;else if((o=Ehe(a))>0){for(n=o,s=0;n>0;n--)a=r.input.charCodeAt(++r.position),(o=mhe(a))>=0?s=(s<<4)+o:ft(r,\"expected hexadecimal character\");r.result+=yhe(s),r.position++}else ft(r,\"unknown escape sequence\");t=i=r.position}else Bo(a)?(yA(r,t,i,!0),FS(r,zr(r,!1,e)),t=i=r.position):r.position===r.lineStart&&cI(r)?ft(r,\"unexpected end of the document within a double quoted scalar\"):(r.position++,i=r.position)}ft(r,\"unexpected end of the stream within a double quoted scalar\")}function She(r,e){var t=!0,i,n=r.tag,s,o=r.anchor,a,l,c,u,g,f={},h,p,C,y;if(y=r.input.charCodeAt(r.position),y===91)l=93,g=!1,s=[];else if(y===123)l=125,g=!0,s={};else return!1;for(r.anchor!==null&&(r.anchorMap[r.anchor]=s),y=r.input.charCodeAt(++r.position);y!==0;){if(zr(r,!0,e),y=r.input.charCodeAt(r.position),y===l)return r.position++,r.tag=n,r.anchor=o,r.kind=g?\"mapping\":\"sequence\",r.result=s,!0;t||ft(r,\"missed comma between flow collection entries\"),p=h=C=null,c=u=!1,y===63&&(a=r.input.charCodeAt(r.position+1),un(a)&&(c=u=!0,r.position++,zr(r,!0,e))),i=r.line,Pg(r,e,aI,!1,!0),p=r.tag,h=r.result,zr(r,!0,e),y=r.input.charCodeAt(r.position),(u||r.line===i)&&y===58&&(c=!0,y=r.input.charCodeAt(++r.position),zr(r,!0,e),Pg(r,e,aI,!1,!0),C=r.result),g?xg(r,s,f,p,h,C):c?s.push(xg(r,null,f,p,h,C)):s.push(h),zr(r,!0,e),y=r.input.charCodeAt(r.position),y===44?(t=!0,y=r.input.charCodeAt(++r.position)):t=!1}ft(r,\"unexpected end of the stream within a flow collection\")}function vhe(r,e){var t,i,n=kS,s=!1,o=!1,a=e,l=0,c=!1,u,g;if(g=r.input.charCodeAt(r.position),g===124)i=!1;else if(g===62)i=!0;else return!1;for(r.kind=\"scalar\",r.result=\"\";g!==0;)if(g=r.input.charCodeAt(++r.position),g===43||g===45)kS===n?n=g===43?MU:hhe:ft(r,\"repeat of a chomping mode identifier\");else if((u=Ihe(g))>=0)u===0?ft(r,\"bad explicit indentation width of a block scalar; it cannot be less than one\"):o?ft(r,\"repeat of an indentation width identifier\"):(a=e+u-1,o=!0);else break;if(Jl(g)){do g=r.input.charCodeAt(++r.position);while(Jl(g));if(g===35)do g=r.input.charCodeAt(++r.position);while(!Bo(g)&&g!==0)}for(;g!==0;){for(RS(r),r.lineIndent=0,g=r.input.charCodeAt(r.position);(!o||r.lineIndent<a)&&g===32;)r.lineIndent++,g=r.input.charCodeAt(++r.position);if(!o&&r.lineIndent>a&&(a=r.lineIndent),Bo(g)){l++;continue}if(r.lineIndent<a){n===MU?r.result+=da.repeat(`\n`,s?1+l:l):n===kS&&s&&(r.result+=`\n`);break}for(i?Jl(g)?(c=!0,r.result+=da.repeat(`\n`,s?1+l:l)):c?(c=!1,r.result+=da.repeat(`\n`,l+1)):l===0?s&&(r.result+=\" \"):r.result+=da.repeat(`\n`,l):r.result+=da.repeat(`\n`,s?1+l:l),s=!0,o=!0,l=0,t=r.position;!Bo(g)&&g!==0;)g=r.input.charCodeAt(++r.position);yA(r,t,r.position,!1)}return!0}function YU(r,e){var t,i=r.tag,n=r.anchor,s=[],o,a=!1,l;for(r.anchor!==null&&(r.anchorMap[r.anchor]=s),l=r.input.charCodeAt(r.position);l!==0&&!(l!==45||(o=r.input.charCodeAt(r.position+1),!un(o)));){if(a=!0,r.position++,zr(r,!0,-1)&&r.lineIndent<=e){s.push(null),l=r.input.charCodeAt(r.position);continue}if(t=r.line,Pg(r,e,WU,!1,!0),s.push(r.result),zr(r,!0,-1),l=r.input.charCodeAt(r.position),(r.line===t||r.lineIndent>e)&&l!==0)ft(r,\"bad indentation of a sequence entry\");else if(r.lineIndent<e)break}return a?(r.tag=i,r.anchor=n,r.kind=\"sequence\",r.result=s,!0):!1}function xhe(r,e,t){var i,n,s,o,a=r.tag,l=r.anchor,c={},u={},g=null,f=null,h=null,p=!1,C=!1,y;for(r.anchor!==null&&(r.anchorMap[r.anchor]=c),y=r.input.charCodeAt(r.position);y!==0;){if(i=r.input.charCodeAt(r.position+1),s=r.line,o=r.position,(y===63||y===58)&&un(i))y===63?(p&&(xg(r,c,u,g,f,null),g=f=h=null),C=!0,p=!0,n=!0):p?(p=!1,n=!0):ft(r,\"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line\"),r.position+=1,y=i;else if(Pg(r,t,JU,!1,!0))if(r.line===s){for(y=r.input.charCodeAt(r.position);Jl(y);)y=r.input.charCodeAt(++r.position);if(y===58)y=r.input.charCodeAt(++r.position),un(y)||ft(r,\"a whitespace character is expected after the key-value separator within a block mapping\"),p&&(xg(r,c,u,g,f,null),g=f=h=null),C=!0,p=!1,n=!1,g=r.tag,f=r.result;else if(C)ft(r,\"can not read an implicit mapping pair; a colon is missed\");else return r.tag=a,r.anchor=l,!0}else if(C)ft(r,\"can not read a block mapping entry; a multiline key may not be an implicit key\");else return r.tag=a,r.anchor=l,!0;else break;if((r.line===s||r.lineIndent>e)&&(Pg(r,e,AI,!0,n)&&(p?f=r.result:h=r.result),p||(xg(r,c,u,g,f,h,s,o),g=f=h=null),zr(r,!0,-1),y=r.input.charCodeAt(r.position)),r.lineIndent>e&&y!==0)ft(r,\"bad indentation of a mapping entry\");else if(r.lineIndent<e)break}return p&&xg(r,c,u,g,f,null),C&&(r.tag=a,r.anchor=l,r.kind=\"mapping\",r.result=c),C}function Phe(r){var e,t=!1,i=!1,n,s,o;if(o=r.input.charCodeAt(r.position),o!==33)return!1;if(r.tag!==null&&ft(r,\"duplication of a tag property\"),o=r.input.charCodeAt(++r.position),o===60?(t=!0,o=r.input.charCodeAt(++r.position)):o===33?(i=!0,n=\"!!\",o=r.input.charCodeAt(++r.position)):n=\"!\",e=r.position,t){do o=r.input.charCodeAt(++r.position);while(o!==0&&o!==62);r.position<r.length?(s=r.input.slice(e,r.position),o=r.input.charCodeAt(++r.position)):ft(r,\"unexpected end of the stream within a verbatim tag\")}else{for(;o!==0&&!un(o);)o===33&&(i?ft(r,\"tag suffix cannot contain exclamation marks\"):(n=r.input.slice(e-1,r.position+1),zU.test(n)||ft(r,\"named tag handle cannot contain such characters\"),i=!0,e=r.position+1)),o=r.input.charCodeAt(++r.position);s=r.input.slice(e,r.position),Che.test(s)&&ft(r,\"tag suffix cannot contain flow indicator characters\")}return s&&!VU.test(s)&&ft(r,\"tag name cannot contain such characters: \"+s),t?r.tag=s:wA.call(r.tagMap,n)?r.tag=r.tagMap[n]+s:n===\"!\"?r.tag=\"!\"+s:n===\"!!\"?r.tag=\"tag:yaml.org,2002:\"+s:ft(r,'undeclared tag handle \"'+n+'\"'),!0}function Dhe(r){var e,t;if(t=r.input.charCodeAt(r.position),t!==38)return!1;for(r.anchor!==null&&ft(r,\"duplication of an anchor property\"),t=r.input.charCodeAt(++r.position),e=r.position;t!==0&&!un(t)&&!vg(t);)t=r.input.charCodeAt(++r.position);return r.position===e&&ft(r,\"name of an anchor node must contain at least one character\"),r.anchor=r.input.slice(e,r.position),!0}function khe(r){var e,t,i;if(i=r.input.charCodeAt(r.position),i!==42)return!1;for(i=r.input.charCodeAt(++r.position),e=r.position;i!==0&&!un(i)&&!vg(i);)i=r.input.charCodeAt(++r.position);return r.position===e&&ft(r,\"name of an alias node must contain at least one character\"),t=r.input.slice(e,r.position),wA.call(r.anchorMap,t)||ft(r,'unidentified alias \"'+t+'\"'),r.result=r.anchorMap[t],zr(r,!0,-1),!0}function Pg(r,e,t,i,n){var s,o,a,l=1,c=!1,u=!1,g,f,h,p,C;if(r.listener!==null&&r.listener(\"open\",r),r.tag=null,r.anchor=null,r.kind=null,r.result=null,s=o=a=AI===t||WU===t,i&&zr(r,!0,-1)&&(c=!0,r.lineIndent>e?l=1:r.lineIndent===e?l=0:r.lineIndent<e&&(l=-1)),l===1)for(;Phe(r)||Dhe(r);)zr(r,!0,-1)?(c=!0,a=s,r.lineIndent>e?l=1:r.lineIndent===e?l=0:r.lineIndent<e&&(l=-1)):a=!1;if(a&&(a=c||n),(l===1||AI===t)&&(aI===t||JU===t?p=e:p=e+1,C=r.position-r.lineStart,l===1?a&&(YU(r,C)||xhe(r,C,p))||She(r,p)?u=!0:(o&&vhe(r,p)||Qhe(r,p)||bhe(r,p)?u=!0:khe(r)?(u=!0,(r.tag!==null||r.anchor!==null)&&ft(r,\"alias node should not have any properties\")):Bhe(r,p,aI===t)&&(u=!0,r.tag===null&&(r.tag=\"?\")),r.anchor!==null&&(r.anchorMap[r.anchor]=r.result)):l===0&&(u=a&&YU(r,C))),r.tag!==null&&r.tag!==\"!\")if(r.tag===\"?\"){for(r.result!==null&&r.kind!==\"scalar\"&&ft(r,'unacceptable node kind for !<?> tag; it should be \"scalar\", not \"'+r.kind+'\"'),g=0,f=r.implicitTypes.length;g<f;g+=1)if(h=r.implicitTypes[g],h.resolve(r.result)){r.result=h.construct(r.result),r.tag=h.tag,r.anchor!==null&&(r.anchorMap[r.anchor]=r.result);break}}else wA.call(r.typeMap[r.kind||\"fallback\"],r.tag)?(h=r.typeMap[r.kind||\"fallback\"][r.tag],r.result!==null&&h.kind!==r.kind&&ft(r,\"unacceptable node kind for !<\"+r.tag+'> tag; it should be \"'+h.kind+'\", not \"'+r.kind+'\"'),h.resolve(r.result)?(r.result=h.construct(r.result),r.anchor!==null&&(r.anchorMap[r.anchor]=r.result)):ft(r,\"cannot resolve a node with !<\"+r.tag+\"> explicit tag\")):ft(r,\"unknown tag !<\"+r.tag+\">\");return r.listener!==null&&r.listener(\"close\",r),r.tag!==null||r.anchor!==null||u}function Rhe(r){var e=r.position,t,i,n,s=!1,o;for(r.version=null,r.checkLineBreaks=r.legacy,r.tagMap={},r.anchorMap={};(o=r.input.charCodeAt(r.position))!==0&&(zr(r,!0,-1),o=r.input.charCodeAt(r.position),!(r.lineIndent>0||o!==37));){for(s=!0,o=r.input.charCodeAt(++r.position),t=r.position;o!==0&&!un(o);)o=r.input.charCodeAt(++r.position);for(i=r.input.slice(t,r.position),n=[],i.length<1&&ft(r,\"directive name must not be less than one character in length\");o!==0;){for(;Jl(o);)o=r.input.charCodeAt(++r.position);if(o===35){do o=r.input.charCodeAt(++r.position);while(o!==0&&!Bo(o));break}if(Bo(o))break;for(t=r.position;o!==0&&!un(o);)o=r.input.charCodeAt(++r.position);n.push(r.input.slice(t,r.position))}o!==0&&RS(r),wA.call(HU,i)?HU[i](r,i,n):lI(r,'unknown document directive \"'+i+'\"')}if(zr(r,!0,-1),r.lineIndent===0&&r.input.charCodeAt(r.position)===45&&r.input.charCodeAt(r.position+1)===45&&r.input.charCodeAt(r.position+2)===45?(r.position+=3,zr(r,!0,-1)):s&&ft(r,\"directives end mark is expected\"),Pg(r,r.lineIndent-1,AI,!1,!0),zr(r,!0,-1),r.checkLineBreaks&&dhe.test(r.input.slice(e,r.position))&&lI(r,\"non-ASCII line breaks are interpreted as content\"),r.documents.push(r.result),r.position===r.lineStart&&cI(r)){r.input.charCodeAt(r.position)===46&&(r.position+=3,zr(r,!0,-1));return}if(r.position<r.length-1)ft(r,\"end of the stream or a document separator is expected\");else return}function $U(r,e){r=String(r),e=e||{},r.length!==0&&(r.charCodeAt(r.length-1)!==10&&r.charCodeAt(r.length-1)!==13&&(r+=`\n`),r.charCodeAt(0)===65279&&(r=r.slice(1)));var t=new whe(r,e),i=r.indexOf(\"\\0\");for(i!==-1&&(t.position=i,ft(t,\"null byte is not allowed in input\")),t.input+=\"\\0\";t.input.charCodeAt(t.position)===32;)t.lineIndent+=1,t.position+=1;for(;t.position<t.length-1;)Rhe(t);return t.documents}function e2(r,e,t){e!==null&&typeof e==\"object\"&&typeof t>\"u\"&&(t=e,e=null);var i=$U(r,t);if(typeof e!=\"function\")return i;for(var n=0,s=i.length;n<s;n+=1)e(i[n])}function t2(r,e){var t=$U(r,e);if(t.length!==0){if(t.length===1)return t[0];throw new jU(\"expected a single document in the stream, but found more\")}}function Fhe(r,e,t){return typeof e==\"object\"&&e!==null&&typeof t>\"u\"&&(t=e,e=null),e2(r,e,da.extend({schema:qU},t))}function Nhe(r,e){return t2(r,da.extend({schema:qU},e))}Kp.exports.loadAll=e2;Kp.exports.load=t2;Kp.exports.safeLoadAll=Fhe;Kp.exports.safeLoad=Nhe});var b2=w((UXe,OS)=>{\"use strict\";var Hp=Gl(),Gp=Qg(),Lhe=Mp(),The=Sg(),c2=Object.prototype.toString,u2=Object.prototype.hasOwnProperty,Ohe=9,Up=10,Mhe=13,Khe=32,Uhe=33,Hhe=34,g2=35,Ghe=37,Yhe=38,jhe=39,qhe=42,f2=44,Jhe=45,h2=58,Whe=61,zhe=62,Vhe=63,Xhe=64,p2=91,d2=93,_he=96,C2=123,Zhe=124,m2=125,Fi={};Fi[0]=\"\\\\0\";Fi[7]=\"\\\\a\";Fi[8]=\"\\\\b\";Fi[9]=\"\\\\t\";Fi[10]=\"\\\\n\";Fi[11]=\"\\\\v\";Fi[12]=\"\\\\f\";Fi[13]=\"\\\\r\";Fi[27]=\"\\\\e\";Fi[34]='\\\\\"';Fi[92]=\"\\\\\\\\\";Fi[133]=\"\\\\N\";Fi[160]=\"\\\\_\";Fi[8232]=\"\\\\L\";Fi[8233]=\"\\\\P\";var $he=[\"y\",\"Y\",\"yes\",\"Yes\",\"YES\",\"on\",\"On\",\"ON\",\"n\",\"N\",\"no\",\"No\",\"NO\",\"off\",\"Off\",\"OFF\"];function epe(r,e){var t,i,n,s,o,a,l;if(e===null)return{};for(t={},i=Object.keys(e),n=0,s=i.length;n<s;n+=1)o=i[n],a=String(e[o]),o.slice(0,2)===\"!!\"&&(o=\"tag:yaml.org,2002:\"+o.slice(2)),l=r.compiledTypeMap.fallback[o],l&&u2.call(l.styleAliases,a)&&(a=l.styleAliases[a]),t[o]=a;return t}function i2(r){var e,t,i;if(e=r.toString(16).toUpperCase(),r<=255)t=\"x\",i=2;else if(r<=65535)t=\"u\",i=4;else if(r<=4294967295)t=\"U\",i=8;else throw new Gp(\"code point within a string may not be greater than 0xFFFFFFFF\");return\"\\\\\"+t+Hp.repeat(\"0\",i-e.length)+e}function tpe(r){this.schema=r.schema||Lhe,this.indent=Math.max(1,r.indent||2),this.noArrayIndent=r.noArrayIndent||!1,this.skipInvalid=r.skipInvalid||!1,this.flowLevel=Hp.isNothing(r.flowLevel)?-1:r.flowLevel,this.styleMap=epe(this.schema,r.styles||null),this.sortKeys=r.sortKeys||!1,this.lineWidth=r.lineWidth||80,this.noRefs=r.noRefs||!1,this.noCompatMode=r.noCompatMode||!1,this.condenseFlow=r.condenseFlow||!1,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result=\"\",this.duplicates=[],this.usedDuplicates=null}function n2(r,e){for(var t=Hp.repeat(\" \",e),i=0,n=-1,s=\"\",o,a=r.length;i<a;)n=r.indexOf(`\n`,i),n===-1?(o=r.slice(i),i=a):(o=r.slice(i,n+1),i=n+1),o.length&&o!==`\n`&&(s+=t),s+=o;return s}function NS(r,e){return`\n`+Hp.repeat(\" \",r.indent*e)}function rpe(r,e){var t,i,n;for(t=0,i=r.implicitTypes.length;t<i;t+=1)if(n=r.implicitTypes[t],n.resolve(e))return!0;return!1}function TS(r){return r===Khe||r===Ohe}function Dg(r){return 32<=r&&r<=126||161<=r&&r<=55295&&r!==8232&&r!==8233||57344<=r&&r<=65533&&r!==65279||65536<=r&&r<=1114111}function ipe(r){return Dg(r)&&!TS(r)&&r!==65279&&r!==Mhe&&r!==Up}function s2(r,e){return Dg(r)&&r!==65279&&r!==f2&&r!==p2&&r!==d2&&r!==C2&&r!==m2&&r!==h2&&(r!==g2||e&&ipe(e))}function npe(r){return Dg(r)&&r!==65279&&!TS(r)&&r!==Jhe&&r!==Vhe&&r!==h2&&r!==f2&&r!==p2&&r!==d2&&r!==C2&&r!==m2&&r!==g2&&r!==Yhe&&r!==qhe&&r!==Uhe&&r!==Zhe&&r!==Whe&&r!==zhe&&r!==jhe&&r!==Hhe&&r!==Ghe&&r!==Xhe&&r!==_he}function E2(r){var e=/^\\n* /;return e.test(r)}var I2=1,y2=2,w2=3,B2=4,uI=5;function spe(r,e,t,i,n){var s,o,a,l=!1,c=!1,u=i!==-1,g=-1,f=npe(r.charCodeAt(0))&&!TS(r.charCodeAt(r.length-1));if(e)for(s=0;s<r.length;s++){if(o=r.charCodeAt(s),!Dg(o))return uI;a=s>0?r.charCodeAt(s-1):null,f=f&&s2(o,a)}else{for(s=0;s<r.length;s++){if(o=r.charCodeAt(s),o===Up)l=!0,u&&(c=c||s-g-1>i&&r[g+1]!==\" \",g=s);else if(!Dg(o))return uI;a=s>0?r.charCodeAt(s-1):null,f=f&&s2(o,a)}c=c||u&&s-g-1>i&&r[g+1]!==\" \"}return!l&&!c?f&&!n(r)?I2:y2:t>9&&E2(r)?uI:c?B2:w2}function ope(r,e,t,i){r.dump=function(){if(e.length===0)return\"''\";if(!r.noCompatMode&&$he.indexOf(e)!==-1)return\"'\"+e+\"'\";var n=r.indent*Math.max(1,t),s=r.lineWidth===-1?-1:Math.max(Math.min(r.lineWidth,40),r.lineWidth-n),o=i||r.flowLevel>-1&&t>=r.flowLevel;function a(l){return rpe(r,l)}switch(spe(e,o,r.indent,s,a)){case I2:return e;case y2:return\"'\"+e.replace(/'/g,\"''\")+\"'\";case w2:return\"|\"+o2(e,r.indent)+a2(n2(e,n));case B2:return\">\"+o2(e,r.indent)+a2(n2(ape(e,s),n));case uI:return'\"'+Ape(e,s)+'\"';default:throw new Gp(\"impossible error: invalid scalar style\")}}()}function o2(r,e){var t=E2(r)?String(e):\"\",i=r[r.length-1]===`\n`,n=i&&(r[r.length-2]===`\n`||r===`\n`),s=n?\"+\":i?\"\":\"-\";return t+s+`\n`}function a2(r){return r[r.length-1]===`\n`?r.slice(0,-1):r}function ape(r,e){for(var t=/(\\n+)([^\\n]*)/g,i=function(){var c=r.indexOf(`\n`);return c=c!==-1?c:r.length,t.lastIndex=c,A2(r.slice(0,c),e)}(),n=r[0]===`\n`||r[0]===\" \",s,o;o=t.exec(r);){var a=o[1],l=o[2];s=l[0]===\" \",i+=a+(!n&&!s&&l!==\"\"?`\n`:\"\")+A2(l,e),n=s}return i}function A2(r,e){if(r===\"\"||r[0]===\" \")return r;for(var t=/ [^ ]/g,i,n=0,s,o=0,a=0,l=\"\";i=t.exec(r);)a=i.index,a-n>e&&(s=o>n?o:a,l+=`\n`+r.slice(n,s),n=s+1),o=a;return l+=`\n`,r.length-n>e&&o>n?l+=r.slice(n,o)+`\n`+r.slice(o+1):l+=r.slice(n),l.slice(1)}function Ape(r){for(var e=\"\",t,i,n,s=0;s<r.length;s++){if(t=r.charCodeAt(s),t>=55296&&t<=56319&&(i=r.charCodeAt(s+1),i>=56320&&i<=57343)){e+=i2((t-55296)*1024+i-56320+65536),s++;continue}n=Fi[t],e+=!n&&Dg(t)?r[s]:n||i2(t)}return e}function lpe(r,e,t){var i=\"\",n=r.tag,s,o;for(s=0,o=t.length;s<o;s+=1)Wl(r,e,t[s],!1,!1)&&(s!==0&&(i+=\",\"+(r.condenseFlow?\"\":\" \")),i+=r.dump);r.tag=n,r.dump=\"[\"+i+\"]\"}function cpe(r,e,t,i){var n=\"\",s=r.tag,o,a;for(o=0,a=t.length;o<a;o+=1)Wl(r,e+1,t[o],!0,!0)&&((!i||o!==0)&&(n+=NS(r,e)),r.dump&&Up===r.dump.charCodeAt(0)?n+=\"-\":n+=\"- \",n+=r.dump);r.tag=s,r.dump=n||\"[]\"}function upe(r,e,t){var i=\"\",n=r.tag,s=Object.keys(t),o,a,l,c,u;for(o=0,a=s.length;o<a;o+=1)u=\"\",o!==0&&(u+=\", \"),r.condenseFlow&&(u+='\"'),l=s[o],c=t[l],Wl(r,e,l,!1,!1)&&(r.dump.length>1024&&(u+=\"? \"),u+=r.dump+(r.condenseFlow?'\"':\"\")+\":\"+(r.condenseFlow?\"\":\" \"),Wl(r,e,c,!1,!1)&&(u+=r.dump,i+=u));r.tag=n,r.dump=\"{\"+i+\"}\"}function gpe(r,e,t,i){var n=\"\",s=r.tag,o=Object.keys(t),a,l,c,u,g,f;if(r.sortKeys===!0)o.sort();else if(typeof r.sortKeys==\"function\")o.sort(r.sortKeys);else if(r.sortKeys)throw new Gp(\"sortKeys must be a boolean or a function\");for(a=0,l=o.length;a<l;a+=1)f=\"\",(!i||a!==0)&&(f+=NS(r,e)),c=o[a],u=t[c],Wl(r,e+1,c,!0,!0,!0)&&(g=r.tag!==null&&r.tag!==\"?\"||r.dump&&r.dump.length>1024,g&&(r.dump&&Up===r.dump.charCodeAt(0)?f+=\"?\":f+=\"? \"),f+=r.dump,g&&(f+=NS(r,e)),Wl(r,e+1,u,!0,g)&&(r.dump&&Up===r.dump.charCodeAt(0)?f+=\":\":f+=\": \",f+=r.dump,n+=f));r.tag=s,r.dump=n||\"{}\"}function l2(r,e,t){var i,n,s,o,a,l;for(n=t?r.explicitTypes:r.implicitTypes,s=0,o=n.length;s<o;s+=1)if(a=n[s],(a.instanceOf||a.predicate)&&(!a.instanceOf||typeof e==\"object\"&&e instanceof a.instanceOf)&&(!a.predicate||a.predicate(e))){if(r.tag=t?a.tag:\"?\",a.represent){if(l=r.styleMap[a.tag]||a.defaultStyle,c2.call(a.represent)===\"[object Function]\")i=a.represent(e,l);else if(u2.call(a.represent,l))i=a.represent[l](e,l);else throw new Gp(\"!<\"+a.tag+'> tag resolver accepts not \"'+l+'\" style');r.dump=i}return!0}return!1}function Wl(r,e,t,i,n,s){r.tag=null,r.dump=t,l2(r,t,!1)||l2(r,t,!0);var o=c2.call(r.dump);i&&(i=r.flowLevel<0||r.flowLevel>e);var a=o===\"[object Object]\"||o===\"[object Array]\",l,c;if(a&&(l=r.duplicates.indexOf(t),c=l!==-1),(r.tag!==null&&r.tag!==\"?\"||c||r.indent!==2&&e>0)&&(n=!1),c&&r.usedDuplicates[l])r.dump=\"*ref_\"+l;else{if(a&&c&&!r.usedDuplicates[l]&&(r.usedDuplicates[l]=!0),o===\"[object Object]\")i&&Object.keys(r.dump).length!==0?(gpe(r,e,r.dump,n),c&&(r.dump=\"&ref_\"+l+r.dump)):(upe(r,e,r.dump),c&&(r.dump=\"&ref_\"+l+\" \"+r.dump));else if(o===\"[object Array]\"){var u=r.noArrayIndent&&e>0?e-1:e;i&&r.dump.length!==0?(cpe(r,u,r.dump,n),c&&(r.dump=\"&ref_\"+l+r.dump)):(lpe(r,u,r.dump),c&&(r.dump=\"&ref_\"+l+\" \"+r.dump))}else if(o===\"[object String]\")r.tag!==\"?\"&&ope(r,r.dump,e,s);else{if(r.skipInvalid)return!1;throw new Gp(\"unacceptable kind of an object to dump \"+o)}r.tag!==null&&r.tag!==\"?\"&&(r.dump=\"!<\"+r.tag+\"> \"+r.dump)}return!0}function fpe(r,e){var t=[],i=[],n,s;for(LS(r,t,i),n=0,s=i.length;n<s;n+=1)e.duplicates.push(t[i[n]]);e.usedDuplicates=new Array(s)}function LS(r,e,t){var i,n,s;if(r!==null&&typeof r==\"object\")if(n=e.indexOf(r),n!==-1)t.indexOf(n)===-1&&t.push(n);else if(e.push(r),Array.isArray(r))for(n=0,s=r.length;n<s;n+=1)LS(r[n],e,t);else for(i=Object.keys(r),n=0,s=i.length;n<s;n+=1)LS(r[i[n]],e,t)}function Q2(r,e){e=e||{};var t=new tpe(e);return t.noRefs||fpe(r,t),Wl(t,0,r,!0,!0)?t.dump+`\n`:\"\"}function hpe(r,e){return Q2(r,Hp.extend({schema:The},e))}OS.exports.dump=Q2;OS.exports.safeDump=hpe});var v2=w((HXe,Fr)=>{\"use strict\";var gI=r2(),S2=b2();function fI(r){return function(){throw new Error(\"Function \"+r+\" is deprecated and cannot be used.\")}}Fr.exports.Type=si();Fr.exports.Schema=Yl();Fr.exports.FAILSAFE_SCHEMA=sI();Fr.exports.JSON_SCHEMA=xS();Fr.exports.CORE_SCHEMA=PS();Fr.exports.DEFAULT_SAFE_SCHEMA=Sg();Fr.exports.DEFAULT_FULL_SCHEMA=Mp();Fr.exports.load=gI.load;Fr.exports.loadAll=gI.loadAll;Fr.exports.safeLoad=gI.safeLoad;Fr.exports.safeLoadAll=gI.safeLoadAll;Fr.exports.dump=S2.dump;Fr.exports.safeDump=S2.safeDump;Fr.exports.YAMLException=Qg();Fr.exports.MINIMAL_SCHEMA=sI();Fr.exports.SAFE_SCHEMA=Sg();Fr.exports.DEFAULT_SCHEMA=Mp();Fr.exports.scan=fI(\"scan\");Fr.exports.parse=fI(\"parse\");Fr.exports.compose=fI(\"compose\");Fr.exports.addConstructor=fI(\"addConstructor\")});var P2=w((GXe,x2)=>{\"use strict\";var ppe=v2();x2.exports=ppe});var k2=w((YXe,D2)=>{\"use strict\";function dpe(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function zl(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name=\"SyntaxError\",typeof Error.captureStackTrace==\"function\"&&Error.captureStackTrace(this,zl)}dpe(zl,Error);zl.buildMessage=function(r,e){var t={literal:function(c){return'\"'+n(c.text)+'\"'},class:function(c){var u=\"\",g;for(g=0;g<c.parts.length;g++)u+=c.parts[g]instanceof Array?s(c.parts[g][0])+\"-\"+s(c.parts[g][1]):s(c.parts[g]);return\"[\"+(c.inverted?\"^\":\"\")+u+\"]\"},any:function(c){return\"any character\"},end:function(c){return\"end of input\"},other:function(c){return c.description}};function i(c){return c.charCodeAt(0).toString(16).toUpperCase()}function n(c){return c.replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"').replace(/\\0/g,\"\\\\0\").replace(/\\t/g,\"\\\\t\").replace(/\\n/g,\"\\\\n\").replace(/\\r/g,\"\\\\r\").replace(/[\\x00-\\x0F]/g,function(u){return\"\\\\x0\"+i(u)}).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g,function(u){return\"\\\\x\"+i(u)})}function s(c){return c.replace(/\\\\/g,\"\\\\\\\\\").replace(/\\]/g,\"\\\\]\").replace(/\\^/g,\"\\\\^\").replace(/-/g,\"\\\\-\").replace(/\\0/g,\"\\\\0\").replace(/\\t/g,\"\\\\t\").replace(/\\n/g,\"\\\\n\").replace(/\\r/g,\"\\\\r\").replace(/[\\x00-\\x0F]/g,function(u){return\"\\\\x0\"+i(u)}).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g,function(u){return\"\\\\x\"+i(u)})}function o(c){return t[c.type](c)}function a(c){var u=new Array(c.length),g,f;for(g=0;g<c.length;g++)u[g]=o(c[g]);if(u.sort(),u.length>0){for(g=1,f=1;g<u.length;g++)u[g-1]!==u[g]&&(u[f]=u[g],f++);u.length=f}switch(u.length){case 1:return u[0];case 2:return u[0]+\" or \"+u[1];default:return u.slice(0,-1).join(\", \")+\", or \"+u[u.length-1]}}function l(c){return c?'\"'+n(c)+'\"':\"end of input\"}return\"Expected \"+a(r)+\" but \"+l(e)+\" found.\"};function Cpe(r,e){e=e!==void 0?e:{};var t={},i={Start:Os},n=Os,s=function(R){return[].concat(...R)},o=\"-\",a=ar(\"-\",!1),l=function(R){return R},c=function(R){return Object.assign({},...R)},u=\"#\",g=ar(\"#\",!1),f=Sl(),h=function(){return{}},p=\":\",C=ar(\":\",!1),y=function(R,q){return{[R]:q}},B=\",\",v=ar(\",\",!1),D=function(R,q){return q},L=function(R,q,Ce){return Object.assign({},...[R].concat(q).map(Ke=>({[Ke]:Ce})))},H=function(R){return R},j=function(R){return R},$=Ts(\"correct indentation\"),V=\" \",W=ar(\" \",!1),Z=function(R){return R.length===pA*ug},A=function(R){return R.length===(pA+1)*ug},ae=function(){return pA++,!0},ge=function(){return pA--,!0},re=function(){return sg()},O=Ts(\"pseudostring\"),F=/^[^\\r\\n\\t ?:,\\][{}#&*!|>'\"%@`\\-]/,ue=Rn([\"\\r\",`\n`,\"\t\",\" \",\"?\",\":\",\",\",\"]\",\"[\",\"{\",\"}\",\"#\",\"&\",\"*\",\"!\",\"|\",\">\",\"'\",'\"',\"%\",\"@\",\"`\",\"-\"],!0,!1),he=/^[^\\r\\n\\t ,\\][{}:#\"']/,ke=Rn([\"\\r\",`\n`,\"\t\",\" \",\",\",\"]\",\"[\",\"{\",\"}\",\":\",\"#\",'\"',\"'\"],!0,!1),Fe=function(){return sg().replace(/^ *| *$/g,\"\")},Ne=\"--\",oe=ar(\"--\",!1),le=/^[a-zA-Z\\/0-9]/,we=Rn([[\"a\",\"z\"],[\"A\",\"Z\"],\"/\",[\"0\",\"9\"]],!1,!1),fe=/^[^\\r\\n\\t :,]/,Ae=Rn([\"\\r\",`\n`,\"\t\",\" \",\":\",\",\"],!0,!1),qe=\"null\",ne=ar(\"null\",!1),Y=function(){return null},pe=\"true\",ie=ar(\"true\",!1),de=function(){return!0},tt=\"false\",Pt=ar(\"false\",!1),It=function(){return!1},Or=Ts(\"string\"),ii='\"',gi=ar('\"',!1),hr=function(){return\"\"},fi=function(R){return R},ni=function(R){return R.join(\"\")},Ls=/^[^\"\\\\\\0-\\x1F\\x7F]/,pr=Rn(['\"',\"\\\\\",[\"\\0\",\"\u001f\"],\"\\x7F\"],!0,!1),Ei='\\\\\"',_n=ar('\\\\\"',!1),oa=function(){return'\"'},aA=\"\\\\\\\\\",eg=ar(\"\\\\\\\\\",!1),Zn=function(){return\"\\\\\"},AA=\"\\\\/\",aa=ar(\"\\\\/\",!1),up=function(){return\"/\"},lA=\"\\\\b\",cA=ar(\"\\\\b\",!1),wr=function(){return\"\\b\"},wl=\"\\\\f\",tg=ar(\"\\\\f\",!1),po=function(){return\"\\f\"},rg=\"\\\\n\",gp=ar(\"\\\\n\",!1),fp=function(){return`\n`},vr=\"\\\\r\",se=ar(\"\\\\r\",!1),Co=function(){return\"\\r\"},Dn=\"\\\\t\",ig=ar(\"\\\\t\",!1),Qt=function(){return\"\t\"},Bl=\"\\\\u\",kn=ar(\"\\\\u\",!1),$n=function(R,q,Ce,Ke){return String.fromCharCode(parseInt(`0x${R}${q}${Ce}${Ke}`))},es=/^[0-9a-fA-F]/,gt=Rn([[\"0\",\"9\"],[\"a\",\"f\"],[\"A\",\"F\"]],!1,!1),mo=Ts(\"blank space\"),At=/^[ \\t]/,an=Rn([\" \",\"\t\"],!1,!1),S=Ts(\"white space\"),Tt=/^[ \\t\\n\\r]/,ng=Rn([\" \",\"\t\",`\n`,\"\\r\"],!1,!1),Ql=`\\r\n`,hp=ar(`\\r\n`,!1),pp=`\n`,dp=ar(`\n`,!1),Cp=\"\\r\",mp=ar(\"\\r\",!1),G=0,yt=0,uA=[{line:1,column:1}],ji=0,bl=[],Xe=0,Aa;if(\"startRule\"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule \"`+e.startRule+'\".');n=i[e.startRule]}function sg(){return r.substring(yt,G)}function bE(){return An(yt,G)}function Ep(R,q){throw q=q!==void 0?q:An(yt,G),vl([Ts(R)],r.substring(yt,G),q)}function SE(R,q){throw q=q!==void 0?q:An(yt,G),og(R,q)}function ar(R,q){return{type:\"literal\",text:R,ignoreCase:q}}function Rn(R,q,Ce){return{type:\"class\",parts:R,inverted:q,ignoreCase:Ce}}function Sl(){return{type:\"any\"}}function Ip(){return{type:\"end\"}}function Ts(R){return{type:\"other\",description:R}}function la(R){var q=uA[R],Ce;if(q)return q;for(Ce=R-1;!uA[Ce];)Ce--;for(q=uA[Ce],q={line:q.line,column:q.column};Ce<R;)r.charCodeAt(Ce)===10?(q.line++,q.column=1):q.column++,Ce++;return uA[R]=q,q}function An(R,q){var Ce=la(R),Ke=la(q);return{start:{offset:R,line:Ce.line,column:Ce.column},end:{offset:q,line:Ke.line,column:Ke.column}}}function Te(R){G<ji||(G>ji&&(ji=G,bl=[]),bl.push(R))}function og(R,q){return new zl(R,null,null,q)}function vl(R,q,Ce){return new zl(zl.buildMessage(R,q),R,q,Ce)}function Os(){var R;return R=ag(),R}function xl(){var R,q,Ce;for(R=G,q=[],Ce=gA();Ce!==t;)q.push(Ce),Ce=gA();return q!==t&&(yt=R,q=s(q)),R=q,R}function gA(){var R,q,Ce,Ke,Re;return R=G,q=ua(),q!==t?(r.charCodeAt(G)===45?(Ce=o,G++):(Ce=t,Xe===0&&Te(a)),Ce!==t?(Ke=Rr(),Ke!==t?(Re=ca(),Re!==t?(yt=R,q=l(Re),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R}function ag(){var R,q,Ce;for(R=G,q=[],Ce=Ag();Ce!==t;)q.push(Ce),Ce=Ag();return q!==t&&(yt=R,q=c(q)),R=q,R}function Ag(){var R,q,Ce,Ke,Re,ze,dt,Ft,Fn;if(R=G,q=Rr(),q===t&&(q=null),q!==t){if(Ce=G,r.charCodeAt(G)===35?(Ke=u,G++):(Ke=t,Xe===0&&Te(g)),Ke!==t){if(Re=[],ze=G,dt=G,Xe++,Ft=Us(),Xe--,Ft===t?dt=void 0:(G=dt,dt=t),dt!==t?(r.length>G?(Ft=r.charAt(G),G++):(Ft=t,Xe===0&&Te(f)),Ft!==t?(dt=[dt,Ft],ze=dt):(G=ze,ze=t)):(G=ze,ze=t),ze!==t)for(;ze!==t;)Re.push(ze),ze=G,dt=G,Xe++,Ft=Us(),Xe--,Ft===t?dt=void 0:(G=dt,dt=t),dt!==t?(r.length>G?(Ft=r.charAt(G),G++):(Ft=t,Xe===0&&Te(f)),Ft!==t?(dt=[dt,Ft],ze=dt):(G=ze,ze=t)):(G=ze,ze=t);else Re=t;Re!==t?(Ke=[Ke,Re],Ce=Ke):(G=Ce,Ce=t)}else G=Ce,Ce=t;if(Ce===t&&(Ce=null),Ce!==t){if(Ke=[],Re=Ks(),Re!==t)for(;Re!==t;)Ke.push(Re),Re=Ks();else Ke=t;Ke!==t?(yt=R,q=h(),R=q):(G=R,R=t)}else G=R,R=t}else G=R,R=t;if(R===t&&(R=G,q=ua(),q!==t?(Ce=Pl(),Ce!==t?(Ke=Rr(),Ke===t&&(Ke=null),Ke!==t?(r.charCodeAt(G)===58?(Re=p,G++):(Re=t,Xe===0&&Te(C)),Re!==t?(ze=Rr(),ze===t&&(ze=null),ze!==t?(dt=ca(),dt!==t?(yt=R,q=y(Ce,dt),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,q=ua(),q!==t?(Ce=Ms(),Ce!==t?(Ke=Rr(),Ke===t&&(Ke=null),Ke!==t?(r.charCodeAt(G)===58?(Re=p,G++):(Re=t,Xe===0&&Te(C)),Re!==t?(ze=Rr(),ze===t&&(ze=null),ze!==t?(dt=ca(),dt!==t?(yt=R,q=y(Ce,dt),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t))){if(R=G,q=ua(),q!==t)if(Ce=Ms(),Ce!==t)if(Ke=Rr(),Ke!==t)if(Re=vE(),Re!==t){if(ze=[],dt=Ks(),dt!==t)for(;dt!==t;)ze.push(dt),dt=Ks();else ze=t;ze!==t?(yt=R,q=y(Ce,Re),R=q):(G=R,R=t)}else G=R,R=t;else G=R,R=t;else G=R,R=t;else G=R,R=t;if(R===t)if(R=G,q=ua(),q!==t)if(Ce=Ms(),Ce!==t){if(Ke=[],Re=G,ze=Rr(),ze===t&&(ze=null),ze!==t?(r.charCodeAt(G)===44?(dt=B,G++):(dt=t,Xe===0&&Te(v)),dt!==t?(Ft=Rr(),Ft===t&&(Ft=null),Ft!==t?(Fn=Ms(),Fn!==t?(yt=Re,ze=D(Ce,Fn),Re=ze):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t),Re!==t)for(;Re!==t;)Ke.push(Re),Re=G,ze=Rr(),ze===t&&(ze=null),ze!==t?(r.charCodeAt(G)===44?(dt=B,G++):(dt=t,Xe===0&&Te(v)),dt!==t?(Ft=Rr(),Ft===t&&(Ft=null),Ft!==t?(Fn=Ms(),Fn!==t?(yt=Re,ze=D(Ce,Fn),Re=ze):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t);else Ke=t;Ke!==t?(Re=Rr(),Re===t&&(Re=null),Re!==t?(r.charCodeAt(G)===58?(ze=p,G++):(ze=t,Xe===0&&Te(C)),ze!==t?(dt=Rr(),dt===t&&(dt=null),dt!==t?(Ft=ca(),Ft!==t?(yt=R,q=L(Ce,Ke,Ft),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)}else G=R,R=t;else G=R,R=t}return R}function ca(){var R,q,Ce,Ke,Re,ze,dt;if(R=G,q=G,Xe++,Ce=G,Ke=Us(),Ke!==t?(Re=rt(),Re!==t?(r.charCodeAt(G)===45?(ze=o,G++):(ze=t,Xe===0&&Te(a)),ze!==t?(dt=Rr(),dt!==t?(Ke=[Ke,Re,ze,dt],Ce=Ke):(G=Ce,Ce=t)):(G=Ce,Ce=t)):(G=Ce,Ce=t)):(G=Ce,Ce=t),Xe--,Ce!==t?(G=q,q=void 0):q=t,q!==t?(Ce=Ks(),Ce!==t?(Ke=Eo(),Ke!==t?(Re=xl(),Re!==t?(ze=fA(),ze!==t?(yt=R,q=H(Re),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,q=Us(),q!==t?(Ce=Eo(),Ce!==t?(Ke=ag(),Ke!==t?(Re=fA(),Re!==t?(yt=R,q=H(Ke),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t))if(R=G,q=Dl(),q!==t){if(Ce=[],Ke=Ks(),Ke!==t)for(;Ke!==t;)Ce.push(Ke),Ke=Ks();else Ce=t;Ce!==t?(yt=R,q=j(q),R=q):(G=R,R=t)}else G=R,R=t;return R}function ua(){var R,q,Ce;for(Xe++,R=G,q=[],r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Te(W));Ce!==t;)q.push(Ce),r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Te(W));return q!==t?(yt=G,Ce=Z(q),Ce?Ce=void 0:Ce=t,Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)):(G=R,R=t),Xe--,R===t&&(q=t,Xe===0&&Te($)),R}function rt(){var R,q,Ce;for(R=G,q=[],r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Te(W));Ce!==t;)q.push(Ce),r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Te(W));return q!==t?(yt=G,Ce=A(q),Ce?Ce=void 0:Ce=t,Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)):(G=R,R=t),R}function Eo(){var R;return yt=G,R=ae(),R?R=void 0:R=t,R}function fA(){var R;return yt=G,R=ge(),R?R=void 0:R=t,R}function Pl(){var R;return R=kl(),R===t&&(R=yp()),R}function Ms(){var R,q,Ce;if(R=kl(),R===t){if(R=G,q=[],Ce=lg(),Ce!==t)for(;Ce!==t;)q.push(Ce),Ce=lg();else q=t;q!==t&&(yt=R,q=re()),R=q}return R}function Dl(){var R;return R=wp(),R===t&&(R=xE(),R===t&&(R=kl(),R===t&&(R=yp()))),R}function vE(){var R;return R=wp(),R===t&&(R=kl(),R===t&&(R=lg())),R}function yp(){var R,q,Ce,Ke,Re,ze;if(Xe++,R=G,F.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Te(ue)),q!==t){for(Ce=[],Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(he.test(r.charAt(G))?(ze=r.charAt(G),G++):(ze=t,Xe===0&&Te(ke)),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ke!==t;)Ce.push(Ke),Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(he.test(r.charAt(G))?(ze=r.charAt(G),G++):(ze=t,Xe===0&&Te(ke)),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ce!==t?(yt=R,q=Fe(),R=q):(G=R,R=t)}else G=R,R=t;return Xe--,R===t&&(q=t,Xe===0&&Te(O)),R}function lg(){var R,q,Ce,Ke,Re;if(R=G,r.substr(G,2)===Ne?(q=Ne,G+=2):(q=t,Xe===0&&Te(oe)),q===t&&(q=null),q!==t)if(le.test(r.charAt(G))?(Ce=r.charAt(G),G++):(Ce=t,Xe===0&&Te(we)),Ce!==t){for(Ke=[],fe.test(r.charAt(G))?(Re=r.charAt(G),G++):(Re=t,Xe===0&&Te(Ae));Re!==t;)Ke.push(Re),fe.test(r.charAt(G))?(Re=r.charAt(G),G++):(Re=t,Xe===0&&Te(Ae));Ke!==t?(yt=R,q=Fe(),R=q):(G=R,R=t)}else G=R,R=t;else G=R,R=t;return R}function wp(){var R,q;return R=G,r.substr(G,4)===qe?(q=qe,G+=4):(q=t,Xe===0&&Te(ne)),q!==t&&(yt=R,q=Y()),R=q,R}function xE(){var R,q;return R=G,r.substr(G,4)===pe?(q=pe,G+=4):(q=t,Xe===0&&Te(ie)),q!==t&&(yt=R,q=de()),R=q,R===t&&(R=G,r.substr(G,5)===tt?(q=tt,G+=5):(q=t,Xe===0&&Te(Pt)),q!==t&&(yt=R,q=It()),R=q),R}function kl(){var R,q,Ce,Ke;return Xe++,R=G,r.charCodeAt(G)===34?(q=ii,G++):(q=t,Xe===0&&Te(gi)),q!==t?(r.charCodeAt(G)===34?(Ce=ii,G++):(Ce=t,Xe===0&&Te(gi)),Ce!==t?(yt=R,q=hr(),R=q):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,r.charCodeAt(G)===34?(q=ii,G++):(q=t,Xe===0&&Te(gi)),q!==t?(Ce=PE(),Ce!==t?(r.charCodeAt(G)===34?(Ke=ii,G++):(Ke=t,Xe===0&&Te(gi)),Ke!==t?(yt=R,q=fi(Ce),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)),Xe--,R===t&&(q=t,Xe===0&&Te(Or)),R}function PE(){var R,q,Ce;if(R=G,q=[],Ce=cg(),Ce!==t)for(;Ce!==t;)q.push(Ce),Ce=cg();else q=t;return q!==t&&(yt=R,q=ni(q)),R=q,R}function cg(){var R,q,Ce,Ke,Re,ze;return Ls.test(r.charAt(G))?(R=r.charAt(G),G++):(R=t,Xe===0&&Te(pr)),R===t&&(R=G,r.substr(G,2)===Ei?(q=Ei,G+=2):(q=t,Xe===0&&Te(_n)),q!==t&&(yt=R,q=oa()),R=q,R===t&&(R=G,r.substr(G,2)===aA?(q=aA,G+=2):(q=t,Xe===0&&Te(eg)),q!==t&&(yt=R,q=Zn()),R=q,R===t&&(R=G,r.substr(G,2)===AA?(q=AA,G+=2):(q=t,Xe===0&&Te(aa)),q!==t&&(yt=R,q=up()),R=q,R===t&&(R=G,r.substr(G,2)===lA?(q=lA,G+=2):(q=t,Xe===0&&Te(cA)),q!==t&&(yt=R,q=wr()),R=q,R===t&&(R=G,r.substr(G,2)===wl?(q=wl,G+=2):(q=t,Xe===0&&Te(tg)),q!==t&&(yt=R,q=po()),R=q,R===t&&(R=G,r.substr(G,2)===rg?(q=rg,G+=2):(q=t,Xe===0&&Te(gp)),q!==t&&(yt=R,q=fp()),R=q,R===t&&(R=G,r.substr(G,2)===vr?(q=vr,G+=2):(q=t,Xe===0&&Te(se)),q!==t&&(yt=R,q=Co()),R=q,R===t&&(R=G,r.substr(G,2)===Dn?(q=Dn,G+=2):(q=t,Xe===0&&Te(ig)),q!==t&&(yt=R,q=Qt()),R=q,R===t&&(R=G,r.substr(G,2)===Bl?(q=Bl,G+=2):(q=t,Xe===0&&Te(kn)),q!==t?(Ce=hA(),Ce!==t?(Ke=hA(),Ke!==t?(Re=hA(),Re!==t?(ze=hA(),ze!==t?(yt=R,q=$n(Ce,Ke,Re,ze),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)))))))))),R}function hA(){var R;return es.test(r.charAt(G))?(R=r.charAt(G),G++):(R=t,Xe===0&&Te(gt)),R}function Rr(){var R,q;if(Xe++,R=[],At.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Te(an)),q!==t)for(;q!==t;)R.push(q),At.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Te(an));else R=t;return Xe--,R===t&&(q=t,Xe===0&&Te(mo)),R}function DE(){var R,q;if(Xe++,R=[],Tt.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Te(ng)),q!==t)for(;q!==t;)R.push(q),Tt.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Te(ng));else R=t;return Xe--,R===t&&(q=t,Xe===0&&Te(S)),R}function Ks(){var R,q,Ce,Ke,Re,ze;if(R=G,q=Us(),q!==t){for(Ce=[],Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(ze=Us(),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ke!==t;)Ce.push(Ke),Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(ze=Us(),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)}else G=R,R=t;return R}function Us(){var R;return r.substr(G,2)===Ql?(R=Ql,G+=2):(R=t,Xe===0&&Te(hp)),R===t&&(r.charCodeAt(G)===10?(R=pp,G++):(R=t,Xe===0&&Te(dp)),R===t&&(r.charCodeAt(G)===13?(R=Cp,G++):(R=t,Xe===0&&Te(mp)))),R}let ug=2,pA=0;if(Aa=n(),Aa!==t&&G===r.length)return Aa;throw Aa!==t&&G<r.length&&Te(Ip()),vl(bl,ji<r.length?r.charAt(ji):null,ji<r.length?An(ji,ji+1):An(ji,ji))}D2.exports={SyntaxError:zl,parse:Cpe}});var O2=w((zXe,KS)=>{\"use strict\";var wpe=r=>{let e=!1,t=!1,i=!1;for(let n=0;n<r.length;n++){let s=r[n];e&&/[a-zA-Z]/.test(s)&&s.toUpperCase()===s?(r=r.slice(0,n)+\"-\"+r.slice(n),e=!1,i=t,t=!0,n++):t&&i&&/[a-zA-Z]/.test(s)&&s.toLowerCase()===s?(r=r.slice(0,n-1)+\"-\"+r.slice(n-1),i=t,t=!1,e=!0):(e=s.toLowerCase()===s&&s.toUpperCase()!==s,i=t,t=s.toUpperCase()===s&&s.toLowerCase()!==s)}return r},T2=(r,e)=>{if(!(typeof r==\"string\"||Array.isArray(r)))throw new TypeError(\"Expected the input to be `string | string[]`\");e=Object.assign({pascalCase:!1},e);let t=n=>e.pascalCase?n.charAt(0).toUpperCase()+n.slice(1):n;return Array.isArray(r)?r=r.map(n=>n.trim()).filter(n=>n.length).join(\"-\"):r=r.trim(),r.length===0?\"\":r.length===1?e.pascalCase?r.toUpperCase():r.toLowerCase():(r!==r.toLowerCase()&&(r=wpe(r)),r=r.replace(/^[_.\\- ]+/,\"\").toLowerCase().replace(/[_.\\- ]+(\\w|$)/g,(n,s)=>s.toUpperCase()).replace(/\\d+(\\w|$)/g,n=>n.toUpperCase()),t(r))};KS.exports=T2;KS.exports.default=T2});var M2=w((VXe,Bpe)=>{Bpe.exports=[{name:\"AppVeyor\",constant:\"APPVEYOR\",env:\"APPVEYOR\",pr:\"APPVEYOR_PULL_REQUEST_NUMBER\"},{name:\"Azure Pipelines\",constant:\"AZURE_PIPELINES\",env:\"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI\",pr:\"SYSTEM_PULLREQUEST_PULLREQUESTID\"},{name:\"Appcircle\",constant:\"APPCIRCLE\",env:\"AC_APPCIRCLE\"},{name:\"Bamboo\",constant:\"BAMBOO\",env:\"bamboo_planKey\"},{name:\"Bitbucket Pipelines\",constant:\"BITBUCKET\",env:\"BITBUCKET_COMMIT\",pr:\"BITBUCKET_PR_ID\"},{name:\"Bitrise\",constant:\"BITRISE\",env:\"BITRISE_IO\",pr:\"BITRISE_PULL_REQUEST\"},{name:\"Buddy\",constant:\"BUDDY\",env:\"BUDDY_WORKSPACE_ID\",pr:\"BUDDY_EXECUTION_PULL_REQUEST_ID\"},{name:\"Buildkite\",constant:\"BUILDKITE\",env:\"BUILDKITE\",pr:{env:\"BUILDKITE_PULL_REQUEST\",ne:\"false\"}},{name:\"CircleCI\",constant:\"CIRCLE\",env:\"CIRCLECI\",pr:\"CIRCLE_PULL_REQUEST\"},{name:\"Cirrus CI\",constant:\"CIRRUS\",env:\"CIRRUS_CI\",pr:\"CIRRUS_PR\"},{name:\"AWS CodeBuild\",constant:\"CODEBUILD\",env:\"CODEBUILD_BUILD_ARN\"},{name:\"Codefresh\",constant:\"CODEFRESH\",env:\"CF_BUILD_ID\",pr:{any:[\"CF_PULL_REQUEST_NUMBER\",\"CF_PULL_REQUEST_ID\"]}},{name:\"Codeship\",constant:\"CODESHIP\",env:{CI_NAME:\"codeship\"}},{name:\"Drone\",constant:\"DRONE\",env:\"DRONE\",pr:{DRONE_BUILD_EVENT:\"pull_request\"}},{name:\"dsari\",constant:\"DSARI\",env:\"DSARI\"},{name:\"GitHub Actions\",constant:\"GITHUB_ACTIONS\",env:\"GITHUB_ACTIONS\",pr:{GITHUB_EVENT_NAME:\"pull_request\"}},{name:\"GitLab CI\",constant:\"GITLAB\",env:\"GITLAB_CI\",pr:\"CI_MERGE_REQUEST_ID\"},{name:\"GoCD\",constant:\"GOCD\",env:\"GO_PIPELINE_LABEL\"},{name:\"LayerCI\",constant:\"LAYERCI\",env:\"LAYERCI\",pr:\"LAYERCI_PULL_REQUEST\"},{name:\"Hudson\",constant:\"HUDSON\",env:\"HUDSON_URL\"},{name:\"Jenkins\",constant:\"JENKINS\",env:[\"JENKINS_URL\",\"BUILD_ID\"],pr:{any:[\"ghprbPullId\",\"CHANGE_ID\"]}},{name:\"Magnum CI\",constant:\"MAGNUM\",env:\"MAGNUM\"},{name:\"Netlify CI\",constant:\"NETLIFY\",env:\"NETLIFY\",pr:{env:\"PULL_REQUEST\",ne:\"false\"}},{name:\"Nevercode\",constant:\"NEVERCODE\",env:\"NEVERCODE\",pr:{env:\"NEVERCODE_PULL_REQUEST\",ne:\"false\"}},{name:\"Render\",constant:\"RENDER\",env:\"RENDER\",pr:{IS_PULL_REQUEST:\"true\"}},{name:\"Sail CI\",constant:\"SAIL\",env:\"SAILCI\",pr:\"SAIL_PULL_REQUEST_NUMBER\"},{name:\"Semaphore\",constant:\"SEMAPHORE\",env:\"SEMAPHORE\",pr:\"PULL_REQUEST_NUMBER\"},{name:\"Screwdriver\",constant:\"SCREWDRIVER\",env:\"SCREWDRIVER\",pr:{env:\"SD_PULL_REQUEST\",ne:\"false\"}},{name:\"Shippable\",constant:\"SHIPPABLE\",env:\"SHIPPABLE\",pr:{IS_PULL_REQUEST:\"true\"}},{name:\"Solano CI\",constant:\"SOLANO\",env:\"TDDIUM\",pr:\"TDDIUM_PR_ID\"},{name:\"Strider CD\",constant:\"STRIDER\",env:\"STRIDER\"},{name:\"TaskCluster\",constant:\"TASKCLUSTER\",env:[\"TASK_ID\",\"RUN_ID\"]},{name:\"TeamCity\",constant:\"TEAMCITY\",env:\"TEAMCITY_VERSION\"},{name:\"Travis CI\",constant:\"TRAVIS\",env:\"TRAVIS\",pr:{env:\"TRAVIS_PULL_REQUEST\",ne:\"false\"}},{name:\"Vercel\",constant:\"VERCEL\",env:\"NOW_BUILDER\"},{name:\"Visual Studio App Center\",constant:\"APPCENTER\",env:\"APPCENTER_BUILD_ID\"}]});var Vl=w(On=>{\"use strict\";var U2=M2(),Qo=process.env;Object.defineProperty(On,\"_vendors\",{value:U2.map(function(r){return r.constant})});On.name=null;On.isPR=null;U2.forEach(function(r){let t=(Array.isArray(r.env)?r.env:[r.env]).every(function(i){return K2(i)});if(On[r.constant]=t,t)switch(On.name=r.name,typeof r.pr){case\"string\":On.isPR=!!Qo[r.pr];break;case\"object\":\"env\"in r.pr?On.isPR=r.pr.env in Qo&&Qo[r.pr.env]!==r.pr.ne:\"any\"in r.pr?On.isPR=r.pr.any.some(function(i){return!!Qo[i]}):On.isPR=K2(r.pr);break;default:On.isPR=null}});On.isCI=!!(Qo.CI||Qo.CONTINUOUS_INTEGRATION||Qo.BUILD_NUMBER||Qo.RUN_ID||On.name);function K2(r){return typeof r==\"string\"?!!Qo[r]:Object.keys(r).every(function(e){return Qo[e]===r[e]})}});var gn={};ut(gn,{KeyRelationship:()=>Xl,applyCascade:()=>zp,base64RegExp:()=>q2,colorStringAlphaRegExp:()=>j2,colorStringRegExp:()=>Y2,computeKey:()=>BA,getPrintable:()=>Vr,hasExactLength:()=>X2,hasForbiddenKeys:()=>tde,hasKeyRelationship:()=>JS,hasMaxLength:()=>Mpe,hasMinLength:()=>Ope,hasMutuallyExclusiveKeys:()=>rde,hasRequiredKeys:()=>ede,hasUniqueItems:()=>Kpe,isArray:()=>Ppe,isAtLeast:()=>Gpe,isAtMost:()=>Ype,isBase64:()=>Zpe,isBoolean:()=>Spe,isDate:()=>xpe,isDict:()=>kpe,isEnum:()=>Wi,isHexColor:()=>_pe,isISO8601:()=>Xpe,isInExclusiveRange:()=>qpe,isInInclusiveRange:()=>jpe,isInstanceOf:()=>Fpe,isInteger:()=>Jpe,isJSON:()=>$pe,isLiteral:()=>Qpe,isLowerCase:()=>Wpe,isNegative:()=>Upe,isNullable:()=>Tpe,isNumber:()=>vpe,isObject:()=>Rpe,isOneOf:()=>Npe,isOptional:()=>Lpe,isPositive:()=>Hpe,isString:()=>Wp,isTuple:()=>Dpe,isUUID4:()=>Vpe,isUnknown:()=>V2,isUpperCase:()=>zpe,iso8601RegExp:()=>qS,makeCoercionFn:()=>_l,makeSetter:()=>z2,makeTrait:()=>W2,makeValidator:()=>bt,matchesRegExp:()=>Vp,plural:()=>EI,pushError:()=>pt,simpleKeyRegExp:()=>G2,uuid4RegExp:()=>J2});function bt({test:r}){return W2(r)()}function Vr(r){return r===null?\"null\":r===void 0?\"undefined\":r===\"\"?\"an empty string\":JSON.stringify(r)}function BA(r,e){var t,i,n;return typeof e==\"number\"?`${(t=r==null?void 0:r.p)!==null&&t!==void 0?t:\".\"}[${e}]`:G2.test(e)?`${(i=r==null?void 0:r.p)!==null&&i!==void 0?i:\"\"}.${e}`:`${(n=r==null?void 0:r.p)!==null&&n!==void 0?n:\".\"}[${JSON.stringify(e)}]`}function _l(r,e){return t=>{let i=r[e];return r[e]=t,_l(r,e).bind(null,i)}}function z2(r,e){return t=>{r[e]=t}}function EI(r,e,t){return r===1?e:t}function pt({errors:r,p:e}={},t){return r==null||r.push(`${e!=null?e:\".\"}: ${t}`),!1}function Qpe(r){return bt({test:(e,t)=>e!==r?pt(t,`Expected a literal (got ${Vr(r)})`):!0})}function Wi(r){let e=Array.isArray(r)?r:Object.values(r),t=new Set(e);return bt({test:(i,n)=>t.has(i)?!0:pt(n,`Expected a valid enumeration value (got ${Vr(i)})`)})}var G2,Y2,j2,q2,J2,qS,W2,V2,Wp,bpe,Spe,vpe,xpe,Ppe,Dpe,kpe,Rpe,Fpe,Npe,zp,Lpe,Tpe,Ope,Mpe,X2,Kpe,Upe,Hpe,Gpe,Ype,jpe,qpe,Jpe,Vp,Wpe,zpe,Vpe,Xpe,_pe,Zpe,$pe,ede,tde,rde,Xl,ide,JS,ns=Yue(()=>{G2=/^[a-zA-Z_][a-zA-Z0-9_]*$/,Y2=/^#[0-9a-f]{6}$/i,j2=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,q2=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,J2=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,qS=/^(?:[1-9]\\d{3}(-?)(?:(?:0[1-9]|1[0-2])\\1(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])\\1(?:29|30)|(?:0[13578]|1[02])(?:\\1)31|00[1-9]|0[1-9]\\d|[12]\\d{2}|3(?:[0-5]\\d|6[0-5]))|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\\2)29|-?366))T(?:[01]\\d|2[0-3])(:?)[0-5]\\d(?:\\3[0-5]\\d)?(?:Z|[+-][01]\\d(?:\\3[0-5]\\d)?)$/,W2=r=>()=>r;V2=()=>bt({test:(r,e)=>!0});Wp=()=>bt({test:(r,e)=>typeof r!=\"string\"?pt(e,`Expected a string (got ${Vr(r)})`):!0});bpe=new Map([[\"true\",!0],[\"True\",!0],[\"1\",!0],[1,!0],[\"false\",!1],[\"False\",!1],[\"0\",!1],[0,!1]]),Spe=()=>bt({test:(r,e)=>{var t;if(typeof r!=\"boolean\"){if(typeof(e==null?void 0:e.coercions)<\"u\"){if(typeof(e==null?void 0:e.coercion)>\"u\")return pt(e,\"Unbound coercion result\");let i=bpe.get(r);if(typeof i<\"u\")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:\".\",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a boolean (got ${Vr(r)})`)}return!0}}),vpe=()=>bt({test:(r,e)=>{var t;if(typeof r!=\"number\"){if(typeof(e==null?void 0:e.coercions)<\"u\"){if(typeof(e==null?void 0:e.coercion)>\"u\")return pt(e,\"Unbound coercion result\");let i;if(typeof r==\"string\"){let n;try{n=JSON.parse(r)}catch{}if(typeof n==\"number\")if(JSON.stringify(n)===r)i=n;else return pt(e,`Received a number that can't be safely represented by the runtime (${r})`)}if(typeof i<\"u\")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:\".\",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a number (got ${Vr(r)})`)}return!0}}),xpe=()=>bt({test:(r,e)=>{var t;if(!(r instanceof Date)){if(typeof(e==null?void 0:e.coercions)<\"u\"){if(typeof(e==null?void 0:e.coercion)>\"u\")return pt(e,\"Unbound coercion result\");let i;if(typeof r==\"string\"&&qS.test(r))i=new Date(r);else{let n;if(typeof r==\"string\"){let s;try{s=JSON.parse(r)}catch{}typeof s==\"number\"&&(n=s)}else typeof r==\"number\"&&(n=r);if(typeof n<\"u\")if(Number.isSafeInteger(n)||!Number.isSafeInteger(n*1e3))i=new Date(n*1e3);else return pt(e,`Received a timestamp that can't be safely represented by the runtime (${r})`)}if(typeof i<\"u\")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:\".\",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a date (got ${Vr(r)})`)}return!0}}),Ppe=(r,{delimiter:e}={})=>bt({test:(t,i)=>{var n;if(typeof t==\"string\"&&typeof e<\"u\"&&typeof(i==null?void 0:i.coercions)<\"u\"){if(typeof(i==null?void 0:i.coercion)>\"u\")return pt(i,\"Unbound coercion result\");t=t.split(e),i.coercions.push([(n=i.p)!==null&&n!==void 0?n:\".\",i.coercion.bind(null,t)])}if(!Array.isArray(t))return pt(i,`Expected an array (got ${Vr(t)})`);let s=!0;for(let o=0,a=t.length;o<a&&(s=r(t[o],Object.assign(Object.assign({},i),{p:BA(i,o),coercion:_l(t,o)}))&&s,!(!s&&(i==null?void 0:i.errors)==null));++o);return s}}),Dpe=(r,{delimiter:e}={})=>{let t=X2(r.length);return bt({test:(i,n)=>{var s;if(typeof i==\"string\"&&typeof e<\"u\"&&typeof(n==null?void 0:n.coercions)<\"u\"){if(typeof(n==null?void 0:n.coercion)>\"u\")return pt(n,\"Unbound coercion result\");i=i.split(e),n.coercions.push([(s=n.p)!==null&&s!==void 0?s:\".\",n.coercion.bind(null,i)])}if(!Array.isArray(i))return pt(n,`Expected a tuple (got ${Vr(i)})`);let o=t(i,Object.assign({},n));for(let a=0,l=i.length;a<l&&a<r.length&&(o=r[a](i[a],Object.assign(Object.assign({},n),{p:BA(n,a),coercion:_l(i,a)}))&&o,!(!o&&(n==null?void 0:n.errors)==null));++a);return o}})},kpe=(r,{keys:e=null}={})=>bt({test:(t,i)=>{if(typeof t!=\"object\"||t===null)return pt(i,`Expected an object (got ${Vr(t)})`);let n=Object.keys(t),s=!0;for(let o=0,a=n.length;o<a&&(s||(i==null?void 0:i.errors)!=null);++o){let l=n[o],c=t[l];if(l===\"__proto__\"||l===\"constructor\"){s=pt(Object.assign(Object.assign({},i),{p:BA(i,l)}),\"Unsafe property name\");continue}if(e!==null&&!e(l,i)){s=!1;continue}if(!r(c,Object.assign(Object.assign({},i),{p:BA(i,l),coercion:_l(t,l)}))){s=!1;continue}}return s}}),Rpe=(r,{extra:e=null}={})=>{let t=Object.keys(r);return bt({test:(i,n)=>{if(typeof i!=\"object\"||i===null)return pt(n,`Expected an object (got ${Vr(i)})`);let s=new Set([...t,...Object.keys(i)]),o={},a=!0;for(let l of s){if(l===\"constructor\"||l===\"__proto__\")a=pt(Object.assign(Object.assign({},n),{p:BA(n,l)}),\"Unsafe property name\");else{let c=Object.prototype.hasOwnProperty.call(r,l)?r[l]:void 0,u=Object.prototype.hasOwnProperty.call(i,l)?i[l]:void 0;typeof c<\"u\"?a=c(u,Object.assign(Object.assign({},n),{p:BA(n,l),coercion:_l(i,l)}))&&a:e===null?a=pt(Object.assign(Object.assign({},n),{p:BA(n,l)}),`Extraneous property (got ${Vr(u)})`):Object.defineProperty(o,l,{enumerable:!0,get:()=>u,set:z2(i,l)})}if(!a&&(n==null?void 0:n.errors)==null)break}return e!==null&&(a||(n==null?void 0:n.errors)!=null)&&(a=e(o,n)&&a),a}})},Fpe=r=>bt({test:(e,t)=>e instanceof r?!0:pt(t,`Expected an instance of ${r.name} (got ${Vr(e)})`)}),Npe=(r,{exclusive:e=!1}={})=>bt({test:(t,i)=>{var n,s,o;let a=[],l=typeof(i==null?void 0:i.errors)<\"u\"?[]:void 0;for(let c=0,u=r.length;c<u;++c){let g=typeof(i==null?void 0:i.errors)<\"u\"?[]:void 0,f=typeof(i==null?void 0:i.coercions)<\"u\"?[]:void 0;if(r[c](t,Object.assign(Object.assign({},i),{errors:g,coercions:f,p:`${(n=i==null?void 0:i.p)!==null&&n!==void 0?n:\".\"}#${c+1}`}))){if(a.push([`#${c+1}`,f]),!e)break}else l==null||l.push(g[0])}if(a.length===1){let[,c]=a[0];return typeof c<\"u\"&&((s=i==null?void 0:i.coercions)===null||s===void 0||s.push(...c)),!0}return a.length>1?pt(i,`Expected to match exactly a single predicate (matched ${a.join(\", \")})`):(o=i==null?void 0:i.errors)===null||o===void 0||o.push(...l),!1}}),zp=(r,e)=>bt({test:(t,i)=>{var n,s;let o={value:t},a=typeof(i==null?void 0:i.coercions)<\"u\"?_l(o,\"value\"):void 0,l=typeof(i==null?void 0:i.coercions)<\"u\"?[]:void 0;if(!r(t,Object.assign(Object.assign({},i),{coercion:a,coercions:l})))return!1;let c=[];if(typeof l<\"u\")for(let[,u]of l)c.push(u());try{if(typeof(i==null?void 0:i.coercions)<\"u\"){if(o.value!==t){if(typeof(i==null?void 0:i.coercion)>\"u\")return pt(i,\"Unbound coercion result\");i.coercions.push([(n=i.p)!==null&&n!==void 0?n:\".\",i.coercion.bind(null,o.value)])}(s=i==null?void 0:i.coercions)===null||s===void 0||s.push(...l)}return e.every(u=>u(o.value,i))}finally{for(let u of c)u()}}}),Lpe=r=>bt({test:(e,t)=>typeof e>\"u\"?!0:r(e,t)}),Tpe=r=>bt({test:(e,t)=>e===null?!0:r(e,t)}),Ope=r=>bt({test:(e,t)=>e.length>=r?!0:pt(t,`Expected to have a length of at least ${r} elements (got ${e.length})`)}),Mpe=r=>bt({test:(e,t)=>e.length<=r?!0:pt(t,`Expected to have a length of at most ${r} elements (got ${e.length})`)}),X2=r=>bt({test:(e,t)=>e.length!==r?pt(t,`Expected to have a length of exactly ${r} elements (got ${e.length})`):!0}),Kpe=({map:r}={})=>bt({test:(e,t)=>{let i=new Set,n=new Set;for(let s=0,o=e.length;s<o;++s){let a=e[s],l=typeof r<\"u\"?r(a):a;if(i.has(l)){if(n.has(l))continue;pt(t,`Expected to contain unique elements; got a duplicate with ${Vr(e)}`),n.add(l)}else i.add(l)}return n.size===0}}),Upe=()=>bt({test:(r,e)=>r<=0?!0:pt(e,`Expected to be negative (got ${r})`)}),Hpe=()=>bt({test:(r,e)=>r>=0?!0:pt(e,`Expected to be positive (got ${r})`)}),Gpe=r=>bt({test:(e,t)=>e>=r?!0:pt(t,`Expected to be at least ${r} (got ${e})`)}),Ype=r=>bt({test:(e,t)=>e<=r?!0:pt(t,`Expected to be at most ${r} (got ${e})`)}),jpe=(r,e)=>bt({test:(t,i)=>t>=r&&t<=e?!0:pt(i,`Expected to be in the [${r}; ${e}] range (got ${t})`)}),qpe=(r,e)=>bt({test:(t,i)=>t>=r&&t<e?!0:pt(i,`Expected to be in the [${r}; ${e}[ range (got ${t})`)}),Jpe=({unsafe:r=!1}={})=>bt({test:(e,t)=>e!==Math.round(e)?pt(t,`Expected to be an integer (got ${e})`):Number.isSafeInteger(e)?!0:pt(t,`Expected to be a safe integer (got ${e})`)}),Vp=r=>bt({test:(e,t)=>r.test(e)?!0:pt(t,`Expected to match the pattern ${r.toString()} (got ${Vr(e)})`)}),Wpe=()=>bt({test:(r,e)=>r!==r.toLowerCase()?pt(e,`Expected to be all-lowercase (got ${r})`):!0}),zpe=()=>bt({test:(r,e)=>r!==r.toUpperCase()?pt(e,`Expected to be all-uppercase (got ${r})`):!0}),Vpe=()=>bt({test:(r,e)=>J2.test(r)?!0:pt(e,`Expected to be a valid UUID v4 (got ${Vr(r)})`)}),Xpe=()=>bt({test:(r,e)=>qS.test(r)?!1:pt(e,`Expected to be a valid ISO 8601 date string (got ${Vr(r)})`)}),_pe=({alpha:r=!1})=>bt({test:(e,t)=>(r?Y2.test(e):j2.test(e))?!0:pt(t,`Expected to be a valid hexadecimal color string (got ${Vr(e)})`)}),Zpe=()=>bt({test:(r,e)=>q2.test(r)?!0:pt(e,`Expected to be a valid base 64 string (got ${Vr(r)})`)}),$pe=(r=V2())=>bt({test:(e,t)=>{let i;try{i=JSON.parse(e)}catch{return pt(t,`Expected to be a valid JSON string (got ${Vr(e)})`)}return r(i,t)}}),ede=r=>{let e=new Set(r);return bt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)||s.push(o);return s.length>0?pt(i,`Missing required ${EI(s.length,\"property\",\"properties\")} ${s.map(o=>`\"${o}\"`).join(\", \")}`):!0}})},tde=r=>{let e=new Set(r);return bt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>0?pt(i,`Forbidden ${EI(s.length,\"property\",\"properties\")} ${s.map(o=>`\"${o}\"`).join(\", \")}`):!0}})},rde=r=>{let e=new Set(r);return bt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>1?pt(i,`Mutually exclusive properties ${s.map(o=>`\"${o}\"`).join(\", \")}`):!0}})};(function(r){r.Forbids=\"Forbids\",r.Requires=\"Requires\"})(Xl||(Xl={}));ide={[Xl.Forbids]:{expect:!1,message:\"forbids using\"},[Xl.Requires]:{expect:!0,message:\"requires using\"}},JS=(r,e,t,{ignore:i=[]}={})=>{let n=new Set(i),s=new Set(t),o=ide[e];return bt({test:(a,l)=>{let c=new Set(Object.keys(a));if(!c.has(r)||n.has(a[r]))return!0;let u=[];for(let g of s)(c.has(g)&&!n.has(a[g]))!==o.expect&&u.push(g);return u.length>=1?pt(l,`Property \"${r}\" ${o.message} ${EI(u.length,\"property\",\"properties\")} ${u.map(g=>`\"${g}\"`).join(\", \")}`):!0}})}});var fH=w((V_e,gH)=>{\"use strict\";gH.exports=(r,...e)=>new Promise(t=>{t(r(...e))})});var Tg=w((X_e,ev)=>{\"use strict\";var Ide=fH(),hH=r=>{if(r<1)throw new TypeError(\"Expected `concurrency` to be a number from 1 and up\");let e=[],t=0,i=()=>{t--,e.length>0&&e.shift()()},n=(a,l,...c)=>{t++;let u=Ide(a,...c);l(u),u.then(i,i)},s=(a,l,...c)=>{t<r?n(a,l,...c):e.push(n.bind(null,a,l,...c))},o=(a,...l)=>new Promise(c=>s(a,c,...l));return Object.defineProperties(o,{activeCount:{get:()=>t},pendingCount:{get:()=>e.length}}),o};ev.exports=hH;ev.exports.default=hH});var ed=w((Z_e,pH)=>{var yde=\"2.0.0\",wde=Number.MAX_SAFE_INTEGER||9007199254740991,Bde=16;pH.exports={SEMVER_SPEC_VERSION:yde,MAX_LENGTH:256,MAX_SAFE_INTEGER:wde,MAX_SAFE_COMPONENT_LENGTH:Bde}});var td=w(($_e,dH)=>{var Qde=typeof process==\"object\"&&process.env&&process.env.NODE_DEBUG&&/\\bsemver\\b/i.test(process.env.NODE_DEBUG)?(...r)=>console.error(\"SEMVER\",...r):()=>{};dH.exports=Qde});var Zl=w((bA,CH)=>{var{MAX_SAFE_COMPONENT_LENGTH:tv}=ed(),bde=td();bA=CH.exports={};var Sde=bA.re=[],$e=bA.src=[],et=bA.t={},vde=0,St=(r,e,t)=>{let i=vde++;bde(i,e),et[r]=i,$e[i]=e,Sde[i]=new RegExp(e,t?\"g\":void 0)};St(\"NUMERICIDENTIFIER\",\"0|[1-9]\\\\d*\");St(\"NUMERICIDENTIFIERLOOSE\",\"[0-9]+\");St(\"NONNUMERICIDENTIFIER\",\"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\");St(\"MAINVERSION\",`(${$e[et.NUMERICIDENTIFIER]})\\\\.(${$e[et.NUMERICIDENTIFIER]})\\\\.(${$e[et.NUMERICIDENTIFIER]})`);St(\"MAINVERSIONLOOSE\",`(${$e[et.NUMERICIDENTIFIERLOOSE]})\\\\.(${$e[et.NUMERICIDENTIFIERLOOSE]})\\\\.(${$e[et.NUMERICIDENTIFIERLOOSE]})`);St(\"PRERELEASEIDENTIFIER\",`(?:${$e[et.NUMERICIDENTIFIER]}|${$e[et.NONNUMERICIDENTIFIER]})`);St(\"PRERELEASEIDENTIFIERLOOSE\",`(?:${$e[et.NUMERICIDENTIFIERLOOSE]}|${$e[et.NONNUMERICIDENTIFIER]})`);St(\"PRERELEASE\",`(?:-(${$e[et.PRERELEASEIDENTIFIER]}(?:\\\\.${$e[et.PRERELEASEIDENTIFIER]})*))`);St(\"PRERELEASELOOSE\",`(?:-?(${$e[et.PRERELEASEIDENTIFIERLOOSE]}(?:\\\\.${$e[et.PRERELEASEIDENTIFIERLOOSE]})*))`);St(\"BUILDIDENTIFIER\",\"[0-9A-Za-z-]+\");St(\"BUILD\",`(?:\\\\+(${$e[et.BUILDIDENTIFIER]}(?:\\\\.${$e[et.BUILDIDENTIFIER]})*))`);St(\"FULLPLAIN\",`v?${$e[et.MAINVERSION]}${$e[et.PRERELEASE]}?${$e[et.BUILD]}?`);St(\"FULL\",`^${$e[et.FULLPLAIN]}$`);St(\"LOOSEPLAIN\",`[v=\\\\s]*${$e[et.MAINVERSIONLOOSE]}${$e[et.PRERELEASELOOSE]}?${$e[et.BUILD]}?`);St(\"LOOSE\",`^${$e[et.LOOSEPLAIN]}$`);St(\"GTLT\",\"((?:<|>)?=?)\");St(\"XRANGEIDENTIFIERLOOSE\",`${$e[et.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`);St(\"XRANGEIDENTIFIER\",`${$e[et.NUMERICIDENTIFIER]}|x|X|\\\\*`);St(\"XRANGEPLAIN\",`[v=\\\\s]*(${$e[et.XRANGEIDENTIFIER]})(?:\\\\.(${$e[et.XRANGEIDENTIFIER]})(?:\\\\.(${$e[et.XRANGEIDENTIFIER]})(?:${$e[et.PRERELEASE]})?${$e[et.BUILD]}?)?)?`);St(\"XRANGEPLAINLOOSE\",`[v=\\\\s]*(${$e[et.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${$e[et.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${$e[et.XRANGEIDENTIFIERLOOSE]})(?:${$e[et.PRERELEASELOOSE]})?${$e[et.BUILD]}?)?)?`);St(\"XRANGE\",`^${$e[et.GTLT]}\\\\s*${$e[et.XRANGEPLAIN]}$`);St(\"XRANGELOOSE\",`^${$e[et.GTLT]}\\\\s*${$e[et.XRANGEPLAINLOOSE]}$`);St(\"COERCE\",`(^|[^\\\\d])(\\\\d{1,${tv}})(?:\\\\.(\\\\d{1,${tv}}))?(?:\\\\.(\\\\d{1,${tv}}))?(?:$|[^\\\\d])`);St(\"COERCERTL\",$e[et.COERCE],!0);St(\"LONETILDE\",\"(?:~>?)\");St(\"TILDETRIM\",`(\\\\s*)${$e[et.LONETILDE]}\\\\s+`,!0);bA.tildeTrimReplace=\"$1~\";St(\"TILDE\",`^${$e[et.LONETILDE]}${$e[et.XRANGEPLAIN]}$`);St(\"TILDELOOSE\",`^${$e[et.LONETILDE]}${$e[et.XRANGEPLAINLOOSE]}$`);St(\"LONECARET\",\"(?:\\\\^)\");St(\"CARETTRIM\",`(\\\\s*)${$e[et.LONECARET]}\\\\s+`,!0);bA.caretTrimReplace=\"$1^\";St(\"CARET\",`^${$e[et.LONECARET]}${$e[et.XRANGEPLAIN]}$`);St(\"CARETLOOSE\",`^${$e[et.LONECARET]}${$e[et.XRANGEPLAINLOOSE]}$`);St(\"COMPARATORLOOSE\",`^${$e[et.GTLT]}\\\\s*(${$e[et.LOOSEPLAIN]})$|^$`);St(\"COMPARATOR\",`^${$e[et.GTLT]}\\\\s*(${$e[et.FULLPLAIN]})$|^$`);St(\"COMPARATORTRIM\",`(\\\\s*)${$e[et.GTLT]}\\\\s*(${$e[et.LOOSEPLAIN]}|${$e[et.XRANGEPLAIN]})`,!0);bA.comparatorTrimReplace=\"$1$2$3\";St(\"HYPHENRANGE\",`^\\\\s*(${$e[et.XRANGEPLAIN]})\\\\s+-\\\\s+(${$e[et.XRANGEPLAIN]})\\\\s*$`);St(\"HYPHENRANGELOOSE\",`^\\\\s*(${$e[et.XRANGEPLAINLOOSE]})\\\\s+-\\\\s+(${$e[et.XRANGEPLAINLOOSE]})\\\\s*$`);St(\"STAR\",\"(<|>)?=?\\\\s*\\\\*\");St(\"GTE0\",\"^\\\\s*>=\\\\s*0.0.0\\\\s*$\");St(\"GTE0PRE\",\"^\\\\s*>=\\\\s*0.0.0-0\\\\s*$\")});var rd=w((eZe,mH)=>{var xde=[\"includePrerelease\",\"loose\",\"rtl\"],Pde=r=>r?typeof r!=\"object\"?{loose:!0}:xde.filter(e=>r[e]).reduce((e,t)=>(e[t]=!0,e),{}):{};mH.exports=Pde});var bI=w((tZe,yH)=>{var EH=/^[0-9]+$/,IH=(r,e)=>{let t=EH.test(r),i=EH.test(e);return t&&i&&(r=+r,e=+e),r===e?0:t&&!i?-1:i&&!t?1:r<e?-1:1},Dde=(r,e)=>IH(e,r);yH.exports={compareIdentifiers:IH,rcompareIdentifiers:Dde}});var Li=w((rZe,bH)=>{var SI=td(),{MAX_LENGTH:wH,MAX_SAFE_INTEGER:vI}=ed(),{re:BH,t:QH}=Zl(),kde=rd(),{compareIdentifiers:id}=bI(),Un=class{constructor(e,t){if(t=kde(t),e instanceof Un){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(typeof e!=\"string\")throw new TypeError(`Invalid Version: ${e}`);if(e.length>wH)throw new TypeError(`version is longer than ${wH} characters`);SI(\"SemVer\",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let i=e.trim().match(t.loose?BH[QH.LOOSE]:BH[QH.FULL]);if(!i)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>vI||this.major<0)throw new TypeError(\"Invalid major version\");if(this.minor>vI||this.minor<0)throw new TypeError(\"Invalid minor version\");if(this.patch>vI||this.patch<0)throw new TypeError(\"Invalid patch version\");i[4]?this.prerelease=i[4].split(\".\").map(n=>{if(/^[0-9]+$/.test(n)){let s=+n;if(s>=0&&s<vI)return s}return n}):this.prerelease=[],this.build=i[5]?i[5].split(\".\"):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(\".\")}`),this.version}toString(){return this.version}compare(e){if(SI(\"SemVer.compare\",this.version,this.options,e),!(e instanceof Un)){if(typeof e==\"string\"&&e===this.version)return 0;e=new Un(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof Un||(e=new Un(e,this.options)),id(this.major,e.major)||id(this.minor,e.minor)||id(this.patch,e.patch)}comparePre(e){if(e instanceof Un||(e=new Un(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let t=0;do{let i=this.prerelease[t],n=e.prerelease[t];if(SI(\"prerelease compare\",t,i,n),i===void 0&&n===void 0)return 0;if(n===void 0)return 1;if(i===void 0)return-1;if(i===n)continue;return id(i,n)}while(++t)}compareBuild(e){e instanceof Un||(e=new Un(e,this.options));let t=0;do{let i=this.build[t],n=e.build[t];if(SI(\"prerelease compare\",t,i,n),i===void 0&&n===void 0)return 0;if(n===void 0)return 1;if(i===void 0)return-1;if(i===n)continue;return id(i,n)}while(++t)}inc(e,t){switch(e){case\"premajor\":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc(\"pre\",t);break;case\"preminor\":this.prerelease.length=0,this.patch=0,this.minor++,this.inc(\"pre\",t);break;case\"prepatch\":this.prerelease.length=0,this.inc(\"patch\",t),this.inc(\"pre\",t);break;case\"prerelease\":this.prerelease.length===0&&this.inc(\"patch\",t),this.inc(\"pre\",t);break;case\"major\":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case\"minor\":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case\"patch\":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case\"pre\":if(this.prerelease.length===0)this.prerelease=[0];else{let i=this.prerelease.length;for(;--i>=0;)typeof this.prerelease[i]==\"number\"&&(this.prerelease[i]++,i=-2);i===-1&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};bH.exports=Un});var $l=w((iZe,PH)=>{var{MAX_LENGTH:Rde}=ed(),{re:SH,t:vH}=Zl(),xH=Li(),Fde=rd(),Nde=(r,e)=>{if(e=Fde(e),r instanceof xH)return r;if(typeof r!=\"string\"||r.length>Rde||!(e.loose?SH[vH.LOOSE]:SH[vH.FULL]).test(r))return null;try{return new xH(r,e)}catch{return null}};PH.exports=Nde});var kH=w((nZe,DH)=>{var Lde=$l(),Tde=(r,e)=>{let t=Lde(r,e);return t?t.version:null};DH.exports=Tde});var FH=w((sZe,RH)=>{var Ode=$l(),Mde=(r,e)=>{let t=Ode(r.trim().replace(/^[=v]+/,\"\"),e);return t?t.version:null};RH.exports=Mde});var LH=w((oZe,NH)=>{var Kde=Li(),Ude=(r,e,t,i)=>{typeof t==\"string\"&&(i=t,t=void 0);try{return new Kde(r,t).inc(e,i).version}catch{return null}};NH.exports=Ude});var ss=w((aZe,OH)=>{var TH=Li(),Hde=(r,e,t)=>new TH(r,t).compare(new TH(e,t));OH.exports=Hde});var xI=w((AZe,MH)=>{var Gde=ss(),Yde=(r,e,t)=>Gde(r,e,t)===0;MH.exports=Yde});var HH=w((lZe,UH)=>{var KH=$l(),jde=xI(),qde=(r,e)=>{if(jde(r,e))return null;{let t=KH(r),i=KH(e),n=t.prerelease.length||i.prerelease.length,s=n?\"pre\":\"\",o=n?\"prerelease\":\"\";for(let a in t)if((a===\"major\"||a===\"minor\"||a===\"patch\")&&t[a]!==i[a])return s+a;return o}};UH.exports=qde});var YH=w((cZe,GH)=>{var Jde=Li(),Wde=(r,e)=>new Jde(r,e).major;GH.exports=Wde});var qH=w((uZe,jH)=>{var zde=Li(),Vde=(r,e)=>new zde(r,e).minor;jH.exports=Vde});var WH=w((gZe,JH)=>{var Xde=Li(),_de=(r,e)=>new Xde(r,e).patch;JH.exports=_de});var VH=w((fZe,zH)=>{var Zde=$l(),$de=(r,e)=>{let t=Zde(r,e);return t&&t.prerelease.length?t.prerelease:null};zH.exports=$de});var _H=w((hZe,XH)=>{var eCe=ss(),tCe=(r,e,t)=>eCe(e,r,t);XH.exports=tCe});var $H=w((pZe,ZH)=>{var rCe=ss(),iCe=(r,e)=>rCe(r,e,!0);ZH.exports=iCe});var PI=w((dZe,tG)=>{var eG=Li(),nCe=(r,e,t)=>{let i=new eG(r,t),n=new eG(e,t);return i.compare(n)||i.compareBuild(n)};tG.exports=nCe});var iG=w((CZe,rG)=>{var sCe=PI(),oCe=(r,e)=>r.sort((t,i)=>sCe(t,i,e));rG.exports=oCe});var sG=w((mZe,nG)=>{var aCe=PI(),ACe=(r,e)=>r.sort((t,i)=>aCe(i,t,e));nG.exports=ACe});var nd=w((EZe,oG)=>{var lCe=ss(),cCe=(r,e,t)=>lCe(r,e,t)>0;oG.exports=cCe});var DI=w((IZe,aG)=>{var uCe=ss(),gCe=(r,e,t)=>uCe(r,e,t)<0;aG.exports=gCe});var rv=w((yZe,AG)=>{var fCe=ss(),hCe=(r,e,t)=>fCe(r,e,t)!==0;AG.exports=hCe});var kI=w((wZe,lG)=>{var pCe=ss(),dCe=(r,e,t)=>pCe(r,e,t)>=0;lG.exports=dCe});var RI=w((BZe,cG)=>{var CCe=ss(),mCe=(r,e,t)=>CCe(r,e,t)<=0;cG.exports=mCe});var iv=w((QZe,uG)=>{var ECe=xI(),ICe=rv(),yCe=nd(),wCe=kI(),BCe=DI(),QCe=RI(),bCe=(r,e,t,i)=>{switch(e){case\"===\":return typeof r==\"object\"&&(r=r.version),typeof t==\"object\"&&(t=t.version),r===t;case\"!==\":return typeof r==\"object\"&&(r=r.version),typeof t==\"object\"&&(t=t.version),r!==t;case\"\":case\"=\":case\"==\":return ECe(r,t,i);case\"!=\":return ICe(r,t,i);case\">\":return yCe(r,t,i);case\">=\":return wCe(r,t,i);case\"<\":return BCe(r,t,i);case\"<=\":return QCe(r,t,i);default:throw new TypeError(`Invalid operator: ${e}`)}};uG.exports=bCe});var fG=w((bZe,gG)=>{var SCe=Li(),vCe=$l(),{re:FI,t:NI}=Zl(),xCe=(r,e)=>{if(r instanceof SCe)return r;if(typeof r==\"number\"&&(r=String(r)),typeof r!=\"string\")return null;e=e||{};let t=null;if(!e.rtl)t=r.match(FI[NI.COERCE]);else{let i;for(;(i=FI[NI.COERCERTL].exec(r))&&(!t||t.index+t[0].length!==r.length);)(!t||i.index+i[0].length!==t.index+t[0].length)&&(t=i),FI[NI.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;FI[NI.COERCERTL].lastIndex=-1}return t===null?null:vCe(`${t[2]}.${t[3]||\"0\"}.${t[4]||\"0\"}`,e)};gG.exports=xCe});var pG=w((SZe,hG)=>{\"use strict\";hG.exports=function(r){r.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var sd=w((vZe,dG)=>{\"use strict\";dG.exports=Ht;Ht.Node=ec;Ht.create=Ht;function Ht(r){var e=this;if(e instanceof Ht||(e=new Ht),e.tail=null,e.head=null,e.length=0,r&&typeof r.forEach==\"function\")r.forEach(function(n){e.push(n)});else if(arguments.length>0)for(var t=0,i=arguments.length;t<i;t++)e.push(arguments[t]);return e}Ht.prototype.removeNode=function(r){if(r.list!==this)throw new Error(\"removing node which does not belong to this list\");var e=r.next,t=r.prev;return e&&(e.prev=t),t&&(t.next=e),r===this.head&&(this.head=e),r===this.tail&&(this.tail=t),r.list.length--,r.next=null,r.prev=null,r.list=null,e};Ht.prototype.unshiftNode=function(r){if(r!==this.head){r.list&&r.list.removeNode(r);var e=this.head;r.list=this,r.next=e,e&&(e.prev=r),this.head=r,this.tail||(this.tail=r),this.length++}};Ht.prototype.pushNode=function(r){if(r!==this.tail){r.list&&r.list.removeNode(r);var e=this.tail;r.list=this,r.prev=e,e&&(e.next=r),this.tail=r,this.head||(this.head=r),this.length++}};Ht.prototype.push=function(){for(var r=0,e=arguments.length;r<e;r++)DCe(this,arguments[r]);return this.length};Ht.prototype.unshift=function(){for(var r=0,e=arguments.length;r<e;r++)kCe(this,arguments[r]);return this.length};Ht.prototype.pop=function(){if(!!this.tail){var r=this.tail.value;return this.tail=this.tail.prev,this.tail?this.tail.next=null:this.head=null,this.length--,r}};Ht.prototype.shift=function(){if(!!this.head){var r=this.head.value;return this.head=this.head.next,this.head?this.head.prev=null:this.tail=null,this.length--,r}};Ht.prototype.forEach=function(r,e){e=e||this;for(var t=this.head,i=0;t!==null;i++)r.call(e,t.value,i,this),t=t.next};Ht.prototype.forEachReverse=function(r,e){e=e||this;for(var t=this.tail,i=this.length-1;t!==null;i--)r.call(e,t.value,i,this),t=t.prev};Ht.prototype.get=function(r){for(var e=0,t=this.head;t!==null&&e<r;e++)t=t.next;if(e===r&&t!==null)return t.value};Ht.prototype.getReverse=function(r){for(var e=0,t=this.tail;t!==null&&e<r;e++)t=t.prev;if(e===r&&t!==null)return t.value};Ht.prototype.map=function(r,e){e=e||this;for(var t=new Ht,i=this.head;i!==null;)t.push(r.call(e,i.value,this)),i=i.next;return t};Ht.prototype.mapReverse=function(r,e){e=e||this;for(var t=new Ht,i=this.tail;i!==null;)t.push(r.call(e,i.value,this)),i=i.prev;return t};Ht.prototype.reduce=function(r,e){var t,i=this.head;if(arguments.length>1)t=e;else if(this.head)i=this.head.next,t=this.head.value;else throw new TypeError(\"Reduce of empty list with no initial value\");for(var n=0;i!==null;n++)t=r(t,i.value,n),i=i.next;return t};Ht.prototype.reduceReverse=function(r,e){var t,i=this.tail;if(arguments.length>1)t=e;else if(this.tail)i=this.tail.prev,t=this.tail.value;else throw new TypeError(\"Reduce of empty list with no initial value\");for(var n=this.length-1;i!==null;n--)t=r(t,i.value,n),i=i.prev;return t};Ht.prototype.toArray=function(){for(var r=new Array(this.length),e=0,t=this.head;t!==null;e++)r[e]=t.value,t=t.next;return r};Ht.prototype.toArrayReverse=function(){for(var r=new Array(this.length),e=0,t=this.tail;t!==null;e++)r[e]=t.value,t=t.prev;return r};Ht.prototype.slice=function(r,e){e=e||this.length,e<0&&(e+=this.length),r=r||0,r<0&&(r+=this.length);var t=new Ht;if(e<r||e<0)return t;r<0&&(r=0),e>this.length&&(e=this.length);for(var i=0,n=this.head;n!==null&&i<r;i++)n=n.next;for(;n!==null&&i<e;i++,n=n.next)t.push(n.value);return t};Ht.prototype.sliceReverse=function(r,e){e=e||this.length,e<0&&(e+=this.length),r=r||0,r<0&&(r+=this.length);var t=new Ht;if(e<r||e<0)return t;r<0&&(r=0),e>this.length&&(e=this.length);for(var i=this.length,n=this.tail;n!==null&&i>e;i--)n=n.prev;for(;n!==null&&i>r;i--,n=n.prev)t.push(n.value);return t};Ht.prototype.splice=function(r,e,...t){r>this.length&&(r=this.length-1),r<0&&(r=this.length+r);for(var i=0,n=this.head;n!==null&&i<r;i++)n=n.next;for(var s=[],i=0;n&&i<e;i++)s.push(n.value),n=this.removeNode(n);n===null&&(n=this.tail),n!==this.head&&n!==this.tail&&(n=n.prev);for(var i=0;i<t.length;i++)n=PCe(this,n,t[i]);return s};Ht.prototype.reverse=function(){for(var r=this.head,e=this.tail,t=r;t!==null;t=t.prev){var i=t.prev;t.prev=t.next,t.next=i}return this.head=e,this.tail=r,this};function PCe(r,e,t){var i=e===r.head?new ec(t,null,e,r):new ec(t,e,e.next,r);return i.next===null&&(r.tail=i),i.prev===null&&(r.head=i),r.length++,i}function DCe(r,e){r.tail=new ec(e,r.tail,null,r),r.head||(r.head=r.tail),r.length++}function kCe(r,e){r.head=new ec(e,null,r.head,r),r.tail||(r.tail=r.head),r.length++}function ec(r,e,t,i){if(!(this instanceof ec))return new ec(r,e,t,i);this.list=i,this.value=r,e?(e.next=this,this.prev=e):this.prev=null,t?(t.prev=this,this.next=t):this.next=null}try{pG()(Ht)}catch{}});var yG=w((xZe,IG)=>{\"use strict\";var RCe=sd(),tc=Symbol(\"max\"),Ia=Symbol(\"length\"),Og=Symbol(\"lengthCalculator\"),ad=Symbol(\"allowStale\"),rc=Symbol(\"maxAge\"),Ea=Symbol(\"dispose\"),CG=Symbol(\"noDisposeOnSet\"),di=Symbol(\"lruList\"),Ws=Symbol(\"cache\"),EG=Symbol(\"updateAgeOnGet\"),nv=()=>1,ov=class{constructor(e){if(typeof e==\"number\"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!=\"number\"||e.max<0))throw new TypeError(\"max must be a non-negative number\");let t=this[tc]=e.max||1/0,i=e.length||nv;if(this[Og]=typeof i!=\"function\"?nv:i,this[ad]=e.stale||!1,e.maxAge&&typeof e.maxAge!=\"number\")throw new TypeError(\"maxAge must be a number\");this[rc]=e.maxAge||0,this[Ea]=e.dispose,this[CG]=e.noDisposeOnSet||!1,this[EG]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!=\"number\"||e<0)throw new TypeError(\"max must be a non-negative number\");this[tc]=e||1/0,od(this)}get max(){return this[tc]}set allowStale(e){this[ad]=!!e}get allowStale(){return this[ad]}set maxAge(e){if(typeof e!=\"number\")throw new TypeError(\"maxAge must be a non-negative number\");this[rc]=e,od(this)}get maxAge(){return this[rc]}set lengthCalculator(e){typeof e!=\"function\"&&(e=nv),e!==this[Og]&&(this[Og]=e,this[Ia]=0,this[di].forEach(t=>{t.length=this[Og](t.value,t.key),this[Ia]+=t.length})),od(this)}get lengthCalculator(){return this[Og]}get length(){return this[Ia]}get itemCount(){return this[di].length}rforEach(e,t){t=t||this;for(let i=this[di].tail;i!==null;){let n=i.prev;mG(this,e,i,t),i=n}}forEach(e,t){t=t||this;for(let i=this[di].head;i!==null;){let n=i.next;mG(this,e,i,t),i=n}}keys(){return this[di].toArray().map(e=>e.key)}values(){return this[di].toArray().map(e=>e.value)}reset(){this[Ea]&&this[di]&&this[di].length&&this[di].forEach(e=>this[Ea](e.key,e.value)),this[Ws]=new Map,this[di]=new RCe,this[Ia]=0}dump(){return this[di].map(e=>LI(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[di]}set(e,t,i){if(i=i||this[rc],i&&typeof i!=\"number\")throw new TypeError(\"maxAge must be a number\");let n=i?Date.now():0,s=this[Og](t,e);if(this[Ws].has(e)){if(s>this[tc])return Mg(this,this[Ws].get(e)),!1;let l=this[Ws].get(e).value;return this[Ea]&&(this[CG]||this[Ea](e,l.value)),l.now=n,l.maxAge=i,l.value=t,this[Ia]+=s-l.length,l.length=s,this.get(e),od(this),!0}let o=new av(e,t,s,n,i);return o.length>this[tc]?(this[Ea]&&this[Ea](e,t),!1):(this[Ia]+=o.length,this[di].unshift(o),this[Ws].set(e,this[di].head),od(this),!0)}has(e){if(!this[Ws].has(e))return!1;let t=this[Ws].get(e).value;return!LI(this,t)}get(e){return sv(this,e,!0)}peek(e){return sv(this,e,!1)}pop(){let e=this[di].tail;return e?(Mg(this,e),e.value):null}del(e){Mg(this,this[Ws].get(e))}load(e){this.reset();let t=Date.now();for(let i=e.length-1;i>=0;i--){let n=e[i],s=n.e||0;if(s===0)this.set(n.k,n.v);else{let o=s-t;o>0&&this.set(n.k,n.v,o)}}}prune(){this[Ws].forEach((e,t)=>sv(this,t,!1))}},sv=(r,e,t)=>{let i=r[Ws].get(e);if(i){let n=i.value;if(LI(r,n)){if(Mg(r,i),!r[ad])return}else t&&(r[EG]&&(i.value.now=Date.now()),r[di].unshiftNode(i));return n.value}},LI=(r,e)=>{if(!e||!e.maxAge&&!r[rc])return!1;let t=Date.now()-e.now;return e.maxAge?t>e.maxAge:r[rc]&&t>r[rc]},od=r=>{if(r[Ia]>r[tc])for(let e=r[di].tail;r[Ia]>r[tc]&&e!==null;){let t=e.prev;Mg(r,e),e=t}},Mg=(r,e)=>{if(e){let t=e.value;r[Ea]&&r[Ea](t.key,t.value),r[Ia]-=t.length,r[Ws].delete(t.key),r[di].removeNode(e)}},av=class{constructor(e,t,i,n,s){this.key=e,this.value=t,this.length=i,this.now=n,this.maxAge=s||0}},mG=(r,e,t,i)=>{let n=t.value;LI(r,n)&&(Mg(r,t),r[ad]||(n=void 0)),n&&e.call(i,n.value,n.key,r)};IG.exports=ov});var os=w((PZe,bG)=>{var ic=class{constructor(e,t){if(t=NCe(t),e instanceof ic)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new ic(e.raw,t);if(e instanceof Av)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\\s*\\|\\|\\s*/).map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let i=this.set[0];if(this.set=this.set.filter(n=>!BG(n[0])),this.set.length===0)this.set=[i];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&KCe(n[0])){this.set=[n];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(\" \").trim()).join(\"||\").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let i=`parseRange:${Object.keys(this.options).join(\",\")}:${e}`,n=wG.get(i);if(n)return n;let s=this.options.loose,o=s?Ti[Bi.HYPHENRANGELOOSE]:Ti[Bi.HYPHENRANGE];e=e.replace(o,VCe(this.options.includePrerelease)),Gr(\"hyphen replace\",e),e=e.replace(Ti[Bi.COMPARATORTRIM],TCe),Gr(\"comparator trim\",e,Ti[Bi.COMPARATORTRIM]),e=e.replace(Ti[Bi.TILDETRIM],OCe),e=e.replace(Ti[Bi.CARETTRIM],MCe),e=e.split(/\\s+/).join(\" \");let a=s?Ti[Bi.COMPARATORLOOSE]:Ti[Bi.COMPARATOR],l=e.split(\" \").map(f=>UCe(f,this.options)).join(\" \").split(/\\s+/).map(f=>zCe(f,this.options)).filter(this.options.loose?f=>!!f.match(a):()=>!0).map(f=>new Av(f,this.options)),c=l.length,u=new Map;for(let f of l){if(BG(f))return[f];u.set(f.value,f)}u.size>1&&u.has(\"\")&&u.delete(\"\");let g=[...u.values()];return wG.set(i,g),g}intersects(e,t){if(!(e instanceof ic))throw new TypeError(\"a Range is required\");return this.set.some(i=>QG(i,t)&&e.set.some(n=>QG(n,t)&&i.every(s=>n.every(o=>s.intersects(o,t)))))}test(e){if(!e)return!1;if(typeof e==\"string\")try{e=new LCe(e,this.options)}catch{return!1}for(let t=0;t<this.set.length;t++)if(XCe(this.set[t],e,this.options))return!0;return!1}};bG.exports=ic;var FCe=yG(),wG=new FCe({max:1e3}),NCe=rd(),Av=Ad(),Gr=td(),LCe=Li(),{re:Ti,t:Bi,comparatorTrimReplace:TCe,tildeTrimReplace:OCe,caretTrimReplace:MCe}=Zl(),BG=r=>r.value===\"<0.0.0-0\",KCe=r=>r.value===\"\",QG=(r,e)=>{let t=!0,i=r.slice(),n=i.pop();for(;t&&i.length;)t=i.every(s=>n.intersects(s,e)),n=i.pop();return t},UCe=(r,e)=>(Gr(\"comp\",r,e),r=YCe(r,e),Gr(\"caret\",r),r=HCe(r,e),Gr(\"tildes\",r),r=qCe(r,e),Gr(\"xrange\",r),r=WCe(r,e),Gr(\"stars\",r),r),Vi=r=>!r||r.toLowerCase()===\"x\"||r===\"*\",HCe=(r,e)=>r.trim().split(/\\s+/).map(t=>GCe(t,e)).join(\" \"),GCe=(r,e)=>{let t=e.loose?Ti[Bi.TILDELOOSE]:Ti[Bi.TILDE];return r.replace(t,(i,n,s,o,a)=>{Gr(\"tilde\",r,i,n,s,o,a);let l;return Vi(n)?l=\"\":Vi(s)?l=`>=${n}.0.0 <${+n+1}.0.0-0`:Vi(o)?l=`>=${n}.${s}.0 <${n}.${+s+1}.0-0`:a?(Gr(\"replaceTilde pr\",a),l=`>=${n}.${s}.${o}-${a} <${n}.${+s+1}.0-0`):l=`>=${n}.${s}.${o} <${n}.${+s+1}.0-0`,Gr(\"tilde return\",l),l})},YCe=(r,e)=>r.trim().split(/\\s+/).map(t=>jCe(t,e)).join(\" \"),jCe=(r,e)=>{Gr(\"caret\",r,e);let t=e.loose?Ti[Bi.CARETLOOSE]:Ti[Bi.CARET],i=e.includePrerelease?\"-0\":\"\";return r.replace(t,(n,s,o,a,l)=>{Gr(\"caret\",r,n,s,o,a,l);let c;return Vi(s)?c=\"\":Vi(o)?c=`>=${s}.0.0${i} <${+s+1}.0.0-0`:Vi(a)?s===\"0\"?c=`>=${s}.${o}.0${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.0${i} <${+s+1}.0.0-0`:l?(Gr(\"replaceCaret pr\",l),s===\"0\"?o===\"0\"?c=`>=${s}.${o}.${a}-${l} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}-${l} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a}-${l} <${+s+1}.0.0-0`):(Gr(\"no pr\"),s===\"0\"?o===\"0\"?c=`>=${s}.${o}.${a}${i} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a} <${+s+1}.0.0-0`),Gr(\"caret return\",c),c})},qCe=(r,e)=>(Gr(\"replaceXRanges\",r,e),r.split(/\\s+/).map(t=>JCe(t,e)).join(\" \")),JCe=(r,e)=>{r=r.trim();let t=e.loose?Ti[Bi.XRANGELOOSE]:Ti[Bi.XRANGE];return r.replace(t,(i,n,s,o,a,l)=>{Gr(\"xRange\",r,i,n,s,o,a,l);let c=Vi(s),u=c||Vi(o),g=u||Vi(a),f=g;return n===\"=\"&&f&&(n=\"\"),l=e.includePrerelease?\"-0\":\"\",c?n===\">\"||n===\"<\"?i=\"<0.0.0-0\":i=\"*\":n&&f?(u&&(o=0),a=0,n===\">\"?(n=\">=\",u?(s=+s+1,o=0,a=0):(o=+o+1,a=0)):n===\"<=\"&&(n=\"<\",u?s=+s+1:o=+o+1),n===\"<\"&&(l=\"-0\"),i=`${n+s}.${o}.${a}${l}`):u?i=`>=${s}.0.0${l} <${+s+1}.0.0-0`:g&&(i=`>=${s}.${o}.0${l} <${s}.${+o+1}.0-0`),Gr(\"xRange return\",i),i})},WCe=(r,e)=>(Gr(\"replaceStars\",r,e),r.trim().replace(Ti[Bi.STAR],\"\")),zCe=(r,e)=>(Gr(\"replaceGTE0\",r,e),r.trim().replace(Ti[e.includePrerelease?Bi.GTE0PRE:Bi.GTE0],\"\")),VCe=r=>(e,t,i,n,s,o,a,l,c,u,g,f,h)=>(Vi(i)?t=\"\":Vi(n)?t=`>=${i}.0.0${r?\"-0\":\"\"}`:Vi(s)?t=`>=${i}.${n}.0${r?\"-0\":\"\"}`:o?t=`>=${t}`:t=`>=${t}${r?\"-0\":\"\"}`,Vi(c)?l=\"\":Vi(u)?l=`<${+c+1}.0.0-0`:Vi(g)?l=`<${c}.${+u+1}.0-0`:f?l=`<=${c}.${u}.${g}-${f}`:r?l=`<${c}.${u}.${+g+1}-0`:l=`<=${l}`,`${t} ${l}`.trim()),XCe=(r,e,t)=>{for(let i=0;i<r.length;i++)if(!r[i].test(e))return!1;if(e.prerelease.length&&!t.includePrerelease){for(let i=0;i<r.length;i++)if(Gr(r[i].semver),r[i].semver!==Av.ANY&&r[i].semver.prerelease.length>0){let n=r[i].semver;if(n.major===e.major&&n.minor===e.minor&&n.patch===e.patch)return!0}return!1}return!0}});var Ad=w((DZe,DG)=>{var ld=Symbol(\"SemVer ANY\"),Kg=class{static get ANY(){return ld}constructor(e,t){if(t=_Ce(t),e instanceof Kg){if(e.loose===!!t.loose)return e;e=e.value}cv(\"comparator\",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===ld?this.value=\"\":this.value=this.operator+this.semver.version,cv(\"comp\",this)}parse(e){let t=this.options.loose?SG[vG.COMPARATORLOOSE]:SG[vG.COMPARATOR],i=e.match(t);if(!i)throw new TypeError(`Invalid comparator: ${e}`);this.operator=i[1]!==void 0?i[1]:\"\",this.operator===\"=\"&&(this.operator=\"\"),i[2]?this.semver=new xG(i[2],this.options.loose):this.semver=ld}toString(){return this.value}test(e){if(cv(\"Comparator.test\",e,this.options.loose),this.semver===ld||e===ld)return!0;if(typeof e==\"string\")try{e=new xG(e,this.options)}catch{return!1}return lv(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof Kg))throw new TypeError(\"a Comparator is required\");if((!t||typeof t!=\"object\")&&(t={loose:!!t,includePrerelease:!1}),this.operator===\"\")return this.value===\"\"?!0:new PG(e.value,t).test(this.value);if(e.operator===\"\")return e.value===\"\"?!0:new PG(this.value,t).test(e.semver);let i=(this.operator===\">=\"||this.operator===\">\")&&(e.operator===\">=\"||e.operator===\">\"),n=(this.operator===\"<=\"||this.operator===\"<\")&&(e.operator===\"<=\"||e.operator===\"<\"),s=this.semver.version===e.semver.version,o=(this.operator===\">=\"||this.operator===\"<=\")&&(e.operator===\">=\"||e.operator===\"<=\"),a=lv(this.semver,\"<\",e.semver,t)&&(this.operator===\">=\"||this.operator===\">\")&&(e.operator===\"<=\"||e.operator===\"<\"),l=lv(this.semver,\">\",e.semver,t)&&(this.operator===\"<=\"||this.operator===\"<\")&&(e.operator===\">=\"||e.operator===\">\");return i||n||s&&o||a||l}};DG.exports=Kg;var _Ce=rd(),{re:SG,t:vG}=Zl(),lv=iv(),cv=td(),xG=Li(),PG=os()});var cd=w((kZe,kG)=>{var ZCe=os(),$Ce=(r,e,t)=>{try{e=new ZCe(e,t)}catch{return!1}return e.test(r)};kG.exports=$Ce});var FG=w((RZe,RG)=>{var eme=os(),tme=(r,e)=>new eme(r,e).set.map(t=>t.map(i=>i.value).join(\" \").trim().split(\" \"));RG.exports=tme});var LG=w((FZe,NG)=>{var rme=Li(),ime=os(),nme=(r,e,t)=>{let i=null,n=null,s=null;try{s=new ime(e,t)}catch{return null}return r.forEach(o=>{s.test(o)&&(!i||n.compare(o)===-1)&&(i=o,n=new rme(i,t))}),i};NG.exports=nme});var OG=w((NZe,TG)=>{var sme=Li(),ome=os(),ame=(r,e,t)=>{let i=null,n=null,s=null;try{s=new ome(e,t)}catch{return null}return r.forEach(o=>{s.test(o)&&(!i||n.compare(o)===1)&&(i=o,n=new sme(i,t))}),i};TG.exports=ame});var UG=w((LZe,KG)=>{var uv=Li(),Ame=os(),MG=nd(),lme=(r,e)=>{r=new Ame(r,e);let t=new uv(\"0.0.0\");if(r.test(t)||(t=new uv(\"0.0.0-0\"),r.test(t)))return t;t=null;for(let i=0;i<r.set.length;++i){let n=r.set[i],s=null;n.forEach(o=>{let a=new uv(o.semver.version);switch(o.operator){case\">\":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case\"\":case\">=\":(!s||MG(a,s))&&(s=a);break;case\"<\":case\"<=\":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),s&&(!t||MG(t,s))&&(t=s)}return t&&r.test(t)?t:null};KG.exports=lme});var GG=w((TZe,HG)=>{var cme=os(),ume=(r,e)=>{try{return new cme(r,e).range||\"*\"}catch{return null}};HG.exports=ume});var TI=w((OZe,JG)=>{var gme=Li(),qG=Ad(),{ANY:fme}=qG,hme=os(),pme=cd(),YG=nd(),jG=DI(),dme=RI(),Cme=kI(),mme=(r,e,t,i)=>{r=new gme(r,i),e=new hme(e,i);let n,s,o,a,l;switch(t){case\">\":n=YG,s=dme,o=jG,a=\">\",l=\">=\";break;case\"<\":n=jG,s=Cme,o=YG,a=\"<\",l=\"<=\";break;default:throw new TypeError('Must provide a hilo val of \"<\" or \">\"')}if(pme(r,e,i))return!1;for(let c=0;c<e.set.length;++c){let u=e.set[c],g=null,f=null;if(u.forEach(h=>{h.semver===fme&&(h=new qG(\">=0.0.0\")),g=g||h,f=f||h,n(h.semver,g.semver,i)?g=h:o(h.semver,f.semver,i)&&(f=h)}),g.operator===a||g.operator===l||(!f.operator||f.operator===a)&&s(r,f.semver))return!1;if(f.operator===l&&o(r,f.semver))return!1}return!0};JG.exports=mme});var zG=w((MZe,WG)=>{var Eme=TI(),Ime=(r,e,t)=>Eme(r,e,\">\",t);WG.exports=Ime});var XG=w((KZe,VG)=>{var yme=TI(),wme=(r,e,t)=>yme(r,e,\"<\",t);VG.exports=wme});var $G=w((UZe,ZG)=>{var _G=os(),Bme=(r,e,t)=>(r=new _G(r,t),e=new _G(e,t),r.intersects(e));ZG.exports=Bme});var tY=w((HZe,eY)=>{var Qme=cd(),bme=ss();eY.exports=(r,e,t)=>{let i=[],n=null,s=null,o=r.sort((u,g)=>bme(u,g,t));for(let u of o)Qme(u,e,t)?(s=u,n||(n=u)):(s&&i.push([n,s]),s=null,n=null);n&&i.push([n,null]);let a=[];for(let[u,g]of i)u===g?a.push(u):!g&&u===o[0]?a.push(\"*\"):g?u===o[0]?a.push(`<=${g}`):a.push(`${u} - ${g}`):a.push(`>=${u}`);let l=a.join(\" || \"),c=typeof e.raw==\"string\"?e.raw:String(e);return l.length<c.length?l:e}});var oY=w((GZe,sY)=>{var rY=os(),OI=Ad(),{ANY:gv}=OI,ud=cd(),fv=ss(),Sme=(r,e,t={})=>{if(r===e)return!0;r=new rY(r,t),e=new rY(e,t);let i=!1;e:for(let n of r.set){for(let s of e.set){let o=vme(n,s,t);if(i=i||o!==null,o)continue e}if(i)return!1}return!0},vme=(r,e,t)=>{if(r===e)return!0;if(r.length===1&&r[0].semver===gv){if(e.length===1&&e[0].semver===gv)return!0;t.includePrerelease?r=[new OI(\">=0.0.0-0\")]:r=[new OI(\">=0.0.0\")]}if(e.length===1&&e[0].semver===gv){if(t.includePrerelease)return!0;e=[new OI(\">=0.0.0\")]}let i=new Set,n,s;for(let h of r)h.operator===\">\"||h.operator===\">=\"?n=iY(n,h,t):h.operator===\"<\"||h.operator===\"<=\"?s=nY(s,h,t):i.add(h.semver);if(i.size>1)return null;let o;if(n&&s){if(o=fv(n.semver,s.semver,t),o>0)return null;if(o===0&&(n.operator!==\">=\"||s.operator!==\"<=\"))return null}for(let h of i){if(n&&!ud(h,String(n),t)||s&&!ud(h,String(s),t))return null;for(let p of e)if(!ud(h,String(p),t))return!1;return!0}let a,l,c,u,g=s&&!t.includePrerelease&&s.semver.prerelease.length?s.semver:!1,f=n&&!t.includePrerelease&&n.semver.prerelease.length?n.semver:!1;g&&g.prerelease.length===1&&s.operator===\"<\"&&g.prerelease[0]===0&&(g=!1);for(let h of e){if(u=u||h.operator===\">\"||h.operator===\">=\",c=c||h.operator===\"<\"||h.operator===\"<=\",n){if(f&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===f.major&&h.semver.minor===f.minor&&h.semver.patch===f.patch&&(f=!1),h.operator===\">\"||h.operator===\">=\"){if(a=iY(n,h,t),a===h&&a!==n)return!1}else if(n.operator===\">=\"&&!ud(n.semver,String(h),t))return!1}if(s){if(g&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===g.major&&h.semver.minor===g.minor&&h.semver.patch===g.patch&&(g=!1),h.operator===\"<\"||h.operator===\"<=\"){if(l=nY(s,h,t),l===h&&l!==s)return!1}else if(s.operator===\"<=\"&&!ud(s.semver,String(h),t))return!1}if(!h.operator&&(s||n)&&o!==0)return!1}return!(n&&c&&!s&&o!==0||s&&u&&!n&&o!==0||f||g)},iY=(r,e,t)=>{if(!r)return e;let i=fv(r.semver,e.semver,t);return i>0?r:i<0||e.operator===\">\"&&r.operator===\">=\"?e:r},nY=(r,e,t)=>{if(!r)return e;let i=fv(r.semver,e.semver,t);return i<0?r:i>0||e.operator===\"<\"&&r.operator===\"<=\"?e:r};sY.exports=Sme});var Xr=w((YZe,aY)=>{var hv=Zl();aY.exports={re:hv.re,src:hv.src,tokens:hv.t,SEMVER_SPEC_VERSION:ed().SEMVER_SPEC_VERSION,SemVer:Li(),compareIdentifiers:bI().compareIdentifiers,rcompareIdentifiers:bI().rcompareIdentifiers,parse:$l(),valid:kH(),clean:FH(),inc:LH(),diff:HH(),major:YH(),minor:qH(),patch:WH(),prerelease:VH(),compare:ss(),rcompare:_H(),compareLoose:$H(),compareBuild:PI(),sort:iG(),rsort:sG(),gt:nd(),lt:DI(),eq:xI(),neq:rv(),gte:kI(),lte:RI(),cmp:iv(),coerce:fG(),Comparator:Ad(),Range:os(),satisfies:cd(),toComparators:FG(),maxSatisfying:LG(),minSatisfying:OG(),minVersion:UG(),validRange:GG(),outside:TI(),gtr:zG(),ltr:XG(),intersects:$G(),simplifyRange:tY(),subset:oY()}});var pv=w(MI=>{\"use strict\";Object.defineProperty(MI,\"__esModule\",{value:!0});MI.VERSION=void 0;MI.VERSION=\"9.1.0\"});var Gt=w((exports,module)=>{\"use strict\";var __spreadArray=exports&&exports.__spreadArray||function(r,e,t){if(t||arguments.length===2)for(var i=0,n=e.length,s;i<n;i++)(s||!(i in e))&&(s||(s=Array.prototype.slice.call(e,0,i)),s[i]=e[i]);return r.concat(s||Array.prototype.slice.call(e))};Object.defineProperty(exports,\"__esModule\",{value:!0});exports.toFastProperties=exports.timer=exports.peek=exports.isES2015MapSupported=exports.PRINT_WARNING=exports.PRINT_ERROR=exports.packArray=exports.IDENTITY=exports.NOOP=exports.merge=exports.groupBy=exports.defaults=exports.assignNoOverwrite=exports.assign=exports.zipObject=exports.sortBy=exports.indexOf=exports.some=exports.difference=exports.every=exports.isObject=exports.isRegExp=exports.isArray=exports.partial=exports.uniq=exports.compact=exports.reduce=exports.findAll=exports.find=exports.cloneObj=exports.cloneArr=exports.contains=exports.has=exports.pick=exports.reject=exports.filter=exports.dropRight=exports.drop=exports.isFunction=exports.isUndefined=exports.isString=exports.forEach=exports.last=exports.first=exports.flatten=exports.map=exports.mapValues=exports.values=exports.keys=exports.isEmpty=void 0;exports.upperFirst=void 0;function isEmpty(r){return r&&r.length===0}exports.isEmpty=isEmpty;function keys(r){return r==null?[]:Object.keys(r)}exports.keys=keys;function values(r){for(var e=[],t=Object.keys(r),i=0;i<t.length;i++)e.push(r[t[i]]);return e}exports.values=values;function mapValues(r,e){for(var t=[],i=keys(r),n=0;n<i.length;n++){var s=i[n];t.push(e.call(null,r[s],s))}return t}exports.mapValues=mapValues;function map(r,e){for(var t=[],i=0;i<r.length;i++)t.push(e.call(null,r[i],i));return t}exports.map=map;function flatten(r){for(var e=[],t=0;t<r.length;t++){var i=r[t];Array.isArray(i)?e=e.concat(flatten(i)):e.push(i)}return e}exports.flatten=flatten;function first(r){return isEmpty(r)?void 0:r[0]}exports.first=first;function last(r){var e=r&&r.length;return e?r[e-1]:void 0}exports.last=last;function forEach(r,e){if(Array.isArray(r))for(var t=0;t<r.length;t++)e.call(null,r[t],t);else if(isObject(r))for(var i=keys(r),t=0;t<i.length;t++){var n=i[t],s=r[n];e.call(null,s,n)}else throw Error(\"non exhaustive match\")}exports.forEach=forEach;function isString(r){return typeof r==\"string\"}exports.isString=isString;function isUndefined(r){return r===void 0}exports.isUndefined=isUndefined;function isFunction(r){return r instanceof Function}exports.isFunction=isFunction;function drop(r,e){return e===void 0&&(e=1),r.slice(e,r.length)}exports.drop=drop;function dropRight(r,e){return e===void 0&&(e=1),r.slice(0,r.length-e)}exports.dropRight=dropRight;function filter(r,e){var t=[];if(Array.isArray(r))for(var i=0;i<r.length;i++){var n=r[i];e.call(null,n)&&t.push(n)}return t}exports.filter=filter;function reject(r,e){return filter(r,function(t){return!e(t)})}exports.reject=reject;function pick(r,e){for(var t=Object.keys(r),i={},n=0;n<t.length;n++){var s=t[n],o=r[s];e(o)&&(i[s]=o)}return i}exports.pick=pick;function has(r,e){return isObject(r)?r.hasOwnProperty(e):!1}exports.has=has;function contains(r,e){return find(r,function(t){return t===e})!==void 0}exports.contains=contains;function cloneArr(r){for(var e=[],t=0;t<r.length;t++)e.push(r[t]);return e}exports.cloneArr=cloneArr;function cloneObj(r){var e={};for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t]);return e}exports.cloneObj=cloneObj;function find(r,e){for(var t=0;t<r.length;t++){var i=r[t];if(e.call(null,i))return i}}exports.find=find;function findAll(r,e){for(var t=[],i=0;i<r.length;i++){var n=r[i];e.call(null,n)&&t.push(n)}return t}exports.findAll=findAll;function reduce(r,e,t){for(var i=Array.isArray(r),n=i?r:values(r),s=i?[]:keys(r),o=t,a=0;a<n.length;a++)o=e.call(null,o,n[a],i?a:s[a]);return o}exports.reduce=reduce;function compact(r){return reject(r,function(e){return e==null})}exports.compact=compact;function uniq(r,e){e===void 0&&(e=function(i){return i});var t=[];return reduce(r,function(i,n){var s=e(n);return contains(t,s)?i:(t.push(s),i.concat(n))},[])}exports.uniq=uniq;function partial(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];var i=[null],n=i.concat(e);return Function.bind.apply(r,n)}exports.partial=partial;function isArray(r){return Array.isArray(r)}exports.isArray=isArray;function isRegExp(r){return r instanceof RegExp}exports.isRegExp=isRegExp;function isObject(r){return r instanceof Object}exports.isObject=isObject;function every(r,e){for(var t=0;t<r.length;t++)if(!e(r[t],t))return!1;return!0}exports.every=every;function difference(r,e){return reject(r,function(t){return contains(e,t)})}exports.difference=difference;function some(r,e){for(var t=0;t<r.length;t++)if(e(r[t]))return!0;return!1}exports.some=some;function indexOf(r,e){for(var t=0;t<r.length;t++)if(r[t]===e)return t;return-1}exports.indexOf=indexOf;function sortBy(r,e){var t=cloneArr(r);return t.sort(function(i,n){return e(i)-e(n)}),t}exports.sortBy=sortBy;function zipObject(r,e){if(r.length!==e.length)throw Error(\"can't zipObject with different number of keys and values!\");for(var t={},i=0;i<r.length;i++)t[r[i]]=e[i];return t}exports.zipObject=zipObject;function assign(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];for(var i=0;i<e.length;i++)for(var n=e[i],s=keys(n),o=0;o<s.length;o++){var a=s[o];r[a]=n[a]}return r}exports.assign=assign;function assignNoOverwrite(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];for(var i=0;i<e.length;i++)for(var n=e[i],s=keys(n),o=0;o<s.length;o++){var a=s[o];has(r,a)||(r[a]=n[a])}return r}exports.assignNoOverwrite=assignNoOverwrite;function defaults(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];return assignNoOverwrite.apply(void 0,__spreadArray([{}],r,!1))}exports.defaults=defaults;function groupBy(r,e){var t={};return forEach(r,function(i){var n=e(i),s=t[n];s?s.push(i):t[n]=[i]}),t}exports.groupBy=groupBy;function merge(r,e){for(var t=cloneObj(r),i=keys(e),n=0;n<i.length;n++){var s=i[n],o=e[s];t[s]=o}return t}exports.merge=merge;function NOOP(){}exports.NOOP=NOOP;function IDENTITY(r){return r}exports.IDENTITY=IDENTITY;function packArray(r){for(var e=[],t=0;t<r.length;t++){var i=r[t];e.push(i!==void 0?i:void 0)}return e}exports.packArray=packArray;function PRINT_ERROR(r){console&&console.error&&console.error(\"Error: \"+r)}exports.PRINT_ERROR=PRINT_ERROR;function PRINT_WARNING(r){console&&console.warn&&console.warn(\"Warning: \"+r)}exports.PRINT_WARNING=PRINT_WARNING;function isES2015MapSupported(){return typeof Map==\"function\"}exports.isES2015MapSupported=isES2015MapSupported;function peek(r){return r[r.length-1]}exports.peek=peek;function timer(r){var e=new Date().getTime(),t=r(),i=new Date().getTime(),n=i-e;return{time:n,value:t}}exports.timer=timer;function toFastProperties(toBecomeFast){function FakeConstructor(){}FakeConstructor.prototype=toBecomeFast;var fakeInstance=new FakeConstructor;function fakeAccess(){return typeof fakeInstance.bar}return fakeAccess(),fakeAccess(),toBecomeFast;eval(toBecomeFast)}exports.toFastProperties=toFastProperties;function upperFirst(r){if(!r)return r;var e=getCharacterFromCodePointAt(r,0);return e.toUpperCase()+r.substring(e.length)}exports.upperFirst=upperFirst;var surrogatePairPattern=/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/;function getCharacterFromCodePointAt(r,e){var t=r.substring(e,e+1);return surrogatePairPattern.test(t)?t:r[e]}});var UI=w((AY,KI)=>{(function(r,e){typeof define==\"function\"&&define.amd?define([],e):typeof KI==\"object\"&&KI.exports?KI.exports=e():r.regexpToAst=e()})(typeof self<\"u\"?self:AY,function(){function r(){}r.prototype.saveState=function(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}},r.prototype.restoreState=function(p){this.idx=p.idx,this.input=p.input,this.groupIdx=p.groupIdx},r.prototype.pattern=function(p){this.idx=0,this.input=p,this.groupIdx=0,this.consumeChar(\"/\");var C=this.disjunction();this.consumeChar(\"/\");for(var y={type:\"Flags\",loc:{begin:this.idx,end:p.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};this.isRegExpFlag();)switch(this.popChar()){case\"g\":o(y,\"global\");break;case\"i\":o(y,\"ignoreCase\");break;case\"m\":o(y,\"multiLine\");break;case\"u\":o(y,\"unicode\");break;case\"y\":o(y,\"sticky\");break}if(this.idx!==this.input.length)throw Error(\"Redundant input: \"+this.input.substring(this.idx));return{type:\"Pattern\",flags:y,value:C,loc:this.loc(0)}},r.prototype.disjunction=function(){var p=[],C=this.idx;for(p.push(this.alternative());this.peekChar()===\"|\";)this.consumeChar(\"|\"),p.push(this.alternative());return{type:\"Disjunction\",value:p,loc:this.loc(C)}},r.prototype.alternative=function(){for(var p=[],C=this.idx;this.isTerm();)p.push(this.term());return{type:\"Alternative\",value:p,loc:this.loc(C)}},r.prototype.term=function(){return this.isAssertion()?this.assertion():this.atom()},r.prototype.assertion=function(){var p=this.idx;switch(this.popChar()){case\"^\":return{type:\"StartAnchor\",loc:this.loc(p)};case\"$\":return{type:\"EndAnchor\",loc:this.loc(p)};case\"\\\\\":switch(this.popChar()){case\"b\":return{type:\"WordBoundary\",loc:this.loc(p)};case\"B\":return{type:\"NonWordBoundary\",loc:this.loc(p)}}throw Error(\"Invalid Assertion Escape\");case\"(\":this.consumeChar(\"?\");var C;switch(this.popChar()){case\"=\":C=\"Lookahead\";break;case\"!\":C=\"NegativeLookahead\";break}a(C);var y=this.disjunction();return this.consumeChar(\")\"),{type:C,value:y,loc:this.loc(p)}}l()},r.prototype.quantifier=function(p){var C,y=this.idx;switch(this.popChar()){case\"*\":C={atLeast:0,atMost:1/0};break;case\"+\":C={atLeast:1,atMost:1/0};break;case\"?\":C={atLeast:0,atMost:1};break;case\"{\":var B=this.integerIncludingZero();switch(this.popChar()){case\"}\":C={atLeast:B,atMost:B};break;case\",\":var v;this.isDigit()?(v=this.integerIncludingZero(),C={atLeast:B,atMost:v}):C={atLeast:B,atMost:1/0},this.consumeChar(\"}\");break}if(p===!0&&C===void 0)return;a(C);break}if(!(p===!0&&C===void 0))return a(C),this.peekChar(0)===\"?\"?(this.consumeChar(\"?\"),C.greedy=!1):C.greedy=!0,C.type=\"Quantifier\",C.loc=this.loc(y),C},r.prototype.atom=function(){var p,C=this.idx;switch(this.peekChar()){case\".\":p=this.dotAll();break;case\"\\\\\":p=this.atomEscape();break;case\"[\":p=this.characterClass();break;case\"(\":p=this.group();break}return p===void 0&&this.isPatternCharacter()&&(p=this.patternCharacter()),a(p),p.loc=this.loc(C),this.isQuantifier()&&(p.quantifier=this.quantifier()),p},r.prototype.dotAll=function(){return this.consumeChar(\".\"),{type:\"Set\",complement:!0,value:[n(`\n`),n(\"\\r\"),n(\"\\u2028\"),n(\"\\u2029\")]}},r.prototype.atomEscape=function(){switch(this.consumeChar(\"\\\\\"),this.peekChar()){case\"1\":case\"2\":case\"3\":case\"4\":case\"5\":case\"6\":case\"7\":case\"8\":case\"9\":return this.decimalEscapeAtom();case\"d\":case\"D\":case\"s\":case\"S\":case\"w\":case\"W\":return this.characterClassEscape();case\"f\":case\"n\":case\"r\":case\"t\":case\"v\":return this.controlEscapeAtom();case\"c\":return this.controlLetterEscapeAtom();case\"0\":return this.nulCharacterAtom();case\"x\":return this.hexEscapeSequenceAtom();case\"u\":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}},r.prototype.decimalEscapeAtom=function(){var p=this.positiveInteger();return{type:\"GroupBackReference\",value:p}},r.prototype.characterClassEscape=function(){var p,C=!1;switch(this.popChar()){case\"d\":p=u;break;case\"D\":p=u,C=!0;break;case\"s\":p=f;break;case\"S\":p=f,C=!0;break;case\"w\":p=g;break;case\"W\":p=g,C=!0;break}return a(p),{type:\"Set\",value:p,complement:C}},r.prototype.controlEscapeAtom=function(){var p;switch(this.popChar()){case\"f\":p=n(\"\\f\");break;case\"n\":p=n(`\n`);break;case\"r\":p=n(\"\\r\");break;case\"t\":p=n(\"\t\");break;case\"v\":p=n(\"\\v\");break}return a(p),{type:\"Character\",value:p}},r.prototype.controlLetterEscapeAtom=function(){this.consumeChar(\"c\");var p=this.popChar();if(/[a-zA-Z]/.test(p)===!1)throw Error(\"Invalid \");var C=p.toUpperCase().charCodeAt(0)-64;return{type:\"Character\",value:C}},r.prototype.nulCharacterAtom=function(){return this.consumeChar(\"0\"),{type:\"Character\",value:n(\"\\0\")}},r.prototype.hexEscapeSequenceAtom=function(){return this.consumeChar(\"x\"),this.parseHexDigits(2)},r.prototype.regExpUnicodeEscapeSequenceAtom=function(){return this.consumeChar(\"u\"),this.parseHexDigits(4)},r.prototype.identityEscapeAtom=function(){var p=this.popChar();return{type:\"Character\",value:n(p)}},r.prototype.classPatternCharacterAtom=function(){switch(this.peekChar()){case`\n`:case\"\\r\":case\"\\u2028\":case\"\\u2029\":case\"\\\\\":case\"]\":throw Error(\"TBD\");default:var p=this.popChar();return{type:\"Character\",value:n(p)}}},r.prototype.characterClass=function(){var p=[],C=!1;for(this.consumeChar(\"[\"),this.peekChar(0)===\"^\"&&(this.consumeChar(\"^\"),C=!0);this.isClassAtom();){var y=this.classAtom(),B=y.type===\"Character\";if(B&&this.isRangeDash()){this.consumeChar(\"-\");var v=this.classAtom(),D=v.type===\"Character\";if(D){if(v.value<y.value)throw Error(\"Range out of order in character class\");p.push({from:y.value,to:v.value})}else s(y.value,p),p.push(n(\"-\")),s(v.value,p)}else s(y.value,p)}return this.consumeChar(\"]\"),{type:\"Set\",complement:C,value:p}},r.prototype.classAtom=function(){switch(this.peekChar()){case\"]\":case`\n`:case\"\\r\":case\"\\u2028\":case\"\\u2029\":throw Error(\"TBD\");case\"\\\\\":return this.classEscape();default:return this.classPatternCharacterAtom()}},r.prototype.classEscape=function(){switch(this.consumeChar(\"\\\\\"),this.peekChar()){case\"b\":return this.consumeChar(\"b\"),{type:\"Character\",value:n(\"\\b\")};case\"d\":case\"D\":case\"s\":case\"S\":case\"w\":case\"W\":return this.characterClassEscape();case\"f\":case\"n\":case\"r\":case\"t\":case\"v\":return this.controlEscapeAtom();case\"c\":return this.controlLetterEscapeAtom();case\"0\":return this.nulCharacterAtom();case\"x\":return this.hexEscapeSequenceAtom();case\"u\":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}},r.prototype.group=function(){var p=!0;switch(this.consumeChar(\"(\"),this.peekChar(0)){case\"?\":this.consumeChar(\"?\"),this.consumeChar(\":\"),p=!1;break;default:this.groupIdx++;break}var C=this.disjunction();this.consumeChar(\")\");var y={type:\"Group\",capturing:p,value:C};return p&&(y.idx=this.groupIdx),y},r.prototype.positiveInteger=function(){var p=this.popChar();if(i.test(p)===!1)throw Error(\"Expecting a positive integer\");for(;t.test(this.peekChar(0));)p+=this.popChar();return parseInt(p,10)},r.prototype.integerIncludingZero=function(){var p=this.popChar();if(t.test(p)===!1)throw Error(\"Expecting an integer\");for(;t.test(this.peekChar(0));)p+=this.popChar();return parseInt(p,10)},r.prototype.patternCharacter=function(){var p=this.popChar();switch(p){case`\n`:case\"\\r\":case\"\\u2028\":case\"\\u2029\":case\"^\":case\"$\":case\"\\\\\":case\".\":case\"*\":case\"+\":case\"?\":case\"(\":case\")\":case\"[\":case\"|\":throw Error(\"TBD\");default:return{type:\"Character\",value:n(p)}}},r.prototype.isRegExpFlag=function(){switch(this.peekChar(0)){case\"g\":case\"i\":case\"m\":case\"u\":case\"y\":return!0;default:return!1}},r.prototype.isRangeDash=function(){return this.peekChar()===\"-\"&&this.isClassAtom(1)},r.prototype.isDigit=function(){return t.test(this.peekChar(0))},r.prototype.isClassAtom=function(p){switch(p===void 0&&(p=0),this.peekChar(p)){case\"]\":case`\n`:case\"\\r\":case\"\\u2028\":case\"\\u2029\":return!1;default:return!0}},r.prototype.isTerm=function(){return this.isAtom()||this.isAssertion()},r.prototype.isAtom=function(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case\".\":case\"\\\\\":case\"[\":case\"(\":return!0;default:return!1}},r.prototype.isAssertion=function(){switch(this.peekChar(0)){case\"^\":case\"$\":return!0;case\"\\\\\":switch(this.peekChar(1)){case\"b\":case\"B\":return!0;default:return!1}case\"(\":return this.peekChar(1)===\"?\"&&(this.peekChar(2)===\"=\"||this.peekChar(2)===\"!\");default:return!1}},r.prototype.isQuantifier=function(){var p=this.saveState();try{return this.quantifier(!0)!==void 0}catch{return!1}finally{this.restoreState(p)}},r.prototype.isPatternCharacter=function(){switch(this.peekChar()){case\"^\":case\"$\":case\"\\\\\":case\".\":case\"*\":case\"+\":case\"?\":case\"(\":case\")\":case\"[\":case\"|\":case\"/\":case`\n`:case\"\\r\":case\"\\u2028\":case\"\\u2029\":return!1;default:return!0}},r.prototype.parseHexDigits=function(p){for(var C=\"\",y=0;y<p;y++){var B=this.popChar();if(e.test(B)===!1)throw Error(\"Expecting a HexDecimal digits\");C+=B}var v=parseInt(C,16);return{type:\"Character\",value:v}},r.prototype.peekChar=function(p){return p===void 0&&(p=0),this.input[this.idx+p]},r.prototype.popChar=function(){var p=this.peekChar(0);return this.consumeChar(),p},r.prototype.consumeChar=function(p){if(p!==void 0&&this.input[this.idx]!==p)throw Error(\"Expected: '\"+p+\"' but found: '\"+this.input[this.idx]+\"' at offset: \"+this.idx);if(this.idx>=this.input.length)throw Error(\"Unexpected end of input\");this.idx++},r.prototype.loc=function(p){return{begin:p,end:this.idx}};var e=/[0-9a-fA-F]/,t=/[0-9]/,i=/[1-9]/;function n(p){return p.charCodeAt(0)}function s(p,C){p.length!==void 0?p.forEach(function(y){C.push(y)}):C.push(p)}function o(p,C){if(p[C]===!0)throw\"duplicate flag \"+C;p[C]=!0}function a(p){if(p===void 0)throw Error(\"Internal Error - Should never get here!\")}function l(){throw Error(\"Internal Error - Should never get here!\")}var c,u=[];for(c=n(\"0\");c<=n(\"9\");c++)u.push(c);var g=[n(\"_\")].concat(u);for(c=n(\"a\");c<=n(\"z\");c++)g.push(c);for(c=n(\"A\");c<=n(\"Z\");c++)g.push(c);var f=[n(\" \"),n(\"\\f\"),n(`\n`),n(\"\\r\"),n(\"\t\"),n(\"\\v\"),n(\"\t\"),n(\"\\xA0\"),n(\"\\u1680\"),n(\"\\u2000\"),n(\"\\u2001\"),n(\"\\u2002\"),n(\"\\u2003\"),n(\"\\u2004\"),n(\"\\u2005\"),n(\"\\u2006\"),n(\"\\u2007\"),n(\"\\u2008\"),n(\"\\u2009\"),n(\"\\u200A\"),n(\"\\u2028\"),n(\"\\u2029\"),n(\"\\u202F\"),n(\"\\u205F\"),n(\"\\u3000\"),n(\"\\uFEFF\")];function h(){}return h.prototype.visitChildren=function(p){for(var C in p){var y=p[C];p.hasOwnProperty(C)&&(y.type!==void 0?this.visit(y):Array.isArray(y)&&y.forEach(function(B){this.visit(B)},this))}},h.prototype.visit=function(p){switch(p.type){case\"Pattern\":this.visitPattern(p);break;case\"Flags\":this.visitFlags(p);break;case\"Disjunction\":this.visitDisjunction(p);break;case\"Alternative\":this.visitAlternative(p);break;case\"StartAnchor\":this.visitStartAnchor(p);break;case\"EndAnchor\":this.visitEndAnchor(p);break;case\"WordBoundary\":this.visitWordBoundary(p);break;case\"NonWordBoundary\":this.visitNonWordBoundary(p);break;case\"Lookahead\":this.visitLookahead(p);break;case\"NegativeLookahead\":this.visitNegativeLookahead(p);break;case\"Character\":this.visitCharacter(p);break;case\"Set\":this.visitSet(p);break;case\"Group\":this.visitGroup(p);break;case\"GroupBackReference\":this.visitGroupBackReference(p);break;case\"Quantifier\":this.visitQuantifier(p);break}this.visitChildren(p)},h.prototype.visitPattern=function(p){},h.prototype.visitFlags=function(p){},h.prototype.visitDisjunction=function(p){},h.prototype.visitAlternative=function(p){},h.prototype.visitStartAnchor=function(p){},h.prototype.visitEndAnchor=function(p){},h.prototype.visitWordBoundary=function(p){},h.prototype.visitNonWordBoundary=function(p){},h.prototype.visitLookahead=function(p){},h.prototype.visitNegativeLookahead=function(p){},h.prototype.visitCharacter=function(p){},h.prototype.visitSet=function(p){},h.prototype.visitGroup=function(p){},h.prototype.visitGroupBackReference=function(p){},h.prototype.visitQuantifier=function(p){},{RegExpParser:r,BaseRegExpVisitor:h,VERSION:\"0.5.0\"}})});var GI=w(Ug=>{\"use strict\";Object.defineProperty(Ug,\"__esModule\",{value:!0});Ug.clearRegExpParserCache=Ug.getRegExpAst=void 0;var xme=UI(),HI={},Pme=new xme.RegExpParser;function Dme(r){var e=r.toString();if(HI.hasOwnProperty(e))return HI[e];var t=Pme.pattern(e);return HI[e]=t,t}Ug.getRegExpAst=Dme;function kme(){HI={}}Ug.clearRegExpParserCache=kme});var fY=w(pn=>{\"use strict\";var Rme=pn&&pn.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(pn,\"__esModule\",{value:!0});pn.canMatchCharCode=pn.firstCharOptimizedIndices=pn.getOptimizedStartCodesIndices=pn.failedOptimizationPrefixMsg=void 0;var cY=UI(),as=Gt(),uY=GI(),ya=Cv(),gY=\"Complement Sets are not supported for first char optimization\";pn.failedOptimizationPrefixMsg=`Unable to use \"first char\" lexer optimizations:\n`;function Fme(r,e){e===void 0&&(e=!1);try{var t=(0,uY.getRegExpAst)(r),i=jI(t.value,{},t.flags.ignoreCase);return i}catch(s){if(s.message===gY)e&&(0,as.PRINT_WARNING)(\"\"+pn.failedOptimizationPrefixMsg+(\"\tUnable to optimize: < \"+r.toString()+` >\n`)+`\tComplement Sets cannot be automatically optimized.\n\tThis will disable the lexer's first char optimizations.\n\tSee: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{var n=\"\";e&&(n=`\n\tThis will disable the lexer's first char optimizations.\n\tSee: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),(0,as.PRINT_ERROR)(pn.failedOptimizationPrefixMsg+`\n`+(\"\tFailed parsing: < \"+r.toString()+` >\n`)+(\"\tUsing the regexp-to-ast library version: \"+cY.VERSION+`\n`)+\"\tPlease open an issue at: https://github.com/bd82/regexp-to-ast/issues\"+n)}}return[]}pn.getOptimizedStartCodesIndices=Fme;function jI(r,e,t){switch(r.type){case\"Disjunction\":for(var i=0;i<r.value.length;i++)jI(r.value[i],e,t);break;case\"Alternative\":for(var n=r.value,i=0;i<n.length;i++){var s=n[i];switch(s.type){case\"EndAnchor\":case\"GroupBackReference\":case\"Lookahead\":case\"NegativeLookahead\":case\"StartAnchor\":case\"WordBoundary\":case\"NonWordBoundary\":continue}var o=s;switch(o.type){case\"Character\":YI(o.value,e,t);break;case\"Set\":if(o.complement===!0)throw Error(gY);(0,as.forEach)(o.value,function(c){if(typeof c==\"number\")YI(c,e,t);else{var u=c;if(t===!0)for(var g=u.from;g<=u.to;g++)YI(g,e,t);else{for(var g=u.from;g<=u.to&&g<ya.minOptimizationVal;g++)YI(g,e,t);if(u.to>=ya.minOptimizationVal)for(var f=u.from>=ya.minOptimizationVal?u.from:ya.minOptimizationVal,h=u.to,p=(0,ya.charCodeToOptimizedIndex)(f),C=(0,ya.charCodeToOptimizedIndex)(h),y=p;y<=C;y++)e[y]=y}}});break;case\"Group\":jI(o.value,e,t);break;default:throw Error(\"Non Exhaustive Match\")}var a=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type===\"Group\"&&dv(o)===!1||o.type!==\"Group\"&&a===!1)break}break;default:throw Error(\"non exhaustive match!\")}return(0,as.values)(e)}pn.firstCharOptimizedIndices=jI;function YI(r,e,t){var i=(0,ya.charCodeToOptimizedIndex)(r);e[i]=i,t===!0&&Nme(r,e)}function Nme(r,e){var t=String.fromCharCode(r),i=t.toUpperCase();if(i!==t){var n=(0,ya.charCodeToOptimizedIndex)(i.charCodeAt(0));e[n]=n}else{var s=t.toLowerCase();if(s!==t){var n=(0,ya.charCodeToOptimizedIndex)(s.charCodeAt(0));e[n]=n}}}function lY(r,e){return(0,as.find)(r.value,function(t){if(typeof t==\"number\")return(0,as.contains)(e,t);var i=t;return(0,as.find)(e,function(n){return i.from<=n&&n<=i.to})!==void 0})}function dv(r){return r.quantifier&&r.quantifier.atLeast===0?!0:r.value?(0,as.isArray)(r.value)?(0,as.every)(r.value,dv):dv(r.value):!1}var Lme=function(r){Rme(e,r);function e(t){var i=r.call(this)||this;return i.targetCharCodes=t,i.found=!1,i}return e.prototype.visitChildren=function(t){if(this.found!==!0){switch(t.type){case\"Lookahead\":this.visitLookahead(t);return;case\"NegativeLookahead\":this.visitNegativeLookahead(t);return}r.prototype.visitChildren.call(this,t)}},e.prototype.visitCharacter=function(t){(0,as.contains)(this.targetCharCodes,t.value)&&(this.found=!0)},e.prototype.visitSet=function(t){t.complement?lY(t,this.targetCharCodes)===void 0&&(this.found=!0):lY(t,this.targetCharCodes)!==void 0&&(this.found=!0)},e}(cY.BaseRegExpVisitor);function Tme(r,e){if(e instanceof RegExp){var t=(0,uY.getRegExpAst)(e),i=new Lme(r);return i.visit(t),i.found}else return(0,as.find)(e,function(n){return(0,as.contains)(r,n.charCodeAt(0))})!==void 0}pn.canMatchCharCode=Tme});var Cv=w(Ve=>{\"use strict\";var hY=Ve&&Ve.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Ve,\"__esModule\",{value:!0});Ve.charCodeToOptimizedIndex=Ve.minOptimizationVal=Ve.buildLineBreakIssueMessage=Ve.LineTerminatorOptimizedTester=Ve.isShortPattern=Ve.isCustomPattern=Ve.cloneEmptyGroups=Ve.performWarningRuntimeChecks=Ve.performRuntimeChecks=Ve.addStickyFlag=Ve.addStartOfInput=Ve.findUnreachablePatterns=Ve.findModesThatDoNotExist=Ve.findInvalidGroupType=Ve.findDuplicatePatterns=Ve.findUnsupportedFlags=Ve.findStartOfInputAnchor=Ve.findEmptyMatchRegExps=Ve.findEndOfInputAnchor=Ve.findInvalidPatterns=Ve.findMissingPatterns=Ve.validatePatterns=Ve.analyzeTokenTypes=Ve.enableSticky=Ve.disableSticky=Ve.SUPPORT_STICKY=Ve.MODES=Ve.DEFAULT_MODE=void 0;var pY=UI(),ir=gd(),xe=Gt(),Hg=fY(),dY=GI(),So=\"PATTERN\";Ve.DEFAULT_MODE=\"defaultMode\";Ve.MODES=\"modes\";Ve.SUPPORT_STICKY=typeof new RegExp(\"(?:)\").sticky==\"boolean\";function Ome(){Ve.SUPPORT_STICKY=!1}Ve.disableSticky=Ome;function Mme(){Ve.SUPPORT_STICKY=!0}Ve.enableSticky=Mme;function Kme(r,e){e=(0,xe.defaults)(e,{useSticky:Ve.SUPPORT_STICKY,debug:!1,safeMode:!1,positionTracking:\"full\",lineTerminatorCharacters:[\"\\r\",`\n`],tracer:function(v,D){return D()}});var t=e.tracer;t(\"initCharCodeToOptimizedIndexMap\",function(){Vme()});var i;t(\"Reject Lexer.NA\",function(){i=(0,xe.reject)(r,function(v){return v[So]===ir.Lexer.NA})});var n=!1,s;t(\"Transform Patterns\",function(){n=!1,s=(0,xe.map)(i,function(v){var D=v[So];if((0,xe.isRegExp)(D)){var L=D.source;return L.length===1&&L!==\"^\"&&L!==\"$\"&&L!==\".\"&&!D.ignoreCase?L:L.length===2&&L[0]===\"\\\\\"&&!(0,xe.contains)([\"d\",\"D\",\"s\",\"S\",\"t\",\"r\",\"n\",\"t\",\"0\",\"c\",\"b\",\"B\",\"f\",\"v\",\"w\",\"W\"],L[1])?L[1]:e.useSticky?Iv(D):Ev(D)}else{if((0,xe.isFunction)(D))return n=!0,{exec:D};if((0,xe.has)(D,\"exec\"))return n=!0,D;if(typeof D==\"string\"){if(D.length===1)return D;var H=D.replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\"),j=new RegExp(H);return e.useSticky?Iv(j):Ev(j)}else throw Error(\"non exhaustive match\")}})});var o,a,l,c,u;t(\"misc mapping\",function(){o=(0,xe.map)(i,function(v){return v.tokenTypeIdx}),a=(0,xe.map)(i,function(v){var D=v.GROUP;if(D!==ir.Lexer.SKIPPED){if((0,xe.isString)(D))return D;if((0,xe.isUndefined)(D))return!1;throw Error(\"non exhaustive match\")}}),l=(0,xe.map)(i,function(v){var D=v.LONGER_ALT;if(D){var L=(0,xe.isArray)(D)?(0,xe.map)(D,function(H){return(0,xe.indexOf)(i,H)}):[(0,xe.indexOf)(i,D)];return L}}),c=(0,xe.map)(i,function(v){return v.PUSH_MODE}),u=(0,xe.map)(i,function(v){return(0,xe.has)(v,\"POP_MODE\")})});var g;t(\"Line Terminator Handling\",function(){var v=DY(e.lineTerminatorCharacters);g=(0,xe.map)(i,function(D){return!1}),e.positionTracking!==\"onlyOffset\"&&(g=(0,xe.map)(i,function(D){if((0,xe.has)(D,\"LINE_BREAKS\"))return D.LINE_BREAKS;if(xY(D,v)===!1)return(0,Hg.canMatchCharCode)(v,D.PATTERN)}))});var f,h,p,C;t(\"Misc Mapping #2\",function(){f=(0,xe.map)(i,wv),h=(0,xe.map)(s,vY),p=(0,xe.reduce)(i,function(v,D){var L=D.GROUP;return(0,xe.isString)(L)&&L!==ir.Lexer.SKIPPED&&(v[L]=[]),v},{}),C=(0,xe.map)(s,function(v,D){return{pattern:s[D],longerAlt:l[D],canLineTerminator:g[D],isCustom:f[D],short:h[D],group:a[D],push:c[D],pop:u[D],tokenTypeIdx:o[D],tokenType:i[D]}})});var y=!0,B=[];return e.safeMode||t(\"First Char Optimization\",function(){B=(0,xe.reduce)(i,function(v,D,L){if(typeof D.PATTERN==\"string\"){var H=D.PATTERN.charCodeAt(0),j=yv(H);mv(v,j,C[L])}else if((0,xe.isArray)(D.START_CHARS_HINT)){var $;(0,xe.forEach)(D.START_CHARS_HINT,function(W){var Z=typeof W==\"string\"?W.charCodeAt(0):W,A=yv(Z);$!==A&&($=A,mv(v,A,C[L]))})}else if((0,xe.isRegExp)(D.PATTERN))if(D.PATTERN.unicode)y=!1,e.ensureOptimizations&&(0,xe.PRINT_ERROR)(\"\"+Hg.failedOptimizationPrefixMsg+(\"\tUnable to analyze < \"+D.PATTERN.toString()+` > pattern.\n`)+`\tThe regexp unicode flag is not currently supported by the regexp-to-ast library.\n\tThis will disable the lexer's first char optimizations.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{var V=(0,Hg.getOptimizedStartCodesIndices)(D.PATTERN,e.ensureOptimizations);(0,xe.isEmpty)(V)&&(y=!1),(0,xe.forEach)(V,function(W){mv(v,W,C[L])})}else e.ensureOptimizations&&(0,xe.PRINT_ERROR)(\"\"+Hg.failedOptimizationPrefixMsg+(\"\tTokenType: <\"+D.name+`> is using a custom token pattern without providing <start_chars_hint> parameter.\n`)+`\tThis will disable the lexer's first char optimizations.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),y=!1;return v},[])}),t(\"ArrayPacking\",function(){B=(0,xe.packArray)(B)}),{emptyGroups:p,patternIdxToConfig:C,charCodeToPatternIdxToConfig:B,hasCustom:n,canBeOptimized:y}}Ve.analyzeTokenTypes=Kme;function Ume(r,e){var t=[],i=CY(r);t=t.concat(i.errors);var n=mY(i.valid),s=n.valid;return t=t.concat(n.errors),t=t.concat(Hme(s)),t=t.concat(QY(s)),t=t.concat(bY(s,e)),t=t.concat(SY(s)),t}Ve.validatePatterns=Ume;function Hme(r){var e=[],t=(0,xe.filter)(r,function(i){return(0,xe.isRegExp)(i[So])});return e=e.concat(EY(t)),e=e.concat(yY(t)),e=e.concat(wY(t)),e=e.concat(BY(t)),e=e.concat(IY(t)),e}function CY(r){var e=(0,xe.filter)(r,function(n){return!(0,xe.has)(n,So)}),t=(0,xe.map)(e,function(n){return{message:\"Token Type: ->\"+n.name+\"<- missing static 'PATTERN' property\",type:ir.LexerDefinitionErrorType.MISSING_PATTERN,tokenTypes:[n]}}),i=(0,xe.difference)(r,e);return{errors:t,valid:i}}Ve.findMissingPatterns=CY;function mY(r){var e=(0,xe.filter)(r,function(n){var s=n[So];return!(0,xe.isRegExp)(s)&&!(0,xe.isFunction)(s)&&!(0,xe.has)(s,\"exec\")&&!(0,xe.isString)(s)}),t=(0,xe.map)(e,function(n){return{message:\"Token Type: ->\"+n.name+\"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.\",type:ir.LexerDefinitionErrorType.INVALID_PATTERN,tokenTypes:[n]}}),i=(0,xe.difference)(r,e);return{errors:t,valid:i}}Ve.findInvalidPatterns=mY;var Gme=/[^\\\\][\\$]/;function EY(r){var e=function(n){hY(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitEndAnchor=function(o){this.found=!0},s}(pY.BaseRegExpVisitor),t=(0,xe.filter)(r,function(n){var s=n[So];try{var o=(0,dY.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch{return Gme.test(s.source)}}),i=(0,xe.map)(t,function(n){return{message:`Unexpected RegExp Anchor Error:\n\tToken Type: ->`+n.name+`<- static 'PATTERN' cannot contain end of input anchor '$'\n\tSee chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS\tfor details.`,type:ir.LexerDefinitionErrorType.EOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Ve.findEndOfInputAnchor=EY;function IY(r){var e=(0,xe.filter)(r,function(i){var n=i[So];return n.test(\"\")}),t=(0,xe.map)(e,function(i){return{message:\"Token Type: ->\"+i.name+\"<- static 'PATTERN' must not match an empty string\",type:ir.LexerDefinitionErrorType.EMPTY_MATCH_PATTERN,tokenTypes:[i]}});return t}Ve.findEmptyMatchRegExps=IY;var Yme=/[^\\\\[][\\^]|^\\^/;function yY(r){var e=function(n){hY(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitStartAnchor=function(o){this.found=!0},s}(pY.BaseRegExpVisitor),t=(0,xe.filter)(r,function(n){var s=n[So];try{var o=(0,dY.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch{return Yme.test(s.source)}}),i=(0,xe.map)(t,function(n){return{message:`Unexpected RegExp Anchor Error:\n\tToken Type: ->`+n.name+`<- static 'PATTERN' cannot contain start of input anchor '^'\n\tSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS\tfor details.`,type:ir.LexerDefinitionErrorType.SOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Ve.findStartOfInputAnchor=yY;function wY(r){var e=(0,xe.filter)(r,function(i){var n=i[So];return n instanceof RegExp&&(n.multiline||n.global)}),t=(0,xe.map)(e,function(i){return{message:\"Token Type: ->\"+i.name+\"<- static 'PATTERN' may NOT contain global('g') or multiline('m')\",type:ir.LexerDefinitionErrorType.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[i]}});return t}Ve.findUnsupportedFlags=wY;function BY(r){var e=[],t=(0,xe.map)(r,function(s){return(0,xe.reduce)(r,function(o,a){return s.PATTERN.source===a.PATTERN.source&&!(0,xe.contains)(e,a)&&a.PATTERN!==ir.Lexer.NA&&(e.push(a),o.push(a)),o},[])});t=(0,xe.compact)(t);var i=(0,xe.filter)(t,function(s){return s.length>1}),n=(0,xe.map)(i,function(s){var o=(0,xe.map)(s,function(l){return l.name}),a=(0,xe.first)(s).PATTERN;return{message:\"The same RegExp pattern ->\"+a+\"<-\"+(\"has been used in all of the following Token Types: \"+o.join(\", \")+\" <-\"),type:ir.LexerDefinitionErrorType.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}});return n}Ve.findDuplicatePatterns=BY;function QY(r){var e=(0,xe.filter)(r,function(i){if(!(0,xe.has)(i,\"GROUP\"))return!1;var n=i.GROUP;return n!==ir.Lexer.SKIPPED&&n!==ir.Lexer.NA&&!(0,xe.isString)(n)}),t=(0,xe.map)(e,function(i){return{message:\"Token Type: ->\"+i.name+\"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String\",type:ir.LexerDefinitionErrorType.INVALID_GROUP_TYPE_FOUND,tokenTypes:[i]}});return t}Ve.findInvalidGroupType=QY;function bY(r,e){var t=(0,xe.filter)(r,function(n){return n.PUSH_MODE!==void 0&&!(0,xe.contains)(e,n.PUSH_MODE)}),i=(0,xe.map)(t,function(n){var s=\"Token Type: ->\"+n.name+\"<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->\"+n.PUSH_MODE+\"<-which does not exist\";return{message:s,type:ir.LexerDefinitionErrorType.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[n]}});return i}Ve.findModesThatDoNotExist=bY;function SY(r){var e=[],t=(0,xe.reduce)(r,function(i,n,s){var o=n.PATTERN;return o===ir.Lexer.NA||((0,xe.isString)(o)?i.push({str:o,idx:s,tokenType:n}):(0,xe.isRegExp)(o)&&qme(o)&&i.push({str:o.source,idx:s,tokenType:n})),i},[]);return(0,xe.forEach)(r,function(i,n){(0,xe.forEach)(t,function(s){var o=s.str,a=s.idx,l=s.tokenType;if(n<a&&jme(o,i.PATTERN)){var c=\"Token: ->\"+l.name+`<- can never be matched.\n`+(\"Because it appears AFTER the Token Type ->\"+i.name+\"<-\")+`in the lexer's definition.\nSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:ir.LexerDefinitionErrorType.UNREACHABLE_PATTERN,tokenTypes:[i,l]})}})}),e}Ve.findUnreachablePatterns=SY;function jme(r,e){if((0,xe.isRegExp)(e)){var t=e.exec(r);return t!==null&&t.index===0}else{if((0,xe.isFunction)(e))return e(r,0,[],{});if((0,xe.has)(e,\"exec\"))return e.exec(r,0,[],{});if(typeof e==\"string\")return e===r;throw Error(\"non exhaustive match\")}}function qme(r){var e=[\".\",\"\\\\\",\"[\",\"]\",\"|\",\"^\",\"$\",\"(\",\")\",\"?\",\"*\",\"+\",\"{\"];return(0,xe.find)(e,function(t){return r.source.indexOf(t)!==-1})===void 0}function Ev(r){var e=r.ignoreCase?\"i\":\"\";return new RegExp(\"^(?:\"+r.source+\")\",e)}Ve.addStartOfInput=Ev;function Iv(r){var e=r.ignoreCase?\"iy\":\"y\";return new RegExp(\"\"+r.source,e)}Ve.addStickyFlag=Iv;function Jme(r,e,t){var i=[];return(0,xe.has)(r,Ve.DEFAULT_MODE)||i.push({message:\"A MultiMode Lexer cannot be initialized without a <\"+Ve.DEFAULT_MODE+`> property in its definition\n`,type:ir.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),(0,xe.has)(r,Ve.MODES)||i.push({message:\"A MultiMode Lexer cannot be initialized without a <\"+Ve.MODES+`> property in its definition\n`,type:ir.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),(0,xe.has)(r,Ve.MODES)&&(0,xe.has)(r,Ve.DEFAULT_MODE)&&!(0,xe.has)(r.modes,r.defaultMode)&&i.push({message:\"A MultiMode Lexer cannot be initialized with a \"+Ve.DEFAULT_MODE+\": <\"+r.defaultMode+`>which does not exist\n`,type:ir.LexerDefinitionErrorType.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),(0,xe.has)(r,Ve.MODES)&&(0,xe.forEach)(r.modes,function(n,s){(0,xe.forEach)(n,function(o,a){(0,xe.isUndefined)(o)&&i.push({message:\"A Lexer cannot be initialized using an undefined Token Type. Mode:\"+(\"<\"+s+\"> at index: <\"+a+`>\n`),type:ir.LexerDefinitionErrorType.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED})})}),i}Ve.performRuntimeChecks=Jme;function Wme(r,e,t){var i=[],n=!1,s=(0,xe.compact)((0,xe.flatten)((0,xe.mapValues)(r.modes,function(l){return l}))),o=(0,xe.reject)(s,function(l){return l[So]===ir.Lexer.NA}),a=DY(t);return e&&(0,xe.forEach)(o,function(l){var c=xY(l,a);if(c!==!1){var u=PY(l,c),g={message:u,type:c.issue,tokenType:l};i.push(g)}else(0,xe.has)(l,\"LINE_BREAKS\")?l.LINE_BREAKS===!0&&(n=!0):(0,Hg.canMatchCharCode)(a,l.PATTERN)&&(n=!0)}),e&&!n&&i.push({message:`Warning: No LINE_BREAKS Found.\n\tThis Lexer has been defined to track line and column information,\n\tBut none of the Token Types can be identified as matching a line terminator.\n\tSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS \n\tfor details.`,type:ir.LexerDefinitionErrorType.NO_LINE_BREAKS_FLAGS}),i}Ve.performWarningRuntimeChecks=Wme;function zme(r){var e={},t=(0,xe.keys)(r);return(0,xe.forEach)(t,function(i){var n=r[i];if((0,xe.isArray)(n))e[i]=[];else throw Error(\"non exhaustive match\")}),e}Ve.cloneEmptyGroups=zme;function wv(r){var e=r.PATTERN;if((0,xe.isRegExp)(e))return!1;if((0,xe.isFunction)(e))return!0;if((0,xe.has)(e,\"exec\"))return!0;if((0,xe.isString)(e))return!1;throw Error(\"non exhaustive match\")}Ve.isCustomPattern=wv;function vY(r){return(0,xe.isString)(r)&&r.length===1?r.charCodeAt(0):!1}Ve.isShortPattern=vY;Ve.LineTerminatorOptimizedTester={test:function(r){for(var e=r.length,t=this.lastIndex;t<e;t++){var i=r.charCodeAt(t);if(i===10)return this.lastIndex=t+1,!0;if(i===13)return r.charCodeAt(t+1)===10?this.lastIndex=t+2:this.lastIndex=t+1,!0}return!1},lastIndex:0};function xY(r,e){if((0,xe.has)(r,\"LINE_BREAKS\"))return!1;if((0,xe.isRegExp)(r.PATTERN)){try{(0,Hg.canMatchCharCode)(e,r.PATTERN)}catch(t){return{issue:ir.LexerDefinitionErrorType.IDENTIFY_TERMINATOR,errMsg:t.message}}return!1}else{if((0,xe.isString)(r.PATTERN))return!1;if(wv(r))return{issue:ir.LexerDefinitionErrorType.CUSTOM_LINE_BREAK};throw Error(\"non exhaustive match\")}}function PY(r,e){if(e.issue===ir.LexerDefinitionErrorType.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.\n`+(\"\tThe problem is in the <\"+r.name+`> Token Type\n`)+(\"\t Root cause: \"+e.errMsg+`.\n`)+\"\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR\";if(e.issue===ir.LexerDefinitionErrorType.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.\n`+(\"\tThe problem is in the <\"+r.name+`> Token Type\n`)+\"\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK\";throw Error(\"non exhaustive match\")}Ve.buildLineBreakIssueMessage=PY;function DY(r){var e=(0,xe.map)(r,function(t){return(0,xe.isString)(t)&&t.length>0?t.charCodeAt(0):t});return e}function mv(r,e,t){r[e]===void 0?r[e]=[t]:r[e].push(t)}Ve.minOptimizationVal=256;var qI=[];function yv(r){return r<Ve.minOptimizationVal?r:qI[r]}Ve.charCodeToOptimizedIndex=yv;function Vme(){if((0,xe.isEmpty)(qI)){qI=new Array(65536);for(var r=0;r<65536;r++)qI[r]=r>255?255+~~(r/255):r}}});var Gg=w(Nt=>{\"use strict\";Object.defineProperty(Nt,\"__esModule\",{value:!0});Nt.isTokenType=Nt.hasExtendingTokensTypesMapProperty=Nt.hasExtendingTokensTypesProperty=Nt.hasCategoriesProperty=Nt.hasShortKeyProperty=Nt.singleAssignCategoriesToksMap=Nt.assignCategoriesMapProp=Nt.assignCategoriesTokensProp=Nt.assignTokenDefaultProps=Nt.expandCategories=Nt.augmentTokenTypes=Nt.tokenIdxToClass=Nt.tokenShortNameIdx=Nt.tokenStructuredMatcherNoCategories=Nt.tokenStructuredMatcher=void 0;var _r=Gt();function Xme(r,e){var t=r.tokenTypeIdx;return t===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[t]===!0}Nt.tokenStructuredMatcher=Xme;function _me(r,e){return r.tokenTypeIdx===e.tokenTypeIdx}Nt.tokenStructuredMatcherNoCategories=_me;Nt.tokenShortNameIdx=1;Nt.tokenIdxToClass={};function Zme(r){var e=kY(r);RY(e),NY(e),FY(e),(0,_r.forEach)(e,function(t){t.isParent=t.categoryMatches.length>0})}Nt.augmentTokenTypes=Zme;function kY(r){for(var e=(0,_r.cloneArr)(r),t=r,i=!0;i;){t=(0,_r.compact)((0,_r.flatten)((0,_r.map)(t,function(s){return s.CATEGORIES})));var n=(0,_r.difference)(t,e);e=e.concat(n),(0,_r.isEmpty)(n)?i=!1:t=n}return e}Nt.expandCategories=kY;function RY(r){(0,_r.forEach)(r,function(e){LY(e)||(Nt.tokenIdxToClass[Nt.tokenShortNameIdx]=e,e.tokenTypeIdx=Nt.tokenShortNameIdx++),Bv(e)&&!(0,_r.isArray)(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Bv(e)||(e.CATEGORIES=[]),TY(e)||(e.categoryMatches=[]),OY(e)||(e.categoryMatchesMap={})})}Nt.assignTokenDefaultProps=RY;function FY(r){(0,_r.forEach)(r,function(e){e.categoryMatches=[],(0,_r.forEach)(e.categoryMatchesMap,function(t,i){e.categoryMatches.push(Nt.tokenIdxToClass[i].tokenTypeIdx)})})}Nt.assignCategoriesTokensProp=FY;function NY(r){(0,_r.forEach)(r,function(e){Qv([],e)})}Nt.assignCategoriesMapProp=NY;function Qv(r,e){(0,_r.forEach)(r,function(t){e.categoryMatchesMap[t.tokenTypeIdx]=!0}),(0,_r.forEach)(e.CATEGORIES,function(t){var i=r.concat(e);(0,_r.contains)(i,t)||Qv(i,t)})}Nt.singleAssignCategoriesToksMap=Qv;function LY(r){return(0,_r.has)(r,\"tokenTypeIdx\")}Nt.hasShortKeyProperty=LY;function Bv(r){return(0,_r.has)(r,\"CATEGORIES\")}Nt.hasCategoriesProperty=Bv;function TY(r){return(0,_r.has)(r,\"categoryMatches\")}Nt.hasExtendingTokensTypesProperty=TY;function OY(r){return(0,_r.has)(r,\"categoryMatchesMap\")}Nt.hasExtendingTokensTypesMapProperty=OY;function $me(r){return(0,_r.has)(r,\"tokenTypeIdx\")}Nt.isTokenType=$me});var bv=w(JI=>{\"use strict\";Object.defineProperty(JI,\"__esModule\",{value:!0});JI.defaultLexerErrorProvider=void 0;JI.defaultLexerErrorProvider={buildUnableToPopLexerModeMessage:function(r){return\"Unable to pop Lexer Mode after encountering Token ->\"+r.image+\"<- The Mode Stack is empty\"},buildUnexpectedCharactersMessage:function(r,e,t,i,n){return\"unexpected character: ->\"+r.charAt(e)+\"<- at offset: \"+e+\",\"+(\" skipped \"+t+\" characters.\")}}});var gd=w(nc=>{\"use strict\";Object.defineProperty(nc,\"__esModule\",{value:!0});nc.Lexer=nc.LexerDefinitionErrorType=void 0;var zs=Cv(),nr=Gt(),eEe=Gg(),tEe=bv(),rEe=GI(),iEe;(function(r){r[r.MISSING_PATTERN=0]=\"MISSING_PATTERN\",r[r.INVALID_PATTERN=1]=\"INVALID_PATTERN\",r[r.EOI_ANCHOR_FOUND=2]=\"EOI_ANCHOR_FOUND\",r[r.UNSUPPORTED_FLAGS_FOUND=3]=\"UNSUPPORTED_FLAGS_FOUND\",r[r.DUPLICATE_PATTERNS_FOUND=4]=\"DUPLICATE_PATTERNS_FOUND\",r[r.INVALID_GROUP_TYPE_FOUND=5]=\"INVALID_GROUP_TYPE_FOUND\",r[r.PUSH_MODE_DOES_NOT_EXIST=6]=\"PUSH_MODE_DOES_NOT_EXIST\",r[r.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]=\"MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE\",r[r.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]=\"MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY\",r[r.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]=\"MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST\",r[r.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]=\"LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED\",r[r.SOI_ANCHOR_FOUND=11]=\"SOI_ANCHOR_FOUND\",r[r.EMPTY_MATCH_PATTERN=12]=\"EMPTY_MATCH_PATTERN\",r[r.NO_LINE_BREAKS_FLAGS=13]=\"NO_LINE_BREAKS_FLAGS\",r[r.UNREACHABLE_PATTERN=14]=\"UNREACHABLE_PATTERN\",r[r.IDENTIFY_TERMINATOR=15]=\"IDENTIFY_TERMINATOR\",r[r.CUSTOM_LINE_BREAK=16]=\"CUSTOM_LINE_BREAK\"})(iEe=nc.LexerDefinitionErrorType||(nc.LexerDefinitionErrorType={}));var fd={deferDefinitionErrorsHandling:!1,positionTracking:\"full\",lineTerminatorsPattern:/\\n|\\r\\n?/g,lineTerminatorCharacters:[`\n`,\"\\r\"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:tEe.defaultLexerErrorProvider,traceInitPerf:!1,skipValidations:!1};Object.freeze(fd);var nEe=function(){function r(e,t){var i=this;if(t===void 0&&(t=fd),this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.config=void 0,this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},typeof t==\"boolean\")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.\na boolean 2nd argument is no longer supported`);this.config=(0,nr.merge)(fd,t);var n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n==\"number\"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT(\"Lexer Constructor\",function(){var s,o=!0;i.TRACE_INIT(\"Lexer Config handling\",function(){if(i.config.lineTerminatorsPattern===fd.lineTerminatorsPattern)i.config.lineTerminatorsPattern=zs.LineTerminatorOptimizedTester;else if(i.config.lineTerminatorCharacters===fd.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(t.safeMode&&t.ensureOptimizations)throw Error('\"safeMode\" and \"ensureOptimizations\" flags are mutually exclusive.');i.trackStartLines=/full|onlyStart/i.test(i.config.positionTracking),i.trackEndLines=/full/i.test(i.config.positionTracking),(0,nr.isArray)(e)?(s={modes:{}},s.modes[zs.DEFAULT_MODE]=(0,nr.cloneArr)(e),s[zs.DEFAULT_MODE]=zs.DEFAULT_MODE):(o=!1,s=(0,nr.cloneObj)(e))}),i.config.skipValidations===!1&&(i.TRACE_INIT(\"performRuntimeChecks\",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,zs.performRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))}),i.TRACE_INIT(\"performWarningRuntimeChecks\",function(){i.lexerDefinitionWarning=i.lexerDefinitionWarning.concat((0,zs.performWarningRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))})),s.modes=s.modes?s.modes:{},(0,nr.forEach)(s.modes,function(u,g){s.modes[g]=(0,nr.reject)(u,function(f){return(0,nr.isUndefined)(f)})});var a=(0,nr.keys)(s.modes);if((0,nr.forEach)(s.modes,function(u,g){i.TRACE_INIT(\"Mode: <\"+g+\"> processing\",function(){if(i.modes.push(g),i.config.skipValidations===!1&&i.TRACE_INIT(\"validatePatterns\",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,zs.validatePatterns)(u,a))}),(0,nr.isEmpty)(i.lexerDefinitionErrors)){(0,eEe.augmentTokenTypes)(u);var f;i.TRACE_INIT(\"analyzeTokenTypes\",function(){f=(0,zs.analyzeTokenTypes)(u,{lineTerminatorCharacters:i.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:i.TRACE_INIT.bind(i)})}),i.patternIdxToConfig[g]=f.patternIdxToConfig,i.charCodeToPatternIdxToConfig[g]=f.charCodeToPatternIdxToConfig,i.emptyGroups=(0,nr.merge)(i.emptyGroups,f.emptyGroups),i.hasCustom=f.hasCustom||i.hasCustom,i.canModeBeOptimized[g]=f.canBeOptimized}})}),i.defaultMode=s.defaultMode,!(0,nr.isEmpty)(i.lexerDefinitionErrors)&&!i.config.deferDefinitionErrorsHandling){var l=(0,nr.map)(i.lexerDefinitionErrors,function(u){return u.message}),c=l.join(`-----------------------\n`);throw new Error(`Errors detected in definition of Lexer:\n`+c)}(0,nr.forEach)(i.lexerDefinitionWarning,function(u){(0,nr.PRINT_WARNING)(u.message)}),i.TRACE_INIT(\"Choosing sub-methods implementations\",function(){if(zs.SUPPORT_STICKY?(i.chopInput=nr.IDENTITY,i.match=i.matchWithTest):(i.updateLastIndex=nr.NOOP,i.match=i.matchWithExec),o&&(i.handleModes=nr.NOOP),i.trackStartLines===!1&&(i.computeNewColumn=nr.IDENTITY),i.trackEndLines===!1&&(i.updateTokenEndLineColumnLocation=nr.NOOP),/full/i.test(i.config.positionTracking))i.createTokenInstance=i.createFullToken;else if(/onlyStart/i.test(i.config.positionTracking))i.createTokenInstance=i.createStartOnlyToken;else if(/onlyOffset/i.test(i.config.positionTracking))i.createTokenInstance=i.createOffsetOnlyToken;else throw Error('Invalid <positionTracking> config option: \"'+i.config.positionTracking+'\"');i.hasCustom?(i.addToken=i.addTokenUsingPush,i.handlePayload=i.handlePayloadWithCustom):(i.addToken=i.addTokenUsingMemberAccess,i.handlePayload=i.handlePayloadNoCustom)}),i.TRACE_INIT(\"Failed Optimization Warnings\",function(){var u=(0,nr.reduce)(i.canModeBeOptimized,function(g,f,h){return f===!1&&g.push(h),g},[]);if(t.ensureOptimizations&&!(0,nr.isEmpty)(u))throw Error(\"Lexer Modes: < \"+u.join(\", \")+` > cannot be optimized.\n\t Disable the \"ensureOptimizations\" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.\n\t Or inspect the console log for details on how to resolve these issues.`)}),i.TRACE_INIT(\"clearRegExpParserCache\",function(){(0,rEe.clearRegExpParserCache)()}),i.TRACE_INIT(\"toFastProperties\",function(){(0,nr.toFastProperties)(i)})})}return r.prototype.tokenize=function(e,t){if(t===void 0&&(t=this.defaultMode),!(0,nr.isEmpty)(this.lexerDefinitionErrors)){var i=(0,nr.map)(this.lexerDefinitionErrors,function(o){return o.message}),n=i.join(`-----------------------\n`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:\n`+n)}var s=this.tokenizeInternal(e,t);return s},r.prototype.tokenizeInternal=function(e,t){var i=this,n,s,o,a,l,c,u,g,f,h,p,C,y,B,v,D,L=e,H=L.length,j=0,$=0,V=this.hasCustom?0:Math.floor(e.length/10),W=new Array(V),Z=[],A=this.trackStartLines?1:void 0,ae=this.trackStartLines?1:void 0,ge=(0,zs.cloneEmptyGroups)(this.emptyGroups),re=this.trackStartLines,O=this.config.lineTerminatorsPattern,F=0,ue=[],he=[],ke=[],Fe=[];Object.freeze(Fe);var Ne=void 0;function oe(){return ue}function le(pr){var Ei=(0,zs.charCodeToOptimizedIndex)(pr),_n=he[Ei];return _n===void 0?Fe:_n}var we=function(pr){if(ke.length===1&&pr.tokenType.PUSH_MODE===void 0){var Ei=i.config.errorMessageProvider.buildUnableToPopLexerModeMessage(pr);Z.push({offset:pr.startOffset,line:pr.startLine!==void 0?pr.startLine:void 0,column:pr.startColumn!==void 0?pr.startColumn:void 0,length:pr.image.length,message:Ei})}else{ke.pop();var _n=(0,nr.last)(ke);ue=i.patternIdxToConfig[_n],he=i.charCodeToPatternIdxToConfig[_n],F=ue.length;var oa=i.canModeBeOptimized[_n]&&i.config.safeMode===!1;he&&oa?Ne=le:Ne=oe}};function fe(pr){ke.push(pr),he=this.charCodeToPatternIdxToConfig[pr],ue=this.patternIdxToConfig[pr],F=ue.length,F=ue.length;var Ei=this.canModeBeOptimized[pr]&&this.config.safeMode===!1;he&&Ei?Ne=le:Ne=oe}fe.call(this,t);for(var Ae;j<H;){c=null;var qe=L.charCodeAt(j),ne=Ne(qe),Y=ne.length;for(n=0;n<Y;n++){Ae=ne[n];var pe=Ae.pattern;u=null;var ie=Ae.short;if(ie!==!1?qe===ie&&(c=pe):Ae.isCustom===!0?(D=pe.exec(L,j,W,ge),D!==null?(c=D[0],D.payload!==void 0&&(u=D.payload)):c=null):(this.updateLastIndex(pe,j),c=this.match(pe,e,j)),c!==null){if(l=Ae.longerAlt,l!==void 0){var de=l.length;for(o=0;o<de;o++){var tt=ue[l[o]],Pt=tt.pattern;if(g=null,tt.isCustom===!0?(D=Pt.exec(L,j,W,ge),D!==null?(a=D[0],D.payload!==void 0&&(g=D.payload)):a=null):(this.updateLastIndex(Pt,j),a=this.match(Pt,e,j)),a&&a.length>c.length){c=a,u=g,Ae=tt;break}}}break}}if(c!==null){if(f=c.length,h=Ae.group,h!==void 0&&(p=Ae.tokenTypeIdx,C=this.createTokenInstance(c,j,p,Ae.tokenType,A,ae,f),this.handlePayload(C,u),h===!1?$=this.addToken(W,$,C):ge[h].push(C)),e=this.chopInput(e,f),j=j+f,ae=this.computeNewColumn(ae,f),re===!0&&Ae.canLineTerminator===!0){var It=0,Or=void 0,ii=void 0;O.lastIndex=0;do Or=O.test(c),Or===!0&&(ii=O.lastIndex-1,It++);while(Or===!0);It!==0&&(A=A+It,ae=f-ii,this.updateTokenEndLineColumnLocation(C,h,ii,It,A,ae,f))}this.handleModes(Ae,we,fe,C)}else{for(var gi=j,hr=A,fi=ae,ni=!1;!ni&&j<H;)for(B=L.charCodeAt(j),e=this.chopInput(e,1),j++,s=0;s<F;s++){var Ls=ue[s],pe=Ls.pattern,ie=Ls.short;if(ie!==!1?L.charCodeAt(j)===ie&&(ni=!0):Ls.isCustom===!0?ni=pe.exec(L,j,W,ge)!==null:(this.updateLastIndex(pe,j),ni=pe.exec(e)!==null),ni===!0)break}y=j-gi,v=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(L,gi,y,hr,fi),Z.push({offset:gi,line:hr,column:fi,length:y,message:v})}}return this.hasCustom||(W.length=$),{tokens:W,groups:ge,errors:Z}},r.prototype.handleModes=function(e,t,i,n){if(e.pop===!0){var s=e.push;t(n),s!==void 0&&i.call(this,s)}else e.push!==void 0&&i.call(this,e.push)},r.prototype.chopInput=function(e,t){return e.substring(t)},r.prototype.updateLastIndex=function(e,t){e.lastIndex=t},r.prototype.updateTokenEndLineColumnLocation=function(e,t,i,n,s,o,a){var l,c;t!==void 0&&(l=i===a-1,c=l?-1:0,n===1&&l===!0||(e.endLine=s+c,e.endColumn=o-1+-c))},r.prototype.computeNewColumn=function(e,t){return e+t},r.prototype.createTokenInstance=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return null},r.prototype.createOffsetOnlyToken=function(e,t,i,n){return{image:e,startOffset:t,tokenTypeIdx:i,tokenType:n}},r.prototype.createStartOnlyToken=function(e,t,i,n,s,o){return{image:e,startOffset:t,startLine:s,startColumn:o,tokenTypeIdx:i,tokenType:n}},r.prototype.createFullToken=function(e,t,i,n,s,o,a){return{image:e,startOffset:t,endOffset:t+a-1,startLine:s,endLine:s,startColumn:o,endColumn:o+a-1,tokenTypeIdx:i,tokenType:n}},r.prototype.addToken=function(e,t,i){return 666},r.prototype.addTokenUsingPush=function(e,t,i){return e.push(i),t},r.prototype.addTokenUsingMemberAccess=function(e,t,i){return e[t]=i,t++,t},r.prototype.handlePayload=function(e,t){},r.prototype.handlePayloadNoCustom=function(e,t){},r.prototype.handlePayloadWithCustom=function(e,t){t!==null&&(e.payload=t)},r.prototype.match=function(e,t,i){return null},r.prototype.matchWithTest=function(e,t,i){var n=e.test(t);return n===!0?t.substring(i,e.lastIndex):null},r.prototype.matchWithExec=function(e,t){var i=e.exec(t);return i!==null?i[0]:i},r.prototype.TRACE_INIT=function(e,t){if(this.traceInitPerf===!0){this.traceInitIndent++;var i=new Array(this.traceInitIndent+1).join(\"\t\");this.traceInitIndent<this.traceInitMaxIdent&&console.log(i+\"--> <\"+e+\">\");var n=(0,nr.timer)(t),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(i+\"<-- <\"+e+\"> time: \"+s+\"ms\"),this.traceInitIndent--,o}else return t()},r.SKIPPED=\"This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.\",r.NA=/NOT_APPLICABLE/,r}();nc.Lexer=nEe});var SA=w(Qi=>{\"use strict\";Object.defineProperty(Qi,\"__esModule\",{value:!0});Qi.tokenMatcher=Qi.createTokenInstance=Qi.EOF=Qi.createToken=Qi.hasTokenLabel=Qi.tokenName=Qi.tokenLabel=void 0;var Vs=Gt(),sEe=gd(),Sv=Gg();function oEe(r){return JY(r)?r.LABEL:r.name}Qi.tokenLabel=oEe;function aEe(r){return r.name}Qi.tokenName=aEe;function JY(r){return(0,Vs.isString)(r.LABEL)&&r.LABEL!==\"\"}Qi.hasTokenLabel=JY;var AEe=\"parent\",MY=\"categories\",KY=\"label\",UY=\"group\",HY=\"push_mode\",GY=\"pop_mode\",YY=\"longer_alt\",jY=\"line_breaks\",qY=\"start_chars_hint\";function WY(r){return lEe(r)}Qi.createToken=WY;function lEe(r){var e=r.pattern,t={};if(t.name=r.name,(0,Vs.isUndefined)(e)||(t.PATTERN=e),(0,Vs.has)(r,AEe))throw`The parent property is no longer supported.\nSee: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return(0,Vs.has)(r,MY)&&(t.CATEGORIES=r[MY]),(0,Sv.augmentTokenTypes)([t]),(0,Vs.has)(r,KY)&&(t.LABEL=r[KY]),(0,Vs.has)(r,UY)&&(t.GROUP=r[UY]),(0,Vs.has)(r,GY)&&(t.POP_MODE=r[GY]),(0,Vs.has)(r,HY)&&(t.PUSH_MODE=r[HY]),(0,Vs.has)(r,YY)&&(t.LONGER_ALT=r[YY]),(0,Vs.has)(r,jY)&&(t.LINE_BREAKS=r[jY]),(0,Vs.has)(r,qY)&&(t.START_CHARS_HINT=r[qY]),t}Qi.EOF=WY({name:\"EOF\",pattern:sEe.Lexer.NA});(0,Sv.augmentTokenTypes)([Qi.EOF]);function cEe(r,e,t,i,n,s,o,a){return{image:e,startOffset:t,endOffset:i,startLine:n,endLine:s,startColumn:o,endColumn:a,tokenTypeIdx:r.tokenTypeIdx,tokenType:r}}Qi.createTokenInstance=cEe;function uEe(r,e){return(0,Sv.tokenStructuredMatcher)(r,e)}Qi.tokenMatcher=uEe});var dn=w(Wt=>{\"use strict\";var wa=Wt&&Wt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Wt,\"__esModule\",{value:!0});Wt.serializeProduction=Wt.serializeGrammar=Wt.Terminal=Wt.Alternation=Wt.RepetitionWithSeparator=Wt.Repetition=Wt.RepetitionMandatoryWithSeparator=Wt.RepetitionMandatory=Wt.Option=Wt.Alternative=Wt.Rule=Wt.NonTerminal=Wt.AbstractProduction=void 0;var Ar=Gt(),gEe=SA(),vo=function(){function r(e){this._definition=e}return Object.defineProperty(r.prototype,\"definition\",{get:function(){return this._definition},set:function(e){this._definition=e},enumerable:!1,configurable:!0}),r.prototype.accept=function(e){e.visit(this),(0,Ar.forEach)(this.definition,function(t){t.accept(e)})},r}();Wt.AbstractProduction=vo;var zY=function(r){wa(e,r);function e(t){var i=r.call(this,[])||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,\"definition\",{get:function(){return this.referencedRule!==void 0?this.referencedRule.definition:[]},set:function(t){},enumerable:!1,configurable:!0}),e.prototype.accept=function(t){t.visit(this)},e}(vo);Wt.NonTerminal=zY;var VY=function(r){wa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.orgText=\"\",(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(vo);Wt.Rule=VY;var XY=function(r){wa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.ignoreAmbiguities=!1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(vo);Wt.Alternative=XY;var _Y=function(r){wa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(vo);Wt.Option=_Y;var ZY=function(r){wa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(vo);Wt.RepetitionMandatory=ZY;var $Y=function(r){wa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(vo);Wt.RepetitionMandatoryWithSeparator=$Y;var ej=function(r){wa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(vo);Wt.Repetition=ej;var tj=function(r){wa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(vo);Wt.RepetitionWithSeparator=tj;var rj=function(r){wa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,i.ignoreAmbiguities=!1,i.hasPredicates=!1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,\"definition\",{get:function(){return this._definition},set:function(t){this._definition=t},enumerable:!1,configurable:!0}),e}(vo);Wt.Alternation=rj;var WI=function(){function r(e){this.idx=1,(0,Ar.assign)(this,(0,Ar.pick)(e,function(t){return t!==void 0}))}return r.prototype.accept=function(e){e.visit(this)},r}();Wt.Terminal=WI;function fEe(r){return(0,Ar.map)(r,hd)}Wt.serializeGrammar=fEe;function hd(r){function e(s){return(0,Ar.map)(s,hd)}if(r instanceof zY){var t={type:\"NonTerminal\",name:r.nonTerminalName,idx:r.idx};return(0,Ar.isString)(r.label)&&(t.label=r.label),t}else{if(r instanceof XY)return{type:\"Alternative\",definition:e(r.definition)};if(r instanceof _Y)return{type:\"Option\",idx:r.idx,definition:e(r.definition)};if(r instanceof ZY)return{type:\"RepetitionMandatory\",idx:r.idx,definition:e(r.definition)};if(r instanceof $Y)return{type:\"RepetitionMandatoryWithSeparator\",idx:r.idx,separator:hd(new WI({terminalType:r.separator})),definition:e(r.definition)};if(r instanceof tj)return{type:\"RepetitionWithSeparator\",idx:r.idx,separator:hd(new WI({terminalType:r.separator})),definition:e(r.definition)};if(r instanceof ej)return{type:\"Repetition\",idx:r.idx,definition:e(r.definition)};if(r instanceof rj)return{type:\"Alternation\",idx:r.idx,definition:e(r.definition)};if(r instanceof WI){var i={type:\"Terminal\",name:r.terminalType.name,label:(0,gEe.tokenLabel)(r.terminalType),idx:r.idx};(0,Ar.isString)(r.label)&&(i.terminalLabel=r.label);var n=r.terminalType.PATTERN;return r.terminalType.PATTERN&&(i.pattern=(0,Ar.isRegExp)(n)?n.source:n),i}else{if(r instanceof VY)return{type:\"Rule\",name:r.name,orgText:r.orgText,definition:e(r.definition)};throw Error(\"non exhaustive match\")}}}Wt.serializeProduction=hd});var VI=w(zI=>{\"use strict\";Object.defineProperty(zI,\"__esModule\",{value:!0});zI.RestWalker=void 0;var vv=Gt(),Cn=dn(),hEe=function(){function r(){}return r.prototype.walk=function(e,t){var i=this;t===void 0&&(t=[]),(0,vv.forEach)(e.definition,function(n,s){var o=(0,vv.drop)(e.definition,s+1);if(n instanceof Cn.NonTerminal)i.walkProdRef(n,o,t);else if(n instanceof Cn.Terminal)i.walkTerminal(n,o,t);else if(n instanceof Cn.Alternative)i.walkFlat(n,o,t);else if(n instanceof Cn.Option)i.walkOption(n,o,t);else if(n instanceof Cn.RepetitionMandatory)i.walkAtLeastOne(n,o,t);else if(n instanceof Cn.RepetitionMandatoryWithSeparator)i.walkAtLeastOneSep(n,o,t);else if(n instanceof Cn.RepetitionWithSeparator)i.walkManySep(n,o,t);else if(n instanceof Cn.Repetition)i.walkMany(n,o,t);else if(n instanceof Cn.Alternation)i.walkOr(n,o,t);else throw Error(\"non exhaustive match\")})},r.prototype.walkTerminal=function(e,t,i){},r.prototype.walkProdRef=function(e,t,i){},r.prototype.walkFlat=function(e,t,i){var n=t.concat(i);this.walk(e,n)},r.prototype.walkOption=function(e,t,i){var n=t.concat(i);this.walk(e,n)},r.prototype.walkAtLeastOne=function(e,t,i){var n=[new Cn.Option({definition:e.definition})].concat(t,i);this.walk(e,n)},r.prototype.walkAtLeastOneSep=function(e,t,i){var n=ij(e,t,i);this.walk(e,n)},r.prototype.walkMany=function(e,t,i){var n=[new Cn.Option({definition:e.definition})].concat(t,i);this.walk(e,n)},r.prototype.walkManySep=function(e,t,i){var n=ij(e,t,i);this.walk(e,n)},r.prototype.walkOr=function(e,t,i){var n=this,s=t.concat(i);(0,vv.forEach)(e.definition,function(o){var a=new Cn.Alternative({definition:[o]});n.walk(a,s)})},r}();zI.RestWalker=hEe;function ij(r,e,t){var i=[new Cn.Option({definition:[new Cn.Terminal({terminalType:r.separator})].concat(r.definition)})],n=i.concat(e,t);return n}});var Yg=w(XI=>{\"use strict\";Object.defineProperty(XI,\"__esModule\",{value:!0});XI.GAstVisitor=void 0;var xo=dn(),pEe=function(){function r(){}return r.prototype.visit=function(e){var t=e;switch(t.constructor){case xo.NonTerminal:return this.visitNonTerminal(t);case xo.Alternative:return this.visitAlternative(t);case xo.Option:return this.visitOption(t);case xo.RepetitionMandatory:return this.visitRepetitionMandatory(t);case xo.RepetitionMandatoryWithSeparator:return this.visitRepetitionMandatoryWithSeparator(t);case xo.RepetitionWithSeparator:return this.visitRepetitionWithSeparator(t);case xo.Repetition:return this.visitRepetition(t);case xo.Alternation:return this.visitAlternation(t);case xo.Terminal:return this.visitTerminal(t);case xo.Rule:return this.visitRule(t);default:throw Error(\"non exhaustive match\")}},r.prototype.visitNonTerminal=function(e){},r.prototype.visitAlternative=function(e){},r.prototype.visitOption=function(e){},r.prototype.visitRepetition=function(e){},r.prototype.visitRepetitionMandatory=function(e){},r.prototype.visitRepetitionMandatoryWithSeparator=function(e){},r.prototype.visitRepetitionWithSeparator=function(e){},r.prototype.visitAlternation=function(e){},r.prototype.visitTerminal=function(e){},r.prototype.visitRule=function(e){},r}();XI.GAstVisitor=pEe});var dd=w(Oi=>{\"use strict\";var dEe=Oi&&Oi.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Oi,\"__esModule\",{value:!0});Oi.collectMethods=Oi.DslMethodsCollectorVisitor=Oi.getProductionDslName=Oi.isBranchingProd=Oi.isOptionalProd=Oi.isSequenceProd=void 0;var pd=Gt(),Qr=dn(),CEe=Yg();function mEe(r){return r instanceof Qr.Alternative||r instanceof Qr.Option||r instanceof Qr.Repetition||r instanceof Qr.RepetitionMandatory||r instanceof Qr.RepetitionMandatoryWithSeparator||r instanceof Qr.RepetitionWithSeparator||r instanceof Qr.Terminal||r instanceof Qr.Rule}Oi.isSequenceProd=mEe;function xv(r,e){e===void 0&&(e=[]);var t=r instanceof Qr.Option||r instanceof Qr.Repetition||r instanceof Qr.RepetitionWithSeparator;return t?!0:r instanceof Qr.Alternation?(0,pd.some)(r.definition,function(i){return xv(i,e)}):r instanceof Qr.NonTerminal&&(0,pd.contains)(e,r)?!1:r instanceof Qr.AbstractProduction?(r instanceof Qr.NonTerminal&&e.push(r),(0,pd.every)(r.definition,function(i){return xv(i,e)})):!1}Oi.isOptionalProd=xv;function EEe(r){return r instanceof Qr.Alternation}Oi.isBranchingProd=EEe;function IEe(r){if(r instanceof Qr.NonTerminal)return\"SUBRULE\";if(r instanceof Qr.Option)return\"OPTION\";if(r instanceof Qr.Alternation)return\"OR\";if(r instanceof Qr.RepetitionMandatory)return\"AT_LEAST_ONE\";if(r instanceof Qr.RepetitionMandatoryWithSeparator)return\"AT_LEAST_ONE_SEP\";if(r instanceof Qr.RepetitionWithSeparator)return\"MANY_SEP\";if(r instanceof Qr.Repetition)return\"MANY\";if(r instanceof Qr.Terminal)return\"CONSUME\";throw Error(\"non exhaustive match\")}Oi.getProductionDslName=IEe;var nj=function(r){dEe(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.separator=\"-\",t.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]},t}return e.prototype.reset=function(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}},e.prototype.visitTerminal=function(t){var i=t.terminalType.name+this.separator+\"Terminal\";(0,pd.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(t)},e.prototype.visitNonTerminal=function(t){var i=t.nonTerminalName+this.separator+\"Terminal\";(0,pd.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(t)},e.prototype.visitOption=function(t){this.dslMethods.option.push(t)},e.prototype.visitRepetitionWithSeparator=function(t){this.dslMethods.repetitionWithSeparator.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.dslMethods.repetitionMandatory.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.dslMethods.repetitionMandatoryWithSeparator.push(t)},e.prototype.visitRepetition=function(t){this.dslMethods.repetition.push(t)},e.prototype.visitAlternation=function(t){this.dslMethods.alternation.push(t)},e}(CEe.GAstVisitor);Oi.DslMethodsCollectorVisitor=nj;var _I=new nj;function yEe(r){_I.reset(),r.accept(_I);var e=_I.dslMethods;return _I.reset(),e}Oi.collectMethods=yEe});var Dv=w(Po=>{\"use strict\";Object.defineProperty(Po,\"__esModule\",{value:!0});Po.firstForTerminal=Po.firstForBranching=Po.firstForSequence=Po.first=void 0;var ZI=Gt(),sj=dn(),Pv=dd();function $I(r){if(r instanceof sj.NonTerminal)return $I(r.referencedRule);if(r instanceof sj.Terminal)return Aj(r);if((0,Pv.isSequenceProd)(r))return oj(r);if((0,Pv.isBranchingProd)(r))return aj(r);throw Error(\"non exhaustive match\")}Po.first=$I;function oj(r){for(var e=[],t=r.definition,i=0,n=t.length>i,s,o=!0;n&&o;)s=t[i],o=(0,Pv.isOptionalProd)(s),e=e.concat($I(s)),i=i+1,n=t.length>i;return(0,ZI.uniq)(e)}Po.firstForSequence=oj;function aj(r){var e=(0,ZI.map)(r.definition,function(t){return $I(t)});return(0,ZI.uniq)((0,ZI.flatten)(e))}Po.firstForBranching=aj;function Aj(r){return[r.terminalType]}Po.firstForTerminal=Aj});var kv=w(ey=>{\"use strict\";Object.defineProperty(ey,\"__esModule\",{value:!0});ey.IN=void 0;ey.IN=\"_~IN~_\"});var fj=w(As=>{\"use strict\";var wEe=As&&As.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(As,\"__esModule\",{value:!0});As.buildInProdFollowPrefix=As.buildBetweenProdsFollowPrefix=As.computeAllProdsFollows=As.ResyncFollowsWalker=void 0;var BEe=VI(),QEe=Dv(),lj=Gt(),cj=kv(),bEe=dn(),uj=function(r){wEe(e,r);function e(t){var i=r.call(this)||this;return i.topProd=t,i.follows={},i}return e.prototype.startWalking=function(){return this.walk(this.topProd),this.follows},e.prototype.walkTerminal=function(t,i,n){},e.prototype.walkProdRef=function(t,i,n){var s=gj(t.referencedRule,t.idx)+this.topProd.name,o=i.concat(n),a=new bEe.Alternative({definition:o}),l=(0,QEe.first)(a);this.follows[s]=l},e}(BEe.RestWalker);As.ResyncFollowsWalker=uj;function SEe(r){var e={};return(0,lj.forEach)(r,function(t){var i=new uj(t).startWalking();(0,lj.assign)(e,i)}),e}As.computeAllProdsFollows=SEe;function gj(r,e){return r.name+e+cj.IN}As.buildBetweenProdsFollowPrefix=gj;function vEe(r){var e=r.terminalType.name;return e+r.idx+cj.IN}As.buildInProdFollowPrefix=vEe});var Cd=w(Ba=>{\"use strict\";Object.defineProperty(Ba,\"__esModule\",{value:!0});Ba.defaultGrammarValidatorErrorProvider=Ba.defaultGrammarResolverErrorProvider=Ba.defaultParserErrorProvider=void 0;var jg=SA(),xEe=Gt(),Xs=Gt(),Rv=dn(),hj=dd();Ba.defaultParserErrorProvider={buildMismatchTokenMessage:function(r){var e=r.expected,t=r.actual,i=r.previous,n=r.ruleName,s=(0,jg.hasTokenLabel)(e),o=s?\"--> \"+(0,jg.tokenLabel)(e)+\" <--\":\"token of type --> \"+e.name+\" <--\",a=\"Expecting \"+o+\" but found --> '\"+t.image+\"' <--\";return a},buildNotAllInputParsedMessage:function(r){var e=r.firstRedundant,t=r.ruleName;return\"Redundant input, expecting EOF but found: \"+e.image},buildNoViableAltMessage:function(r){var e=r.expectedPathsPerAlt,t=r.actual,i=r.previous,n=r.customUserDescription,s=r.ruleName,o=\"Expecting: \",a=(0,Xs.first)(t).image,l=`\nbut found: '`+a+\"'\";if(n)return o+n+l;var c=(0,Xs.reduce)(e,function(h,p){return h.concat(p)},[]),u=(0,Xs.map)(c,function(h){return\"[\"+(0,Xs.map)(h,function(p){return(0,jg.tokenLabel)(p)}).join(\", \")+\"]\"}),g=(0,Xs.map)(u,function(h,p){return\"  \"+(p+1)+\". \"+h}),f=`one of these possible Token sequences:\n`+g.join(`\n`);return o+f+l},buildEarlyExitMessage:function(r){var e=r.expectedIterationPaths,t=r.actual,i=r.customUserDescription,n=r.ruleName,s=\"Expecting: \",o=(0,Xs.first)(t).image,a=`\nbut found: '`+o+\"'\";if(i)return s+i+a;var l=(0,Xs.map)(e,function(u){return\"[\"+(0,Xs.map)(u,function(g){return(0,jg.tokenLabel)(g)}).join(\",\")+\"]\"}),c=`expecting at least one iteration which starts with one of these possible Token sequences::\n  `+(\"<\"+l.join(\" ,\")+\">\");return s+c+a}};Object.freeze(Ba.defaultParserErrorProvider);Ba.defaultGrammarResolverErrorProvider={buildRuleNotFoundError:function(r,e){var t=\"Invalid grammar, reference to a rule which is not defined: ->\"+e.nonTerminalName+`<-\ninside top level rule: ->`+r.name+\"<-\";return t}};Ba.defaultGrammarValidatorErrorProvider={buildDuplicateFoundError:function(r,e){function t(u){return u instanceof Rv.Terminal?u.terminalType.name:u instanceof Rv.NonTerminal?u.nonTerminalName:\"\"}var i=r.name,n=(0,Xs.first)(e),s=n.idx,o=(0,hj.getProductionDslName)(n),a=t(n),l=s>0,c=\"->\"+o+(l?s:\"\")+\"<- \"+(a?\"with argument: ->\"+a+\"<-\":\"\")+`\n                  appears more than once (`+e.length+\" times) in the top level rule: ->\"+i+`<-.                  \n                  For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES \n                  `;return c=c.replace(/[ \\t]+/g,\" \"),c=c.replace(/\\s\\s+/g,`\n`),c},buildNamespaceConflictError:function(r){var e=`Namespace conflict found in grammar.\n`+(\"The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <\"+r.name+`>.\n`)+`To resolve this make sure each Terminal and Non-Terminal names are unique\nThis is easy to accomplish by using the convention that Terminal names start with an uppercase letter\nand Non-Terminal names start with a lower case letter.`;return e},buildAlternationPrefixAmbiguityError:function(r){var e=(0,Xs.map)(r.prefixPath,function(n){return(0,jg.tokenLabel)(n)}).join(\", \"),t=r.alternation.idx===0?\"\":r.alternation.idx,i=\"Ambiguous alternatives: <\"+r.ambiguityIndices.join(\" ,\")+`> due to common lookahead prefix\n`+(\"in <OR\"+t+\"> inside <\"+r.topLevelRule.name+`> Rule,\n`)+(\"<\"+e+`> may appears as a prefix path in all these alternatives.\n`)+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX\nFor Further details.`;return i},buildAlternationAmbiguityError:function(r){var e=(0,Xs.map)(r.prefixPath,function(n){return(0,jg.tokenLabel)(n)}).join(\", \"),t=r.alternation.idx===0?\"\":r.alternation.idx,i=\"Ambiguous Alternatives Detected: <\"+r.ambiguityIndices.join(\" ,\")+\"> in <OR\"+t+\">\"+(\" inside <\"+r.topLevelRule.name+`> Rule,\n`)+(\"<\"+e+`> may appears as a prefix path in all these alternatives.\n`);return i=i+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES\nFor Further details.`,i},buildEmptyRepetitionError:function(r){var e=(0,hj.getProductionDslName)(r.repetition);r.repetition.idx!==0&&(e+=r.repetition.idx);var t=\"The repetition <\"+e+\"> within Rule <\"+r.topLevelRule.name+`> can never consume any tokens.\nThis could lead to an infinite loop.`;return t},buildTokenNameError:function(r){return\"deprecated\"},buildEmptyAlternationError:function(r){var e=\"Ambiguous empty alternative: <\"+(r.emptyChoiceIdx+1)+\">\"+(\" in <OR\"+r.alternation.idx+\"> inside <\"+r.topLevelRule.name+`> Rule.\n`)+\"Only the last alternative may be an empty alternative.\";return e},buildTooManyAlternativesError:function(r){var e=`An Alternation cannot have more than 256 alternatives:\n`+(\"<OR\"+r.alternation.idx+\"> inside <\"+r.topLevelRule.name+`> Rule.\n has `+(r.alternation.definition.length+1)+\" alternatives.\");return e},buildLeftRecursionError:function(r){var e=r.topLevelRule.name,t=xEe.map(r.leftRecursionPath,function(s){return s.name}),i=e+\" --> \"+t.concat([e]).join(\" --> \"),n=`Left Recursion found in grammar.\n`+(\"rule: <\"+e+`> can be invoked from itself (directly or indirectly)\n`)+(`without consuming any Tokens. The grammar path that causes this is: \n `+i+`\n`)+` To fix this refactor your grammar to remove the left recursion.\nsee: https://en.wikipedia.org/wiki/LL_parser#Left_Factoring.`;return n},buildInvalidRuleNameError:function(r){return\"deprecated\"},buildDuplicateRuleNameError:function(r){var e;r.topLevelRule instanceof Rv.Rule?e=r.topLevelRule.name:e=r.topLevelRule;var t=\"Duplicate definition, rule: ->\"+e+\"<- is already defined in the grammar: ->\"+r.grammarName+\"<-\";return t}}});var Cj=w(vA=>{\"use strict\";var PEe=vA&&vA.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(vA,\"__esModule\",{value:!0});vA.GastRefResolverVisitor=vA.resolveGrammar=void 0;var DEe=Hn(),pj=Gt(),kEe=Yg();function REe(r,e){var t=new dj(r,e);return t.resolveRefs(),t.errors}vA.resolveGrammar=REe;var dj=function(r){PEe(e,r);function e(t,i){var n=r.call(this)||this;return n.nameToTopRule=t,n.errMsgProvider=i,n.errors=[],n}return e.prototype.resolveRefs=function(){var t=this;(0,pj.forEach)((0,pj.values)(this.nameToTopRule),function(i){t.currTopLevel=i,i.accept(t)})},e.prototype.visitNonTerminal=function(t){var i=this.nameToTopRule[t.nonTerminalName];if(i)t.referencedRule=i;else{var n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,t);this.errors.push({message:n,type:DEe.ParserDefinitionErrorType.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:t.nonTerminalName})}},e}(kEe.GAstVisitor);vA.GastRefResolverVisitor=dj});var Ed=w(Nr=>{\"use strict\";var sc=Nr&&Nr.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Nr,\"__esModule\",{value:!0});Nr.nextPossibleTokensAfter=Nr.possiblePathsFrom=Nr.NextTerminalAfterAtLeastOneSepWalker=Nr.NextTerminalAfterAtLeastOneWalker=Nr.NextTerminalAfterManySepWalker=Nr.NextTerminalAfterManyWalker=Nr.AbstractNextTerminalAfterProductionWalker=Nr.NextAfterTokenWalker=Nr.AbstractNextPossibleTokensWalker=void 0;var mj=VI(),Kt=Gt(),FEe=Dv(),kt=dn(),Ej=function(r){sc(e,r);function e(t,i){var n=r.call(this)||this;return n.topProd=t,n.path=i,n.possibleTokTypes=[],n.nextProductionName=\"\",n.nextProductionOccurrence=0,n.found=!1,n.isAtEndOfPath=!1,n}return e.prototype.startWalking=function(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error(\"The path does not start with the walker's top Rule!\");return this.ruleStack=(0,Kt.cloneArr)(this.path.ruleStack).reverse(),this.occurrenceStack=(0,Kt.cloneArr)(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes},e.prototype.walk=function(t,i){i===void 0&&(i=[]),this.found||r.prototype.walk.call(this,t,i)},e.prototype.walkProdRef=function(t,i,n){if(t.referencedRule.name===this.nextProductionName&&t.idx===this.nextProductionOccurrence){var s=i.concat(n);this.updateExpectedNext(),this.walk(t.referencedRule,s)}},e.prototype.updateExpectedNext=function(){(0,Kt.isEmpty)(this.ruleStack)?(this.nextProductionName=\"\",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())},e}(mj.RestWalker);Nr.AbstractNextPossibleTokensWalker=Ej;var NEe=function(r){sc(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.path=i,n.nextTerminalName=\"\",n.nextTerminalOccurrence=0,n.nextTerminalName=n.path.lastTok.name,n.nextTerminalOccurrence=n.path.lastTokOccurrence,n}return e.prototype.walkTerminal=function(t,i,n){if(this.isAtEndOfPath&&t.terminalType.name===this.nextTerminalName&&t.idx===this.nextTerminalOccurrence&&!this.found){var s=i.concat(n),o=new kt.Alternative({definition:s});this.possibleTokTypes=(0,FEe.first)(o),this.found=!0}},e}(Ej);Nr.NextAfterTokenWalker=NEe;var md=function(r){sc(e,r);function e(t,i){var n=r.call(this)||this;return n.topRule=t,n.occurrence=i,n.result={token:void 0,occurrence:void 0,isEndOfRule:void 0},n}return e.prototype.startWalking=function(){return this.walk(this.topRule),this.result},e}(mj.RestWalker);Nr.AbstractNextTerminalAfterProductionWalker=md;var LEe=function(r){sc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkMany=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkMany.call(this,t,i,n)},e}(md);Nr.NextTerminalAfterManyWalker=LEe;var TEe=function(r){sc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkManySep=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkManySep.call(this,t,i,n)},e}(md);Nr.NextTerminalAfterManySepWalker=TEe;var OEe=function(r){sc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkAtLeastOne=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkAtLeastOne.call(this,t,i,n)},e}(md);Nr.NextTerminalAfterAtLeastOneWalker=OEe;var MEe=function(r){sc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkAtLeastOneSep=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkAtLeastOneSep.call(this,t,i,n)},e}(md);Nr.NextTerminalAfterAtLeastOneSepWalker=MEe;function Ij(r,e,t){t===void 0&&(t=[]),t=(0,Kt.cloneArr)(t);var i=[],n=0;function s(c){return c.concat((0,Kt.drop)(r,n+1))}function o(c){var u=Ij(s(c),e,t);return i.concat(u)}for(;t.length<e&&n<r.length;){var a=r[n];if(a instanceof kt.Alternative)return o(a.definition);if(a instanceof kt.NonTerminal)return o(a.definition);if(a instanceof kt.Option)i=o(a.definition);else if(a instanceof kt.RepetitionMandatory){var l=a.definition.concat([new kt.Repetition({definition:a.definition})]);return o(l)}else if(a instanceof kt.RepetitionMandatoryWithSeparator){var l=[new kt.Alternative({definition:a.definition}),new kt.Repetition({definition:[new kt.Terminal({terminalType:a.separator})].concat(a.definition)})];return o(l)}else if(a instanceof kt.RepetitionWithSeparator){var l=a.definition.concat([new kt.Repetition({definition:[new kt.Terminal({terminalType:a.separator})].concat(a.definition)})]);i=o(l)}else if(a instanceof kt.Repetition){var l=a.definition.concat([new kt.Repetition({definition:a.definition})]);i=o(l)}else{if(a instanceof kt.Alternation)return(0,Kt.forEach)(a.definition,function(c){(0,Kt.isEmpty)(c.definition)===!1&&(i=o(c.definition))}),i;if(a instanceof kt.Terminal)t.push(a.terminalType);else throw Error(\"non exhaustive match\")}n++}return i.push({partialPath:t,suffixDef:(0,Kt.drop)(r,n)}),i}Nr.possiblePathsFrom=Ij;function KEe(r,e,t,i){var n=\"EXIT_NONE_TERMINAL\",s=[n],o=\"EXIT_ALTERNATIVE\",a=!1,l=e.length,c=l-i-1,u=[],g=[];for(g.push({idx:-1,def:r,ruleStack:[],occurrenceStack:[]});!(0,Kt.isEmpty)(g);){var f=g.pop();if(f===o){a&&(0,Kt.last)(g).idx<=c&&g.pop();continue}var h=f.def,p=f.idx,C=f.ruleStack,y=f.occurrenceStack;if(!(0,Kt.isEmpty)(h)){var B=h[0];if(B===n){var v={idx:p,def:(0,Kt.drop)(h),ruleStack:(0,Kt.dropRight)(C),occurrenceStack:(0,Kt.dropRight)(y)};g.push(v)}else if(B instanceof kt.Terminal)if(p<l-1){var D=p+1,L=e[D];if(t(L,B.terminalType)){var v={idx:D,def:(0,Kt.drop)(h),ruleStack:C,occurrenceStack:y};g.push(v)}}else if(p===l-1)u.push({nextTokenType:B.terminalType,nextTokenOccurrence:B.idx,ruleStack:C,occurrenceStack:y}),a=!0;else throw Error(\"non exhaustive match\");else if(B instanceof kt.NonTerminal){var H=(0,Kt.cloneArr)(C);H.push(B.nonTerminalName);var j=(0,Kt.cloneArr)(y);j.push(B.idx);var v={idx:p,def:B.definition.concat(s,(0,Kt.drop)(h)),ruleStack:H,occurrenceStack:j};g.push(v)}else if(B instanceof kt.Option){var $={idx:p,def:(0,Kt.drop)(h),ruleStack:C,occurrenceStack:y};g.push($),g.push(o);var V={idx:p,def:B.definition.concat((0,Kt.drop)(h)),ruleStack:C,occurrenceStack:y};g.push(V)}else if(B instanceof kt.RepetitionMandatory){var W=new kt.Repetition({definition:B.definition,idx:B.idx}),Z=B.definition.concat([W],(0,Kt.drop)(h)),v={idx:p,def:Z,ruleStack:C,occurrenceStack:y};g.push(v)}else if(B instanceof kt.RepetitionMandatoryWithSeparator){var A=new kt.Terminal({terminalType:B.separator}),W=new kt.Repetition({definition:[A].concat(B.definition),idx:B.idx}),Z=B.definition.concat([W],(0,Kt.drop)(h)),v={idx:p,def:Z,ruleStack:C,occurrenceStack:y};g.push(v)}else if(B instanceof kt.RepetitionWithSeparator){var $={idx:p,def:(0,Kt.drop)(h),ruleStack:C,occurrenceStack:y};g.push($),g.push(o);var A=new kt.Terminal({terminalType:B.separator}),ae=new kt.Repetition({definition:[A].concat(B.definition),idx:B.idx}),Z=B.definition.concat([ae],(0,Kt.drop)(h)),V={idx:p,def:Z,ruleStack:C,occurrenceStack:y};g.push(V)}else if(B instanceof kt.Repetition){var $={idx:p,def:(0,Kt.drop)(h),ruleStack:C,occurrenceStack:y};g.push($),g.push(o);var ae=new kt.Repetition({definition:B.definition,idx:B.idx}),Z=B.definition.concat([ae],(0,Kt.drop)(h)),V={idx:p,def:Z,ruleStack:C,occurrenceStack:y};g.push(V)}else if(B instanceof kt.Alternation)for(var ge=B.definition.length-1;ge>=0;ge--){var re=B.definition[ge],O={idx:p,def:re.definition.concat((0,Kt.drop)(h)),ruleStack:C,occurrenceStack:y};g.push(O),g.push(o)}else if(B instanceof kt.Alternative)g.push({idx:p,def:B.definition.concat((0,Kt.drop)(h)),ruleStack:C,occurrenceStack:y});else if(B instanceof kt.Rule)g.push(UEe(B,p,C,y));else throw Error(\"non exhaustive match\")}}return u}Nr.nextPossibleTokensAfter=KEe;function UEe(r,e,t,i){var n=(0,Kt.cloneArr)(t);n.push(r.name);var s=(0,Kt.cloneArr)(i);return s.push(1),{idx:e,def:r.definition,ruleStack:n,occurrenceStack:s}}});var Id=w(_t=>{\"use strict\";var Bj=_t&&_t.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(_t,\"__esModule\",{value:!0});_t.areTokenCategoriesNotUsed=_t.isStrictPrefixOfPath=_t.containsPath=_t.getLookaheadPathsForOptionalProd=_t.getLookaheadPathsForOr=_t.lookAheadSequenceFromAlternatives=_t.buildSingleAlternativeLookaheadFunction=_t.buildAlternativesLookAheadFunc=_t.buildLookaheadFuncForOptionalProd=_t.buildLookaheadFuncForOr=_t.getProdType=_t.PROD_TYPE=void 0;var sr=Gt(),yj=Ed(),HEe=VI(),ty=Gg(),xA=dn(),GEe=Yg(),oi;(function(r){r[r.OPTION=0]=\"OPTION\",r[r.REPETITION=1]=\"REPETITION\",r[r.REPETITION_MANDATORY=2]=\"REPETITION_MANDATORY\",r[r.REPETITION_MANDATORY_WITH_SEPARATOR=3]=\"REPETITION_MANDATORY_WITH_SEPARATOR\",r[r.REPETITION_WITH_SEPARATOR=4]=\"REPETITION_WITH_SEPARATOR\",r[r.ALTERNATION=5]=\"ALTERNATION\"})(oi=_t.PROD_TYPE||(_t.PROD_TYPE={}));function YEe(r){if(r instanceof xA.Option)return oi.OPTION;if(r instanceof xA.Repetition)return oi.REPETITION;if(r instanceof xA.RepetitionMandatory)return oi.REPETITION_MANDATORY;if(r instanceof xA.RepetitionMandatoryWithSeparator)return oi.REPETITION_MANDATORY_WITH_SEPARATOR;if(r instanceof xA.RepetitionWithSeparator)return oi.REPETITION_WITH_SEPARATOR;if(r instanceof xA.Alternation)return oi.ALTERNATION;throw Error(\"non exhaustive match\")}_t.getProdType=YEe;function jEe(r,e,t,i,n,s){var o=bj(r,e,t),a=Lv(o)?ty.tokenStructuredMatcherNoCategories:ty.tokenStructuredMatcher;return s(o,i,a,n)}_t.buildLookaheadFuncForOr=jEe;function qEe(r,e,t,i,n,s){var o=Sj(r,e,n,t),a=Lv(o)?ty.tokenStructuredMatcherNoCategories:ty.tokenStructuredMatcher;return s(o[0],a,i)}_t.buildLookaheadFuncForOptionalProd=qEe;function JEe(r,e,t,i){var n=r.length,s=(0,sr.every)(r,function(l){return(0,sr.every)(l,function(c){return c.length===1})});if(e)return function(l){for(var c=(0,sr.map)(l,function(D){return D.GATE}),u=0;u<n;u++){var g=r[u],f=g.length,h=c[u];if(h!==void 0&&h.call(this)===!1)continue;e:for(var p=0;p<f;p++){for(var C=g[p],y=C.length,B=0;B<y;B++){var v=this.LA(B+1);if(t(v,C[B])===!1)continue e}return u}}};if(s&&!i){var o=(0,sr.map)(r,function(l){return(0,sr.flatten)(l)}),a=(0,sr.reduce)(o,function(l,c,u){return(0,sr.forEach)(c,function(g){(0,sr.has)(l,g.tokenTypeIdx)||(l[g.tokenTypeIdx]=u),(0,sr.forEach)(g.categoryMatches,function(f){(0,sr.has)(l,f)||(l[f]=u)})}),l},[]);return function(){var l=this.LA(1);return a[l.tokenTypeIdx]}}else return function(){for(var l=0;l<n;l++){var c=r[l],u=c.length;e:for(var g=0;g<u;g++){for(var f=c[g],h=f.length,p=0;p<h;p++){var C=this.LA(p+1);if(t(C,f[p])===!1)continue e}return l}}}}_t.buildAlternativesLookAheadFunc=JEe;function WEe(r,e,t){var i=(0,sr.every)(r,function(c){return c.length===1}),n=r.length;if(i&&!t){var s=(0,sr.flatten)(r);if(s.length===1&&(0,sr.isEmpty)(s[0].categoryMatches)){var o=s[0],a=o.tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===a}}else{var l=(0,sr.reduce)(s,function(c,u,g){return c[u.tokenTypeIdx]=!0,(0,sr.forEach)(u.categoryMatches,function(f){c[f]=!0}),c},[]);return function(){var c=this.LA(1);return l[c.tokenTypeIdx]===!0}}}else return function(){e:for(var c=0;c<n;c++){for(var u=r[c],g=u.length,f=0;f<g;f++){var h=this.LA(f+1);if(e(h,u[f])===!1)continue e}return!0}return!1}}_t.buildSingleAlternativeLookaheadFunction=WEe;var zEe=function(r){Bj(e,r);function e(t,i,n){var s=r.call(this)||this;return s.topProd=t,s.targetOccurrence=i,s.targetProdType=n,s}return e.prototype.startWalking=function(){return this.walk(this.topProd),this.restDef},e.prototype.checkIsTarget=function(t,i,n,s){return t.idx===this.targetOccurrence&&this.targetProdType===i?(this.restDef=n.concat(s),!0):!1},e.prototype.walkOption=function(t,i,n){this.checkIsTarget(t,oi.OPTION,i,n)||r.prototype.walkOption.call(this,t,i,n)},e.prototype.walkAtLeastOne=function(t,i,n){this.checkIsTarget(t,oi.REPETITION_MANDATORY,i,n)||r.prototype.walkOption.call(this,t,i,n)},e.prototype.walkAtLeastOneSep=function(t,i,n){this.checkIsTarget(t,oi.REPETITION_MANDATORY_WITH_SEPARATOR,i,n)||r.prototype.walkOption.call(this,t,i,n)},e.prototype.walkMany=function(t,i,n){this.checkIsTarget(t,oi.REPETITION,i,n)||r.prototype.walkOption.call(this,t,i,n)},e.prototype.walkManySep=function(t,i,n){this.checkIsTarget(t,oi.REPETITION_WITH_SEPARATOR,i,n)||r.prototype.walkOption.call(this,t,i,n)},e}(HEe.RestWalker),Qj=function(r){Bj(e,r);function e(t,i,n){var s=r.call(this)||this;return s.targetOccurrence=t,s.targetProdType=i,s.targetRef=n,s.result=[],s}return e.prototype.checkIsTarget=function(t,i){t.idx===this.targetOccurrence&&this.targetProdType===i&&(this.targetRef===void 0||t===this.targetRef)&&(this.result=t.definition)},e.prototype.visitOption=function(t){this.checkIsTarget(t,oi.OPTION)},e.prototype.visitRepetition=function(t){this.checkIsTarget(t,oi.REPETITION)},e.prototype.visitRepetitionMandatory=function(t){this.checkIsTarget(t,oi.REPETITION_MANDATORY)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.checkIsTarget(t,oi.REPETITION_MANDATORY_WITH_SEPARATOR)},e.prototype.visitRepetitionWithSeparator=function(t){this.checkIsTarget(t,oi.REPETITION_WITH_SEPARATOR)},e.prototype.visitAlternation=function(t){this.checkIsTarget(t,oi.ALTERNATION)},e}(GEe.GAstVisitor);function wj(r){for(var e=new Array(r),t=0;t<r;t++)e[t]=[];return e}function Fv(r){for(var e=[\"\"],t=0;t<r.length;t++){for(var i=r[t],n=[],s=0;s<e.length;s++){var o=e[s];n.push(o+\"_\"+i.tokenTypeIdx);for(var a=0;a<i.categoryMatches.length;a++){var l=\"_\"+i.categoryMatches[a];n.push(o+l)}}e=n}return e}function VEe(r,e,t){for(var i=0;i<r.length;i++)if(i!==t)for(var n=r[i],s=0;s<e.length;s++){var o=e[s];if(n[o]===!0)return!1}return!0}function Nv(r,e){for(var t=(0,sr.map)(r,function(u){return(0,yj.possiblePathsFrom)([u],1)}),i=wj(t.length),n=(0,sr.map)(t,function(u){var g={};return(0,sr.forEach)(u,function(f){var h=Fv(f.partialPath);(0,sr.forEach)(h,function(p){g[p]=!0})}),g}),s=t,o=1;o<=e;o++){var a=s;s=wj(a.length);for(var l=function(u){for(var g=a[u],f=0;f<g.length;f++){var h=g[f].partialPath,p=g[f].suffixDef,C=Fv(h),y=VEe(n,C,u);if(y||(0,sr.isEmpty)(p)||h.length===e){var B=i[u];if(vj(B,h)===!1){B.push(h);for(var v=0;v<C.length;v++){var D=C[v];n[u][D]=!0}}}else{var L=(0,yj.possiblePathsFrom)(p,o+1,h);s[u]=s[u].concat(L),(0,sr.forEach)(L,function(H){var j=Fv(H.partialPath);(0,sr.forEach)(j,function($){n[u][$]=!0})})}}},c=0;c<a.length;c++)l(c)}return i}_t.lookAheadSequenceFromAlternatives=Nv;function bj(r,e,t,i){var n=new Qj(r,oi.ALTERNATION,i);return e.accept(n),Nv(n.result,t)}_t.getLookaheadPathsForOr=bj;function Sj(r,e,t,i){var n=new Qj(r,t);e.accept(n);var s=n.result,o=new zEe(e,r,t),a=o.startWalking(),l=new xA.Alternative({definition:s}),c=new xA.Alternative({definition:a});return Nv([l,c],i)}_t.getLookaheadPathsForOptionalProd=Sj;function vj(r,e){e:for(var t=0;t<r.length;t++){var i=r[t];if(i.length===e.length){for(var n=0;n<i.length;n++){var s=e[n],o=i[n],a=s===o||o.categoryMatchesMap[s.tokenTypeIdx]!==void 0;if(a===!1)continue e}return!0}}return!1}_t.containsPath=vj;function XEe(r,e){return r.length<e.length&&(0,sr.every)(r,function(t,i){var n=e[i];return t===n||n.categoryMatchesMap[t.tokenTypeIdx]})}_t.isStrictPrefixOfPath=XEe;function Lv(r){return(0,sr.every)(r,function(e){return(0,sr.every)(e,function(t){return(0,sr.every)(t,function(i){return(0,sr.isEmpty)(i.categoryMatches)})})})}_t.areTokenCategoriesNotUsed=Lv});var Hv=w(zt=>{\"use strict\";var Tv=zt&&zt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(zt,\"__esModule\",{value:!0});zt.checkPrefixAlternativesAmbiguities=zt.validateSomeNonEmptyLookaheadPath=zt.validateTooManyAlts=zt.RepetionCollector=zt.validateAmbiguousAlternationAlternatives=zt.validateEmptyOrAlternative=zt.getFirstNoneTerminal=zt.validateNoLeftRecursion=zt.validateRuleIsOverridden=zt.validateRuleDoesNotAlreadyExist=zt.OccurrenceValidationCollector=zt.identifyProductionForDuplicates=zt.validateGrammar=void 0;var er=Gt(),br=Gt(),Do=Hn(),Ov=dd(),qg=Id(),_Ee=Ed(),_s=dn(),Mv=Yg();function ZEe(r,e,t,i,n){var s=er.map(r,function(h){return $Ee(h,i)}),o=er.map(r,function(h){return Kv(h,h,i)}),a=[],l=[],c=[];(0,br.every)(o,br.isEmpty)&&(a=(0,br.map)(r,function(h){return Rj(h,i)}),l=(0,br.map)(r,function(h){return Fj(h,e,i)}),c=Tj(r,e,i));var u=rIe(r,t,i),g=(0,br.map)(r,function(h){return Lj(h,i)}),f=(0,br.map)(r,function(h){return kj(h,r,n,i)});return er.flatten(s.concat(c,o,a,l,u,g,f))}zt.validateGrammar=ZEe;function $Ee(r,e){var t=new Dj;r.accept(t);var i=t.allProductions,n=er.groupBy(i,xj),s=er.pick(n,function(a){return a.length>1}),o=er.map(er.values(s),function(a){var l=er.first(a),c=e.buildDuplicateFoundError(r,a),u=(0,Ov.getProductionDslName)(l),g={message:c,type:Do.ParserDefinitionErrorType.DUPLICATE_PRODUCTIONS,ruleName:r.name,dslName:u,occurrence:l.idx},f=Pj(l);return f&&(g.parameter=f),g});return o}function xj(r){return(0,Ov.getProductionDslName)(r)+\"_#_\"+r.idx+\"_#_\"+Pj(r)}zt.identifyProductionForDuplicates=xj;function Pj(r){return r instanceof _s.Terminal?r.terminalType.name:r instanceof _s.NonTerminal?r.nonTerminalName:\"\"}var Dj=function(r){Tv(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.allProductions=[],t}return e.prototype.visitNonTerminal=function(t){this.allProductions.push(t)},e.prototype.visitOption=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetition=function(t){this.allProductions.push(t)},e.prototype.visitAlternation=function(t){this.allProductions.push(t)},e.prototype.visitTerminal=function(t){this.allProductions.push(t)},e}(Mv.GAstVisitor);zt.OccurrenceValidationCollector=Dj;function kj(r,e,t,i){var n=[],s=(0,br.reduce)(e,function(a,l){return l.name===r.name?a+1:a},0);if(s>1){var o=i.buildDuplicateRuleNameError({topLevelRule:r,grammarName:t});n.push({message:o,type:Do.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:r.name})}return n}zt.validateRuleDoesNotAlreadyExist=kj;function eIe(r,e,t){var i=[],n;return er.contains(e,r)||(n=\"Invalid rule override, rule: ->\"+r+\"<- cannot be overridden in the grammar: ->\"+t+\"<-as it is not defined in any of the super grammars \",i.push({message:n,type:Do.ParserDefinitionErrorType.INVALID_RULE_OVERRIDE,ruleName:r})),i}zt.validateRuleIsOverridden=eIe;function Kv(r,e,t,i){i===void 0&&(i=[]);var n=[],s=yd(e.definition);if(er.isEmpty(s))return[];var o=r.name,a=er.contains(s,r);a&&n.push({message:t.buildLeftRecursionError({topLevelRule:r,leftRecursionPath:i}),type:Do.ParserDefinitionErrorType.LEFT_RECURSION,ruleName:o});var l=er.difference(s,i.concat([r])),c=er.map(l,function(u){var g=er.cloneArr(i);return g.push(u),Kv(r,u,t,g)});return n.concat(er.flatten(c))}zt.validateNoLeftRecursion=Kv;function yd(r){var e=[];if(er.isEmpty(r))return e;var t=er.first(r);if(t instanceof _s.NonTerminal)e.push(t.referencedRule);else if(t instanceof _s.Alternative||t instanceof _s.Option||t instanceof _s.RepetitionMandatory||t instanceof _s.RepetitionMandatoryWithSeparator||t instanceof _s.RepetitionWithSeparator||t instanceof _s.Repetition)e=e.concat(yd(t.definition));else if(t instanceof _s.Alternation)e=er.flatten(er.map(t.definition,function(o){return yd(o.definition)}));else if(!(t instanceof _s.Terminal))throw Error(\"non exhaustive match\");var i=(0,Ov.isOptionalProd)(t),n=r.length>1;if(i&&n){var s=er.drop(r);return e.concat(yd(s))}else return e}zt.getFirstNoneTerminal=yd;var Uv=function(r){Tv(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.alternations=[],t}return e.prototype.visitAlternation=function(t){this.alternations.push(t)},e}(Mv.GAstVisitor);function Rj(r,e){var t=new Uv;r.accept(t);var i=t.alternations,n=er.reduce(i,function(s,o){var a=er.dropRight(o.definition),l=er.map(a,function(c,u){var g=(0,_Ee.nextPossibleTokensAfter)([c],[],null,1);return er.isEmpty(g)?{message:e.buildEmptyAlternationError({topLevelRule:r,alternation:o,emptyChoiceIdx:u}),type:Do.ParserDefinitionErrorType.NONE_LAST_EMPTY_ALT,ruleName:r.name,occurrence:o.idx,alternative:u+1}:null});return s.concat(er.compact(l))},[]);return n}zt.validateEmptyOrAlternative=Rj;function Fj(r,e,t){var i=new Uv;r.accept(i);var n=i.alternations;n=(0,br.reject)(n,function(o){return o.ignoreAmbiguities===!0});var s=er.reduce(n,function(o,a){var l=a.idx,c=a.maxLookahead||e,u=(0,qg.getLookaheadPathsForOr)(l,r,c,a),g=tIe(u,a,r,t),f=Oj(u,a,r,t);return o.concat(g,f)},[]);return s}zt.validateAmbiguousAlternationAlternatives=Fj;var Nj=function(r){Tv(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.allProductions=[],t}return e.prototype.visitRepetitionWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetition=function(t){this.allProductions.push(t)},e}(Mv.GAstVisitor);zt.RepetionCollector=Nj;function Lj(r,e){var t=new Uv;r.accept(t);var i=t.alternations,n=er.reduce(i,function(s,o){return o.definition.length>255&&s.push({message:e.buildTooManyAlternativesError({topLevelRule:r,alternation:o}),type:Do.ParserDefinitionErrorType.TOO_MANY_ALTS,ruleName:r.name,occurrence:o.idx}),s},[]);return n}zt.validateTooManyAlts=Lj;function Tj(r,e,t){var i=[];return(0,br.forEach)(r,function(n){var s=new Nj;n.accept(s);var o=s.allProductions;(0,br.forEach)(o,function(a){var l=(0,qg.getProdType)(a),c=a.maxLookahead||e,u=a.idx,g=(0,qg.getLookaheadPathsForOptionalProd)(u,n,l,c),f=g[0];if((0,br.isEmpty)((0,br.flatten)(f))){var h=t.buildEmptyRepetitionError({topLevelRule:n,repetition:a});i.push({message:h,type:Do.ParserDefinitionErrorType.NO_NON_EMPTY_LOOKAHEAD,ruleName:n.name})}})}),i}zt.validateSomeNonEmptyLookaheadPath=Tj;function tIe(r,e,t,i){var n=[],s=(0,br.reduce)(r,function(a,l,c){return e.definition[c].ignoreAmbiguities===!0||(0,br.forEach)(l,function(u){var g=[c];(0,br.forEach)(r,function(f,h){c!==h&&(0,qg.containsPath)(f,u)&&e.definition[h].ignoreAmbiguities!==!0&&g.push(h)}),g.length>1&&!(0,qg.containsPath)(n,u)&&(n.push(u),a.push({alts:g,path:u}))}),a},[]),o=er.map(s,function(a){var l=(0,br.map)(a.alts,function(u){return u+1}),c=i.buildAlternationAmbiguityError({topLevelRule:t,alternation:e,ambiguityIndices:l,prefixPath:a.path});return{message:c,type:Do.ParserDefinitionErrorType.AMBIGUOUS_ALTS,ruleName:t.name,occurrence:e.idx,alternatives:[a.alts]}});return o}function Oj(r,e,t,i){var n=[],s=(0,br.reduce)(r,function(o,a,l){var c=(0,br.map)(a,function(u){return{idx:l,path:u}});return o.concat(c)},[]);return(0,br.forEach)(s,function(o){var a=e.definition[o.idx];if(a.ignoreAmbiguities!==!0){var l=o.idx,c=o.path,u=(0,br.findAll)(s,function(f){return e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx<l&&(0,qg.isStrictPrefixOfPath)(f.path,c)}),g=(0,br.map)(u,function(f){var h=[f.idx+1,l+1],p=e.idx===0?\"\":e.idx,C=i.buildAlternationPrefixAmbiguityError({topLevelRule:t,alternation:e,ambiguityIndices:h,prefixPath:f.path});return{message:C,type:Do.ParserDefinitionErrorType.AMBIGUOUS_PREFIX_ALTS,ruleName:t.name,occurrence:p,alternatives:h}});n=n.concat(g)}}),n}zt.checkPrefixAlternativesAmbiguities=Oj;function rIe(r,e,t){var i=[],n=(0,br.map)(e,function(s){return s.name});return(0,br.forEach)(r,function(s){var o=s.name;if((0,br.contains)(n,o)){var a=t.buildNamespaceConflictError(s);i.push({message:a,type:Do.ParserDefinitionErrorType.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:o})}}),i}});var Kj=w(Jg=>{\"use strict\";Object.defineProperty(Jg,\"__esModule\",{value:!0});Jg.validateGrammar=Jg.resolveGrammar=void 0;var Gv=Gt(),iIe=Cj(),nIe=Hv(),Mj=Cd();function sIe(r){r=(0,Gv.defaults)(r,{errMsgProvider:Mj.defaultGrammarResolverErrorProvider});var e={};return(0,Gv.forEach)(r.rules,function(t){e[t.name]=t}),(0,iIe.resolveGrammar)(e,r.errMsgProvider)}Jg.resolveGrammar=sIe;function oIe(r){return r=(0,Gv.defaults)(r,{errMsgProvider:Mj.defaultGrammarValidatorErrorProvider}),(0,nIe.validateGrammar)(r.rules,r.maxLookahead,r.tokenTypes,r.errMsgProvider,r.grammarName)}Jg.validateGrammar=oIe});var Wg=w(mn=>{\"use strict\";var wd=mn&&mn.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(mn,\"__esModule\",{value:!0});mn.EarlyExitException=mn.NotAllInputParsedException=mn.NoViableAltException=mn.MismatchedTokenException=mn.isRecognitionException=void 0;var aIe=Gt(),Uj=\"MismatchedTokenException\",Hj=\"NoViableAltException\",Gj=\"EarlyExitException\",Yj=\"NotAllInputParsedException\",jj=[Uj,Hj,Gj,Yj];Object.freeze(jj);function AIe(r){return(0,aIe.contains)(jj,r.name)}mn.isRecognitionException=AIe;var ry=function(r){wd(e,r);function e(t,i){var n=this.constructor,s=r.call(this,t)||this;return s.token=i,s.resyncedTokens=[],Object.setPrototypeOf(s,n.prototype),Error.captureStackTrace&&Error.captureStackTrace(s,s.constructor),s}return e}(Error),lIe=function(r){wd(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=Uj,s}return e}(ry);mn.MismatchedTokenException=lIe;var cIe=function(r){wd(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=Hj,s}return e}(ry);mn.NoViableAltException=cIe;var uIe=function(r){wd(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.name=Yj,n}return e}(ry);mn.NotAllInputParsedException=uIe;var gIe=function(r){wd(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=Gj,s}return e}(ry);mn.EarlyExitException=gIe});var jv=w(Mi=>{\"use strict\";Object.defineProperty(Mi,\"__esModule\",{value:!0});Mi.attemptInRepetitionRecovery=Mi.Recoverable=Mi.InRuleRecoveryException=Mi.IN_RULE_RECOVERY_EXCEPTION=Mi.EOF_FOLLOW_KEY=void 0;var iy=SA(),ls=Gt(),fIe=Wg(),hIe=kv(),pIe=Hn();Mi.EOF_FOLLOW_KEY={};Mi.IN_RULE_RECOVERY_EXCEPTION=\"InRuleRecoveryException\";function Yv(r){this.name=Mi.IN_RULE_RECOVERY_EXCEPTION,this.message=r}Mi.InRuleRecoveryException=Yv;Yv.prototype=Error.prototype;var dIe=function(){function r(){}return r.prototype.initRecoverable=function(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=(0,ls.has)(e,\"recoveryEnabled\")?e.recoveryEnabled:pIe.DEFAULT_PARSER_CONFIG.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=qj)},r.prototype.getTokenToInsert=function(e){var t=(0,iy.createTokenInstance)(e,\"\",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t},r.prototype.canTokenTypeBeInsertedInRecovery=function(e){return!0},r.prototype.tryInRepetitionRecovery=function(e,t,i,n){for(var s=this,o=this.findReSyncTokenType(),a=this.exportLexerState(),l=[],c=!1,u=this.LA(1),g=this.LA(1),f=function(){var h=s.LA(0),p=s.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:u,previous:h,ruleName:s.getCurrRuleFullName()}),C=new fIe.MismatchedTokenException(p,u,s.LA(0));C.resyncedTokens=(0,ls.dropRight)(l),s.SAVE_ERROR(C)};!c;)if(this.tokenMatcher(g,n)){f();return}else if(i.call(this)){f(),e.apply(this,t);return}else this.tokenMatcher(g,o)?c=!0:(g=this.SKIP_TOKEN(),this.addToResyncTokens(g,l));this.importLexerState(a)},r.prototype.shouldInRepetitionRecoveryBeTried=function(e,t,i){return!(i===!1||e===void 0||t===void 0||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))},r.prototype.getFollowsForInRuleRecovery=function(e,t){var i=this.getCurrentGrammarPath(e,t),n=this.getNextPossibleTokenTypes(i);return n},r.prototype.tryInRuleRecovery=function(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t)){var i=this.getTokenToInsert(e);return i}if(this.canRecoverWithSingleTokenDeletion(e)){var n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new Yv(\"sad sad panda\")},r.prototype.canPerformInRuleRecovery=function(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)},r.prototype.canRecoverWithSingleTokenInsertion=function(e,t){var i=this;if(!this.canTokenTypeBeInsertedInRecovery(e)||(0,ls.isEmpty)(t))return!1;var n=this.LA(1),s=(0,ls.find)(t,function(o){return i.tokenMatcher(n,o)})!==void 0;return s},r.prototype.canRecoverWithSingleTokenDeletion=function(e){var t=this.tokenMatcher(this.LA(2),e);return t},r.prototype.isInCurrentRuleReSyncSet=function(e){var t=this.getCurrFollowKey(),i=this.getFollowSetFromFollowKey(t);return(0,ls.contains)(i,e)},r.prototype.findReSyncTokenType=function(){for(var e=this.flattenFollowSet(),t=this.LA(1),i=2;;){var n=t.tokenType;if((0,ls.contains)(e,n))return n;t=this.LA(i),i++}},r.prototype.getCurrFollowKey=function(){if(this.RULE_STACK.length===1)return Mi.EOF_FOLLOW_KEY;var e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),i=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(i)}},r.prototype.buildFullFollowKeyStack=function(){var e=this,t=this.RULE_STACK,i=this.RULE_OCCURRENCE_STACK;return(0,ls.map)(t,function(n,s){return s===0?Mi.EOF_FOLLOW_KEY:{ruleName:e.shortRuleNameToFullName(n),idxInCallingRule:i[s],inRule:e.shortRuleNameToFullName(t[s-1])}})},r.prototype.flattenFollowSet=function(){var e=this,t=(0,ls.map)(this.buildFullFollowKeyStack(),function(i){return e.getFollowSetFromFollowKey(i)});return(0,ls.flatten)(t)},r.prototype.getFollowSetFromFollowKey=function(e){if(e===Mi.EOF_FOLLOW_KEY)return[iy.EOF];var t=e.ruleName+e.idxInCallingRule+hIe.IN+e.inRule;return this.resyncFollows[t]},r.prototype.addToResyncTokens=function(e,t){return this.tokenMatcher(e,iy.EOF)||t.push(e),t},r.prototype.reSyncTo=function(e){for(var t=[],i=this.LA(1);this.tokenMatcher(i,e)===!1;)i=this.SKIP_TOKEN(),this.addToResyncTokens(i,t);return(0,ls.dropRight)(t)},r.prototype.attemptInRepetitionRecovery=function(e,t,i,n,s,o,a){},r.prototype.getCurrentGrammarPath=function(e,t){var i=this.getHumanReadableRuleStack(),n=(0,ls.cloneArr)(this.RULE_OCCURRENCE_STACK),s={ruleStack:i,occurrenceStack:n,lastTok:e,lastTokOccurrence:t};return s},r.prototype.getHumanReadableRuleStack=function(){var e=this;return(0,ls.map)(this.RULE_STACK,function(t){return e.shortRuleNameToFullName(t)})},r}();Mi.Recoverable=dIe;function qj(r,e,t,i,n,s,o){var a=this.getKeyForAutomaticLookahead(i,n),l=this.firstAfterRepMap[a];if(l===void 0){var c=this.getCurrRuleFullName(),u=this.getGAstProductions()[c],g=new s(u,n);l=g.startWalking(),this.firstAfterRepMap[a]=l}var f=l.token,h=l.occurrence,p=l.isEndOfRule;this.RULE_STACK.length===1&&p&&f===void 0&&(f=iy.EOF,h=1),this.shouldInRepetitionRecoveryBeTried(f,h,o)&&this.tryInRepetitionRecovery(r,e,t,f)}Mi.attemptInRepetitionRecovery=qj});var ny=w(qt=>{\"use strict\";Object.defineProperty(qt,\"__esModule\",{value:!0});qt.getKeyForAutomaticLookahead=qt.AT_LEAST_ONE_SEP_IDX=qt.MANY_SEP_IDX=qt.AT_LEAST_ONE_IDX=qt.MANY_IDX=qt.OPTION_IDX=qt.OR_IDX=qt.BITS_FOR_ALT_IDX=qt.BITS_FOR_RULE_IDX=qt.BITS_FOR_OCCURRENCE_IDX=qt.BITS_FOR_METHOD_TYPE=void 0;qt.BITS_FOR_METHOD_TYPE=4;qt.BITS_FOR_OCCURRENCE_IDX=8;qt.BITS_FOR_RULE_IDX=12;qt.BITS_FOR_ALT_IDX=8;qt.OR_IDX=1<<qt.BITS_FOR_OCCURRENCE_IDX;qt.OPTION_IDX=2<<qt.BITS_FOR_OCCURRENCE_IDX;qt.MANY_IDX=3<<qt.BITS_FOR_OCCURRENCE_IDX;qt.AT_LEAST_ONE_IDX=4<<qt.BITS_FOR_OCCURRENCE_IDX;qt.MANY_SEP_IDX=5<<qt.BITS_FOR_OCCURRENCE_IDX;qt.AT_LEAST_ONE_SEP_IDX=6<<qt.BITS_FOR_OCCURRENCE_IDX;function CIe(r,e,t){return t|e|r}qt.getKeyForAutomaticLookahead=CIe;var f$e=32-qt.BITS_FOR_ALT_IDX});var Wj=w(sy=>{\"use strict\";Object.defineProperty(sy,\"__esModule\",{value:!0});sy.LooksAhead=void 0;var Qa=Id(),Zs=Gt(),Jj=Hn(),ba=ny(),oc=dd(),mIe=function(){function r(){}return r.prototype.initLooksAhead=function(e){this.dynamicTokensEnabled=(0,Zs.has)(e,\"dynamicTokensEnabled\")?e.dynamicTokensEnabled:Jj.DEFAULT_PARSER_CONFIG.dynamicTokensEnabled,this.maxLookahead=(0,Zs.has)(e,\"maxLookahead\")?e.maxLookahead:Jj.DEFAULT_PARSER_CONFIG.maxLookahead,this.lookAheadFuncsCache=(0,Zs.isES2015MapSupported)()?new Map:[],(0,Zs.isES2015MapSupported)()?(this.getLaFuncFromCache=this.getLaFuncFromMap,this.setLaFuncCache=this.setLaFuncCacheUsingMap):(this.getLaFuncFromCache=this.getLaFuncFromObj,this.setLaFuncCache=this.setLaFuncUsingObj)},r.prototype.preComputeLookaheadFunctions=function(e){var t=this;(0,Zs.forEach)(e,function(i){t.TRACE_INIT(i.name+\" Rule Lookahead\",function(){var n=(0,oc.collectMethods)(i),s=n.alternation,o=n.repetition,a=n.option,l=n.repetitionMandatory,c=n.repetitionMandatoryWithSeparator,u=n.repetitionWithSeparator;(0,Zs.forEach)(s,function(g){var f=g.idx===0?\"\":g.idx;t.TRACE_INIT(\"\"+(0,oc.getProductionDslName)(g)+f,function(){var h=(0,Qa.buildLookaheadFuncForOr)(g.idx,i,g.maxLookahead||t.maxLookahead,g.hasPredicates,t.dynamicTokensEnabled,t.lookAheadBuilderForAlternatives),p=(0,ba.getKeyForAutomaticLookahead)(t.fullRuleNameToShort[i.name],ba.OR_IDX,g.idx);t.setLaFuncCache(p,h)})}),(0,Zs.forEach)(o,function(g){t.computeLookaheadFunc(i,g.idx,ba.MANY_IDX,Qa.PROD_TYPE.REPETITION,g.maxLookahead,(0,oc.getProductionDslName)(g))}),(0,Zs.forEach)(a,function(g){t.computeLookaheadFunc(i,g.idx,ba.OPTION_IDX,Qa.PROD_TYPE.OPTION,g.maxLookahead,(0,oc.getProductionDslName)(g))}),(0,Zs.forEach)(l,function(g){t.computeLookaheadFunc(i,g.idx,ba.AT_LEAST_ONE_IDX,Qa.PROD_TYPE.REPETITION_MANDATORY,g.maxLookahead,(0,oc.getProductionDslName)(g))}),(0,Zs.forEach)(c,function(g){t.computeLookaheadFunc(i,g.idx,ba.AT_LEAST_ONE_SEP_IDX,Qa.PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR,g.maxLookahead,(0,oc.getProductionDslName)(g))}),(0,Zs.forEach)(u,function(g){t.computeLookaheadFunc(i,g.idx,ba.MANY_SEP_IDX,Qa.PROD_TYPE.REPETITION_WITH_SEPARATOR,g.maxLookahead,(0,oc.getProductionDslName)(g))})})})},r.prototype.computeLookaheadFunc=function(e,t,i,n,s,o){var a=this;this.TRACE_INIT(\"\"+o+(t===0?\"\":t),function(){var l=(0,Qa.buildLookaheadFuncForOptionalProd)(t,e,s||a.maxLookahead,a.dynamicTokensEnabled,n,a.lookAheadBuilderForOptional),c=(0,ba.getKeyForAutomaticLookahead)(a.fullRuleNameToShort[e.name],i,t);a.setLaFuncCache(c,l)})},r.prototype.lookAheadBuilderForOptional=function(e,t,i){return(0,Qa.buildSingleAlternativeLookaheadFunction)(e,t,i)},r.prototype.lookAheadBuilderForAlternatives=function(e,t,i,n){return(0,Qa.buildAlternativesLookAheadFunc)(e,t,i,n)},r.prototype.getKeyForAutomaticLookahead=function(e,t){var i=this.getLastExplicitRuleShortName();return(0,ba.getKeyForAutomaticLookahead)(i,e,t)},r.prototype.getLaFuncFromCache=function(e){},r.prototype.getLaFuncFromMap=function(e){return this.lookAheadFuncsCache.get(e)},r.prototype.getLaFuncFromObj=function(e){return this.lookAheadFuncsCache[e]},r.prototype.setLaFuncCache=function(e,t){},r.prototype.setLaFuncCacheUsingMap=function(e,t){this.lookAheadFuncsCache.set(e,t)},r.prototype.setLaFuncUsingObj=function(e,t){this.lookAheadFuncsCache[e]=t},r}();sy.LooksAhead=mIe});var zj=w(ko=>{\"use strict\";Object.defineProperty(ko,\"__esModule\",{value:!0});ko.addNoneTerminalToCst=ko.addTerminalToCst=ko.setNodeLocationFull=ko.setNodeLocationOnlyOffset=void 0;function EIe(r,e){isNaN(r.startOffset)===!0?(r.startOffset=e.startOffset,r.endOffset=e.endOffset):r.endOffset<e.endOffset&&(r.endOffset=e.endOffset)}ko.setNodeLocationOnlyOffset=EIe;function IIe(r,e){isNaN(r.startOffset)===!0?(r.startOffset=e.startOffset,r.startColumn=e.startColumn,r.startLine=e.startLine,r.endOffset=e.endOffset,r.endColumn=e.endColumn,r.endLine=e.endLine):r.endOffset<e.endOffset&&(r.endOffset=e.endOffset,r.endColumn=e.endColumn,r.endLine=e.endLine)}ko.setNodeLocationFull=IIe;function yIe(r,e,t){r.children[t]===void 0?r.children[t]=[e]:r.children[t].push(e)}ko.addTerminalToCst=yIe;function wIe(r,e,t){r.children[e]===void 0?r.children[e]=[t]:r.children[e].push(t)}ko.addNoneTerminalToCst=wIe});var qv=w(PA=>{\"use strict\";Object.defineProperty(PA,\"__esModule\",{value:!0});PA.defineNameProp=PA.functionName=PA.classNameFromInstance=void 0;var BIe=Gt();function QIe(r){return Xj(r.constructor)}PA.classNameFromInstance=QIe;var Vj=\"name\";function Xj(r){var e=r.name;return e||\"anonymous\"}PA.functionName=Xj;function bIe(r,e){var t=Object.getOwnPropertyDescriptor(r,Vj);return(0,BIe.isUndefined)(t)||t.configurable?(Object.defineProperty(r,Vj,{enumerable:!1,configurable:!0,writable:!1,value:e}),!0):!1}PA.defineNameProp=bIe});var tq=w(bi=>{\"use strict\";Object.defineProperty(bi,\"__esModule\",{value:!0});bi.validateRedundantMethods=bi.validateMissingCstMethods=bi.validateVisitor=bi.CstVisitorDefinitionError=bi.createBaseVisitorConstructorWithDefaults=bi.createBaseSemanticVisitorConstructor=bi.defaultVisit=void 0;var cs=Gt(),Bd=qv();function _j(r,e){for(var t=(0,cs.keys)(r),i=t.length,n=0;n<i;n++)for(var s=t[n],o=r[s],a=o.length,l=0;l<a;l++){var c=o[l];c.tokenTypeIdx===void 0&&this[c.name](c.children,e)}}bi.defaultVisit=_j;function SIe(r,e){var t=function(){};(0,Bd.defineNameProp)(t,r+\"BaseSemantics\");var i={visit:function(n,s){if((0,cs.isArray)(n)&&(n=n[0]),!(0,cs.isUndefined)(n))return this[n.name](n.children,s)},validateVisitor:function(){var n=Zj(this,e);if(!(0,cs.isEmpty)(n)){var s=(0,cs.map)(n,function(o){return o.msg});throw Error(\"Errors Detected in CST Visitor <\"+(0,Bd.functionName)(this.constructor)+`>:\n\t`+(\"\"+s.join(`\n\n`).replace(/\\n/g,`\n\t`)))}}};return t.prototype=i,t.prototype.constructor=t,t._RULE_NAMES=e,t}bi.createBaseSemanticVisitorConstructor=SIe;function vIe(r,e,t){var i=function(){};(0,Bd.defineNameProp)(i,r+\"BaseSemanticsWithDefaults\");var n=Object.create(t.prototype);return(0,cs.forEach)(e,function(s){n[s]=_j}),i.prototype=n,i.prototype.constructor=i,i}bi.createBaseVisitorConstructorWithDefaults=vIe;var Jv;(function(r){r[r.REDUNDANT_METHOD=0]=\"REDUNDANT_METHOD\",r[r.MISSING_METHOD=1]=\"MISSING_METHOD\"})(Jv=bi.CstVisitorDefinitionError||(bi.CstVisitorDefinitionError={}));function Zj(r,e){var t=$j(r,e),i=eq(r,e);return t.concat(i)}bi.validateVisitor=Zj;function $j(r,e){var t=(0,cs.map)(e,function(i){if(!(0,cs.isFunction)(r[i]))return{msg:\"Missing visitor method: <\"+i+\"> on \"+(0,Bd.functionName)(r.constructor)+\" CST Visitor.\",type:Jv.MISSING_METHOD,methodName:i}});return(0,cs.compact)(t)}bi.validateMissingCstMethods=$j;var xIe=[\"constructor\",\"visit\",\"validateVisitor\"];function eq(r,e){var t=[];for(var i in r)(0,cs.isFunction)(r[i])&&!(0,cs.contains)(xIe,i)&&!(0,cs.contains)(e,i)&&t.push({msg:\"Redundant visitor method: <\"+i+\"> on \"+(0,Bd.functionName)(r.constructor)+` CST Visitor\nThere is no Grammar Rule corresponding to this method's name.\n`,type:Jv.REDUNDANT_METHOD,methodName:i});return t}bi.validateRedundantMethods=eq});var iq=w(oy=>{\"use strict\";Object.defineProperty(oy,\"__esModule\",{value:!0});oy.TreeBuilder=void 0;var zg=zj(),Zr=Gt(),rq=tq(),PIe=Hn(),DIe=function(){function r(){}return r.prototype.initTreeBuilder=function(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(0,Zr.has)(e,\"nodeLocationTracking\")?e.nodeLocationTracking:PIe.DEFAULT_PARSER_CONFIG.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=Zr.NOOP,this.cstFinallyStateUpdate=Zr.NOOP,this.cstPostTerminal=Zr.NOOP,this.cstPostNonTerminal=Zr.NOOP,this.cstPostRule=Zr.NOOP;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=zg.setNodeLocationFull,this.setNodeLocationFromNode=zg.setNodeLocationFull,this.cstPostRule=Zr.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=Zr.NOOP,this.setNodeLocationFromNode=Zr.NOOP,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=zg.setNodeLocationOnlyOffset,this.setNodeLocationFromNode=zg.setNodeLocationOnlyOffset,this.cstPostRule=Zr.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=Zr.NOOP,this.setNodeLocationFromNode=Zr.NOOP,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=Zr.NOOP,this.setNodeLocationFromNode=Zr.NOOP,this.cstPostRule=Zr.NOOP,this.setInitialNodeLocation=Zr.NOOP;else throw Error('Invalid <nodeLocationTracking> config option: \"'+e.nodeLocationTracking+'\"')},r.prototype.setInitialNodeLocationOnlyOffsetRecovery=function(e){e.location={startOffset:NaN,endOffset:NaN}},r.prototype.setInitialNodeLocationOnlyOffsetRegular=function(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}},r.prototype.setInitialNodeLocationFullRecovery=function(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}},r.prototype.setInitialNodeLocationFullRegular=function(e){var t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}},r.prototype.cstInvocationStateUpdate=function(e,t){var i={name:e,children:{}};this.setInitialNodeLocation(i),this.CST_STACK.push(i)},r.prototype.cstFinallyStateUpdate=function(){this.CST_STACK.pop()},r.prototype.cstPostRuleFull=function(e){var t=this.LA(0),i=e.location;i.startOffset<=t.startOffset?(i.endOffset=t.endOffset,i.endLine=t.endLine,i.endColumn=t.endColumn):(i.startOffset=NaN,i.startLine=NaN,i.startColumn=NaN)},r.prototype.cstPostRuleOnlyOffset=function(e){var t=this.LA(0),i=e.location;i.startOffset<=t.startOffset?i.endOffset=t.endOffset:i.startOffset=NaN},r.prototype.cstPostTerminal=function(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];(0,zg.addTerminalToCst)(i,t,e),this.setNodeLocationFromToken(i.location,t)},r.prototype.cstPostNonTerminal=function(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];(0,zg.addNoneTerminalToCst)(i,t,e),this.setNodeLocationFromNode(i.location,e.location)},r.prototype.getBaseCstVisitorConstructor=function(){if((0,Zr.isUndefined)(this.baseCstVisitorConstructor)){var e=(0,rq.createBaseSemanticVisitorConstructor)(this.className,(0,Zr.keys)(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor},r.prototype.getBaseCstVisitorConstructorWithDefaults=function(){if((0,Zr.isUndefined)(this.baseCstVisitorWithDefaultsConstructor)){var e=(0,rq.createBaseVisitorConstructorWithDefaults)(this.className,(0,Zr.keys)(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor},r.prototype.getLastExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-1]},r.prototype.getPreviousExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-2]},r.prototype.getLastExplicitRuleOccurrenceIndex=function(){var e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]},r}();oy.TreeBuilder=DIe});var sq=w(ay=>{\"use strict\";Object.defineProperty(ay,\"__esModule\",{value:!0});ay.LexerAdapter=void 0;var nq=Hn(),kIe=function(){function r(){}return r.prototype.initLexerAdapter=function(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1},Object.defineProperty(r.prototype,\"input\",{get:function(){return this.tokVector},set:function(e){if(this.selfAnalysisDone!==!0)throw Error(\"Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.\");this.reset(),this.tokVector=e,this.tokVectorLength=e.length},enumerable:!1,configurable:!0}),r.prototype.SKIP_TOKEN=function(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):nq.END_OF_FILE},r.prototype.LA=function(e){var t=this.currIdx+e;return t<0||this.tokVectorLength<=t?nq.END_OF_FILE:this.tokVector[t]},r.prototype.consumeToken=function(){this.currIdx++},r.prototype.exportLexerState=function(){return this.currIdx},r.prototype.importLexerState=function(e){this.currIdx=e},r.prototype.resetLexerState=function(){this.currIdx=-1},r.prototype.moveToTerminatedState=function(){this.currIdx=this.tokVector.length-1},r.prototype.getLexerPosition=function(){return this.exportLexerState()},r}();ay.LexerAdapter=kIe});var aq=w(Ay=>{\"use strict\";Object.defineProperty(Ay,\"__esModule\",{value:!0});Ay.RecognizerApi=void 0;var oq=Gt(),RIe=Wg(),Wv=Hn(),FIe=Cd(),NIe=Hv(),LIe=dn(),TIe=function(){function r(){}return r.prototype.ACTION=function(e){return e.call(this)},r.prototype.consume=function(e,t,i){return this.consumeInternal(t,e,i)},r.prototype.subrule=function(e,t,i){return this.subruleInternal(t,e,i)},r.prototype.option=function(e,t){return this.optionInternal(t,e)},r.prototype.or=function(e,t){return this.orInternal(t,e)},r.prototype.many=function(e,t){return this.manyInternal(e,t)},r.prototype.atLeastOne=function(e,t){return this.atLeastOneInternal(e,t)},r.prototype.CONSUME=function(e,t){return this.consumeInternal(e,0,t)},r.prototype.CONSUME1=function(e,t){return this.consumeInternal(e,1,t)},r.prototype.CONSUME2=function(e,t){return this.consumeInternal(e,2,t)},r.prototype.CONSUME3=function(e,t){return this.consumeInternal(e,3,t)},r.prototype.CONSUME4=function(e,t){return this.consumeInternal(e,4,t)},r.prototype.CONSUME5=function(e,t){return this.consumeInternal(e,5,t)},r.prototype.CONSUME6=function(e,t){return this.consumeInternal(e,6,t)},r.prototype.CONSUME7=function(e,t){return this.consumeInternal(e,7,t)},r.prototype.CONSUME8=function(e,t){return this.consumeInternal(e,8,t)},r.prototype.CONSUME9=function(e,t){return this.consumeInternal(e,9,t)},r.prototype.SUBRULE=function(e,t){return this.subruleInternal(e,0,t)},r.prototype.SUBRULE1=function(e,t){return this.subruleInternal(e,1,t)},r.prototype.SUBRULE2=function(e,t){return this.subruleInternal(e,2,t)},r.prototype.SUBRULE3=function(e,t){return this.subruleInternal(e,3,t)},r.prototype.SUBRULE4=function(e,t){return this.subruleInternal(e,4,t)},r.prototype.SUBRULE5=function(e,t){return this.subruleInternal(e,5,t)},r.prototype.SUBRULE6=function(e,t){return this.subruleInternal(e,6,t)},r.prototype.SUBRULE7=function(e,t){return this.subruleInternal(e,7,t)},r.prototype.SUBRULE8=function(e,t){return this.subruleInternal(e,8,t)},r.prototype.SUBRULE9=function(e,t){return this.subruleInternal(e,9,t)},r.prototype.OPTION=function(e){return this.optionInternal(e,0)},r.prototype.OPTION1=function(e){return this.optionInternal(e,1)},r.prototype.OPTION2=function(e){return this.optionInternal(e,2)},r.prototype.OPTION3=function(e){return this.optionInternal(e,3)},r.prototype.OPTION4=function(e){return this.optionInternal(e,4)},r.prototype.OPTION5=function(e){return this.optionInternal(e,5)},r.prototype.OPTION6=function(e){return this.optionInternal(e,6)},r.prototype.OPTION7=function(e){return this.optionInternal(e,7)},r.prototype.OPTION8=function(e){return this.optionInternal(e,8)},r.prototype.OPTION9=function(e){return this.optionInternal(e,9)},r.prototype.OR=function(e){return this.orInternal(e,0)},r.prototype.OR1=function(e){return this.orInternal(e,1)},r.prototype.OR2=function(e){return this.orInternal(e,2)},r.prototype.OR3=function(e){return this.orInternal(e,3)},r.prototype.OR4=function(e){return this.orInternal(e,4)},r.prototype.OR5=function(e){return this.orInternal(e,5)},r.prototype.OR6=function(e){return this.orInternal(e,6)},r.prototype.OR7=function(e){return this.orInternal(e,7)},r.prototype.OR8=function(e){return this.orInternal(e,8)},r.prototype.OR9=function(e){return this.orInternal(e,9)},r.prototype.MANY=function(e){this.manyInternal(0,e)},r.prototype.MANY1=function(e){this.manyInternal(1,e)},r.prototype.MANY2=function(e){this.manyInternal(2,e)},r.prototype.MANY3=function(e){this.manyInternal(3,e)},r.prototype.MANY4=function(e){this.manyInternal(4,e)},r.prototype.MANY5=function(e){this.manyInternal(5,e)},r.prototype.MANY6=function(e){this.manyInternal(6,e)},r.prototype.MANY7=function(e){this.manyInternal(7,e)},r.prototype.MANY8=function(e){this.manyInternal(8,e)},r.prototype.MANY9=function(e){this.manyInternal(9,e)},r.prototype.MANY_SEP=function(e){this.manySepFirstInternal(0,e)},r.prototype.MANY_SEP1=function(e){this.manySepFirstInternal(1,e)},r.prototype.MANY_SEP2=function(e){this.manySepFirstInternal(2,e)},r.prototype.MANY_SEP3=function(e){this.manySepFirstInternal(3,e)},r.prototype.MANY_SEP4=function(e){this.manySepFirstInternal(4,e)},r.prototype.MANY_SEP5=function(e){this.manySepFirstInternal(5,e)},r.prototype.MANY_SEP6=function(e){this.manySepFirstInternal(6,e)},r.prototype.MANY_SEP7=function(e){this.manySepFirstInternal(7,e)},r.prototype.MANY_SEP8=function(e){this.manySepFirstInternal(8,e)},r.prototype.MANY_SEP9=function(e){this.manySepFirstInternal(9,e)},r.prototype.AT_LEAST_ONE=function(e){this.atLeastOneInternal(0,e)},r.prototype.AT_LEAST_ONE1=function(e){return this.atLeastOneInternal(1,e)},r.prototype.AT_LEAST_ONE2=function(e){this.atLeastOneInternal(2,e)},r.prototype.AT_LEAST_ONE3=function(e){this.atLeastOneInternal(3,e)},r.prototype.AT_LEAST_ONE4=function(e){this.atLeastOneInternal(4,e)},r.prototype.AT_LEAST_ONE5=function(e){this.atLeastOneInternal(5,e)},r.prototype.AT_LEAST_ONE6=function(e){this.atLeastOneInternal(6,e)},r.prototype.AT_LEAST_ONE7=function(e){this.atLeastOneInternal(7,e)},r.prototype.AT_LEAST_ONE8=function(e){this.atLeastOneInternal(8,e)},r.prototype.AT_LEAST_ONE9=function(e){this.atLeastOneInternal(9,e)},r.prototype.AT_LEAST_ONE_SEP=function(e){this.atLeastOneSepFirstInternal(0,e)},r.prototype.AT_LEAST_ONE_SEP1=function(e){this.atLeastOneSepFirstInternal(1,e)},r.prototype.AT_LEAST_ONE_SEP2=function(e){this.atLeastOneSepFirstInternal(2,e)},r.prototype.AT_LEAST_ONE_SEP3=function(e){this.atLeastOneSepFirstInternal(3,e)},r.prototype.AT_LEAST_ONE_SEP4=function(e){this.atLeastOneSepFirstInternal(4,e)},r.prototype.AT_LEAST_ONE_SEP5=function(e){this.atLeastOneSepFirstInternal(5,e)},r.prototype.AT_LEAST_ONE_SEP6=function(e){this.atLeastOneSepFirstInternal(6,e)},r.prototype.AT_LEAST_ONE_SEP7=function(e){this.atLeastOneSepFirstInternal(7,e)},r.prototype.AT_LEAST_ONE_SEP8=function(e){this.atLeastOneSepFirstInternal(8,e)},r.prototype.AT_LEAST_ONE_SEP9=function(e){this.atLeastOneSepFirstInternal(9,e)},r.prototype.RULE=function(e,t,i){if(i===void 0&&(i=Wv.DEFAULT_RULE_CONFIG),(0,oq.contains)(this.definedRulesNames,e)){var n=FIe.defaultGrammarValidatorErrorProvider.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),s={message:n,type:Wv.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);var o=this.defineRule(e,t,i);return this[e]=o,o},r.prototype.OVERRIDE_RULE=function(e,t,i){i===void 0&&(i=Wv.DEFAULT_RULE_CONFIG);var n=[];n=n.concat((0,NIe.validateRuleIsOverridden)(e,this.definedRulesNames,this.className)),this.definitionErrors=this.definitionErrors.concat(n);var s=this.defineRule(e,t,i);return this[e]=s,s},r.prototype.BACKTRACK=function(e,t){return function(){this.isBackTrackingStack.push(1);var i=this.saveRecogState();try{return e.apply(this,t),!0}catch(n){if((0,RIe.isRecognitionException)(n))return!1;throw n}finally{this.reloadRecogState(i),this.isBackTrackingStack.pop()}}},r.prototype.getGAstProductions=function(){return this.gastProductionsCache},r.prototype.getSerializedGastProductions=function(){return(0,LIe.serializeGrammar)((0,oq.values)(this.gastProductionsCache))},r}();Ay.RecognizerApi=TIe});var uq=w(cy=>{\"use strict\";Object.defineProperty(cy,\"__esModule\",{value:!0});cy.RecognizerEngine=void 0;var Pr=Gt(),Gn=ny(),ly=Wg(),Aq=Id(),Vg=Ed(),lq=Hn(),OIe=jv(),cq=SA(),Qd=Gg(),MIe=qv(),KIe=function(){function r(){}return r.prototype.initRecognizerEngine=function(e,t){if(this.className=(0,MIe.classNameFromInstance)(this),this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Qd.tokenStructuredMatcherNoCategories,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},(0,Pr.has)(t,\"serializedGrammar\"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.\n\tSee: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0\n\tFor Further details.`);if((0,Pr.isArray)(e)){if((0,Pr.isEmpty)(e))throw Error(`A Token Vocabulary cannot be empty.\n\tNote that the first argument for the parser constructor\n\tis no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset==\"number\")throw Error(`The Parser constructor no longer accepts a token vector as the first argument.\n\tSee: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0\n\tFor Further details.`)}if((0,Pr.isArray)(e))this.tokensMap=(0,Pr.reduce)(e,function(o,a){return o[a.name]=a,o},{});else if((0,Pr.has)(e,\"modes\")&&(0,Pr.every)((0,Pr.flatten)((0,Pr.values)(e.modes)),Qd.isTokenType)){var i=(0,Pr.flatten)((0,Pr.values)(e.modes)),n=(0,Pr.uniq)(i);this.tokensMap=(0,Pr.reduce)(n,function(o,a){return o[a.name]=a,o},{})}else if((0,Pr.isObject)(e))this.tokensMap=(0,Pr.cloneObj)(e);else throw new Error(\"<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition\");this.tokensMap.EOF=cq.EOF;var s=(0,Pr.every)((0,Pr.values)(e),function(o){return(0,Pr.isEmpty)(o.categoryMatches)});this.tokenMatcher=s?Qd.tokenStructuredMatcherNoCategories:Qd.tokenStructuredMatcher,(0,Qd.augmentTokenTypes)((0,Pr.values)(this.tokensMap))},r.prototype.defineRule=function(e,t,i){if(this.selfAnalysisDone)throw Error(\"Grammar rule <\"+e+`> may not be defined after the 'performSelfAnalysis' method has been called'\nMake sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);var n=(0,Pr.has)(i,\"resyncEnabled\")?i.resyncEnabled:lq.DEFAULT_RULE_CONFIG.resyncEnabled,s=(0,Pr.has)(i,\"recoveryValueFunc\")?i.recoveryValueFunc:lq.DEFAULT_RULE_CONFIG.recoveryValueFunc,o=this.ruleShortNameIdx<<Gn.BITS_FOR_METHOD_TYPE+Gn.BITS_FOR_OCCURRENCE_IDX;this.ruleShortNameIdx++,this.shortRuleNameToFull[o]=e,this.fullRuleNameToShort[e]=o;function a(u){try{if(this.outputCst===!0){t.apply(this,u);var g=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(g),g}else return t.apply(this,u)}catch(f){return this.invokeRuleCatch(f,n,s)}finally{this.ruleFinallyStateUpdate()}}var l=function(u,g){return u===void 0&&(u=0),this.ruleInvocationStateUpdate(o,e,u),a.call(this,g)},c=\"ruleName\";return l[c]=e,l.originalGrammarAction=t,l},r.prototype.invokeRuleCatch=function(e,t,i){var n=this.RULE_STACK.length===1,s=t&&!this.isBackTracking()&&this.recoveryEnabled;if((0,ly.isRecognitionException)(e)){var o=e;if(s){var a=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(a))if(o.resyncedTokens=this.reSyncTo(a),this.outputCst){var l=this.CST_STACK[this.CST_STACK.length-1];return l.recoveredNode=!0,l}else return i();else{if(this.outputCst){var l=this.CST_STACK[this.CST_STACK.length-1];l.recoveredNode=!0,o.partialCstResult=l}throw o}}else{if(n)return this.moveToTerminatedState(),i();throw o}}else throw e},r.prototype.optionInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(Gn.OPTION_IDX,t);return this.optionInternalLogic(e,t,i)},r.prototype.optionInternalLogic=function(e,t,i){var n=this,s=this.getLaFuncFromCache(i),o,a;if(e.DEF!==void 0){if(o=e.DEF,a=e.GATE,a!==void 0){var l=s;s=function(){return a.call(n)&&l.call(n)}}}else o=e;if(s.call(this)===!0)return o.call(this)},r.prototype.atLeastOneInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(Gn.AT_LEAST_ONE_IDX,e);return this.atLeastOneInternalLogic(e,t,i)},r.prototype.atLeastOneInternalLogic=function(e,t,i){var n=this,s=this.getLaFuncFromCache(i),o,a;if(t.DEF!==void 0){if(o=t.DEF,a=t.GATE,a!==void 0){var l=s;s=function(){return a.call(n)&&l.call(n)}}}else o=t;if(s.call(this)===!0)for(var c=this.doSingleRepetition(o);s.call(this)===!0&&c===!0;)c=this.doSingleRepetition(o);else throw this.raiseEarlyExitException(e,Aq.PROD_TYPE.REPETITION_MANDATORY,t.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,t],s,Gn.AT_LEAST_ONE_IDX,e,Vg.NextTerminalAfterAtLeastOneWalker)},r.prototype.atLeastOneSepFirstInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(Gn.AT_LEAST_ONE_SEP_IDX,e);this.atLeastOneSepFirstInternalLogic(e,t,i)},r.prototype.atLeastOneSepFirstInternalLogic=function(e,t,i){var n=this,s=t.DEF,o=t.SEP,a=this.getLaFuncFromCache(i);if(a.call(this)===!0){s.call(this);for(var l=function(){return n.tokenMatcher(n.LA(1),o)};this.tokenMatcher(this.LA(1),o)===!0;)this.CONSUME(o),s.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,o,l,s,Vg.NextTerminalAfterAtLeastOneSepWalker],l,Gn.AT_LEAST_ONE_SEP_IDX,e,Vg.NextTerminalAfterAtLeastOneSepWalker)}else throw this.raiseEarlyExitException(e,Aq.PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG)},r.prototype.manyInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(Gn.MANY_IDX,e);return this.manyInternalLogic(e,t,i)},r.prototype.manyInternalLogic=function(e,t,i){var n=this,s=this.getLaFuncFromCache(i),o,a;if(t.DEF!==void 0){if(o=t.DEF,a=t.GATE,a!==void 0){var l=s;s=function(){return a.call(n)&&l.call(n)}}}else o=t;for(var c=!0;s.call(this)===!0&&c===!0;)c=this.doSingleRepetition(o);this.attemptInRepetitionRecovery(this.manyInternal,[e,t],s,Gn.MANY_IDX,e,Vg.NextTerminalAfterManyWalker,c)},r.prototype.manySepFirstInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(Gn.MANY_SEP_IDX,e);this.manySepFirstInternalLogic(e,t,i)},r.prototype.manySepFirstInternalLogic=function(e,t,i){var n=this,s=t.DEF,o=t.SEP,a=this.getLaFuncFromCache(i);if(a.call(this)===!0){s.call(this);for(var l=function(){return n.tokenMatcher(n.LA(1),o)};this.tokenMatcher(this.LA(1),o)===!0;)this.CONSUME(o),s.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,o,l,s,Vg.NextTerminalAfterManySepWalker],l,Gn.MANY_SEP_IDX,e,Vg.NextTerminalAfterManySepWalker)}},r.prototype.repetitionSepSecondInternal=function(e,t,i,n,s){for(;i();)this.CONSUME(t),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,i,n,s],i,Gn.AT_LEAST_ONE_SEP_IDX,e,s)},r.prototype.doSingleRepetition=function(e){var t=this.getLexerPosition();e.call(this);var i=this.getLexerPosition();return i>t},r.prototype.orInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(Gn.OR_IDX,t),n=(0,Pr.isArray)(e)?e:e.DEF,s=this.getLaFuncFromCache(i),o=s.call(this,n);if(o!==void 0){var a=n[o];return a.ALT.call(this)}this.raiseNoAltException(t,e.ERR_MSG)},r.prototype.ruleFinallyStateUpdate=function(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){var e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new ly.NotAllInputParsedException(t,e))}},r.prototype.subruleInternal=function(e,t,i){var n;try{var s=i!==void 0?i.ARGS:void 0;return n=e.call(this,t,s),this.cstPostNonTerminal(n,i!==void 0&&i.LABEL!==void 0?i.LABEL:e.ruleName),n}catch(o){this.subruleInternalError(o,i,e.ruleName)}},r.prototype.subruleInternalError=function(e,t,i){throw(0,ly.isRecognitionException)(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,t!==void 0&&t.LABEL!==void 0?t.LABEL:i),delete e.partialCstResult),e},r.prototype.consumeInternal=function(e,t,i){var n;try{var s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),n=s):this.consumeInternalError(e,s,i)}catch(o){n=this.consumeInternalRecovery(e,t,o)}return this.cstPostTerminal(i!==void 0&&i.LABEL!==void 0?i.LABEL:e.name,n),n},r.prototype.consumeInternalError=function(e,t,i){var n,s=this.LA(0);throw i!==void 0&&i.ERR_MSG?n=i.ERR_MSG:n=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new ly.MismatchedTokenException(n,t,s))},r.prototype.consumeInternalRecovery=function(e,t,i){if(this.recoveryEnabled&&i.name===\"MismatchedTokenException\"&&!this.isBackTracking()){var n=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,n)}catch(s){throw s.name===OIe.IN_RULE_RECOVERY_EXCEPTION?i:s}}else throw i},r.prototype.saveRecogState=function(){var e=this.errors,t=(0,Pr.cloneArr)(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}},r.prototype.reloadRecogState=function(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK},r.prototype.ruleInvocationStateUpdate=function(e,t,i){this.RULE_OCCURRENCE_STACK.push(i),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t,e)},r.prototype.isBackTracking=function(){return this.isBackTrackingStack.length!==0},r.prototype.getCurrRuleFullName=function(){var e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]},r.prototype.shortRuleNameToFullName=function(e){return this.shortRuleNameToFull[e]},r.prototype.isAtEndOfInput=function(){return this.tokenMatcher(this.LA(1),cq.EOF)},r.prototype.reset=function(){this.resetLexerState(),this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]},r}();cy.RecognizerEngine=KIe});var fq=w(uy=>{\"use strict\";Object.defineProperty(uy,\"__esModule\",{value:!0});uy.ErrorHandler=void 0;var zv=Wg(),Vv=Gt(),gq=Id(),UIe=Hn(),HIe=function(){function r(){}return r.prototype.initErrorHandler=function(e){this._errors=[],this.errorMessageProvider=(0,Vv.has)(e,\"errorMessageProvider\")?e.errorMessageProvider:UIe.DEFAULT_PARSER_CONFIG.errorMessageProvider},r.prototype.SAVE_ERROR=function(e){if((0,zv.isRecognitionException)(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:(0,Vv.cloneArr)(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error(\"Trying to save an Error which is not a RecognitionException\")},Object.defineProperty(r.prototype,\"errors\",{get:function(){return(0,Vv.cloneArr)(this._errors)},set:function(e){this._errors=e},enumerable:!1,configurable:!0}),r.prototype.raiseEarlyExitException=function(e,t,i){for(var n=this.getCurrRuleFullName(),s=this.getGAstProductions()[n],o=(0,gq.getLookaheadPathsForOptionalProd)(e,s,t,this.maxLookahead),a=o[0],l=[],c=1;c<=this.maxLookahead;c++)l.push(this.LA(c));var u=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:l,previous:this.LA(0),customUserDescription:i,ruleName:n});throw this.SAVE_ERROR(new zv.EarlyExitException(u,this.LA(1),this.LA(0)))},r.prototype.raiseNoAltException=function(e,t){for(var i=this.getCurrRuleFullName(),n=this.getGAstProductions()[i],s=(0,gq.getLookaheadPathsForOr)(e,n,this.maxLookahead),o=[],a=1;a<=this.maxLookahead;a++)o.push(this.LA(a));var l=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:o,previous:l,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new zv.NoViableAltException(c,this.LA(1),l))},r}();uy.ErrorHandler=HIe});var dq=w(gy=>{\"use strict\";Object.defineProperty(gy,\"__esModule\",{value:!0});gy.ContentAssist=void 0;var hq=Ed(),pq=Gt(),GIe=function(){function r(){}return r.prototype.initContentAssist=function(){},r.prototype.computeContentAssist=function(e,t){var i=this.gastProductionsCache[e];if((0,pq.isUndefined)(i))throw Error(\"Rule ->\"+e+\"<- does not exist in this grammar.\");return(0,hq.nextPossibleTokensAfter)([i],t,this.tokenMatcher,this.maxLookahead)},r.prototype.getNextPossibleTokenTypes=function(e){var t=(0,pq.first)(e.ruleStack),i=this.getGAstProductions(),n=i[t],s=new hq.NextAfterTokenWalker(n,e).startWalking();return s},r}();gy.ContentAssist=GIe});var Qq=w(py=>{\"use strict\";Object.defineProperty(py,\"__esModule\",{value:!0});py.GastRecorder=void 0;var En=Gt(),Ro=dn(),YIe=gd(),Iq=Gg(),yq=SA(),jIe=Hn(),qIe=ny(),hy={description:\"This Object indicates the Parser is during Recording Phase\"};Object.freeze(hy);var Cq=!0,mq=Math.pow(2,qIe.BITS_FOR_OCCURRENCE_IDX)-1,wq=(0,yq.createToken)({name:\"RECORDING_PHASE_TOKEN\",pattern:YIe.Lexer.NA});(0,Iq.augmentTokenTypes)([wq]);var Bq=(0,yq.createTokenInstance)(wq,`This IToken indicates the Parser is in Recording Phase\n\tSee: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(Bq);var JIe={name:`This CSTNode indicates the Parser is in Recording Phase\n\tSee: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},WIe=function(){function r(){}return r.prototype.initGastRecorder=function(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1},r.prototype.enableRecording=function(){var e=this;this.RECORDING_PHASE=!0,this.TRACE_INIT(\"Enable Recording\",function(){for(var t=function(n){var s=n>0?n:\"\";e[\"CONSUME\"+s]=function(o,a){return this.consumeInternalRecord(o,n,a)},e[\"SUBRULE\"+s]=function(o,a){return this.subruleInternalRecord(o,n,a)},e[\"OPTION\"+s]=function(o){return this.optionInternalRecord(o,n)},e[\"OR\"+s]=function(o){return this.orInternalRecord(o,n)},e[\"MANY\"+s]=function(o){this.manyInternalRecord(n,o)},e[\"MANY_SEP\"+s]=function(o){this.manySepFirstInternalRecord(n,o)},e[\"AT_LEAST_ONE\"+s]=function(o){this.atLeastOneInternalRecord(n,o)},e[\"AT_LEAST_ONE_SEP\"+s]=function(o){this.atLeastOneSepFirstInternalRecord(n,o)}},i=0;i<10;i++)t(i);e.consume=function(n,s,o){return this.consumeInternalRecord(s,n,o)},e.subrule=function(n,s,o){return this.subruleInternalRecord(s,n,o)},e.option=function(n,s){return this.optionInternalRecord(s,n)},e.or=function(n,s){return this.orInternalRecord(s,n)},e.many=function(n,s){this.manyInternalRecord(n,s)},e.atLeastOne=function(n,s){this.atLeastOneInternalRecord(n,s)},e.ACTION=e.ACTION_RECORD,e.BACKTRACK=e.BACKTRACK_RECORD,e.LA=e.LA_RECORD})},r.prototype.disableRecording=function(){var e=this;this.RECORDING_PHASE=!1,this.TRACE_INIT(\"Deleting Recording methods\",function(){for(var t=0;t<10;t++){var i=t>0?t:\"\";delete e[\"CONSUME\"+i],delete e[\"SUBRULE\"+i],delete e[\"OPTION\"+i],delete e[\"OR\"+i],delete e[\"MANY\"+i],delete e[\"MANY_SEP\"+i],delete e[\"AT_LEAST_ONE\"+i],delete e[\"AT_LEAST_ONE_SEP\"+i]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})},r.prototype.ACTION_RECORD=function(e){},r.prototype.BACKTRACK_RECORD=function(e,t){return function(){return!0}},r.prototype.LA_RECORD=function(e){return jIe.END_OF_FILE},r.prototype.topLevelRuleRecord=function(e,t){try{var i=new Ro.Rule({definition:[],name:e});return i.name=e,this.recordingProdStack.push(i),t.call(this),this.recordingProdStack.pop(),i}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+`\n\t This error was thrown during the \"grammar recording phase\" For more info see:\n\thttps://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}},r.prototype.optionInternalRecord=function(e,t){return bd.call(this,Ro.Option,e,t)},r.prototype.atLeastOneInternalRecord=function(e,t){bd.call(this,Ro.RepetitionMandatory,t,e)},r.prototype.atLeastOneSepFirstInternalRecord=function(e,t){bd.call(this,Ro.RepetitionMandatoryWithSeparator,t,e,Cq)},r.prototype.manyInternalRecord=function(e,t){bd.call(this,Ro.Repetition,t,e)},r.prototype.manySepFirstInternalRecord=function(e,t){bd.call(this,Ro.RepetitionWithSeparator,t,e,Cq)},r.prototype.orInternalRecord=function(e,t){return zIe.call(this,e,t)},r.prototype.subruleInternalRecord=function(e,t,i){if(fy(t),!e||(0,En.has)(e,\"ruleName\")===!1){var n=new Error(\"<SUBRULE\"+Eq(t)+\"> argument is invalid\"+(\" expecting a Parser method reference but got: <\"+JSON.stringify(e)+\">\")+(`\n inside top level rule: <`+this.recordingProdStack[0].name+\">\"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,En.peek)(this.recordingProdStack),o=e.ruleName,a=new Ro.NonTerminal({idx:t,nonTerminalName:o,label:i==null?void 0:i.LABEL,referencedRule:void 0});return s.definition.push(a),this.outputCst?JIe:hy},r.prototype.consumeInternalRecord=function(e,t,i){if(fy(t),!(0,Iq.hasShortKeyProperty)(e)){var n=new Error(\"<CONSUME\"+Eq(t)+\"> argument is invalid\"+(\" expecting a TokenType reference but got: <\"+JSON.stringify(e)+\">\")+(`\n inside top level rule: <`+this.recordingProdStack[0].name+\">\"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,En.peek)(this.recordingProdStack),o=new Ro.Terminal({idx:t,terminalType:e,label:i==null?void 0:i.LABEL});return s.definition.push(o),Bq},r}();py.GastRecorder=WIe;function bd(r,e,t,i){i===void 0&&(i=!1),fy(t);var n=(0,En.peek)(this.recordingProdStack),s=(0,En.isFunction)(e)?e:e.DEF,o=new r({definition:[],idx:t});return i&&(o.separator=e.SEP),(0,En.has)(e,\"MAX_LOOKAHEAD\")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),s.call(this),n.definition.push(o),this.recordingProdStack.pop(),hy}function zIe(r,e){var t=this;fy(e);var i=(0,En.peek)(this.recordingProdStack),n=(0,En.isArray)(r)===!1,s=n===!1?r:r.DEF,o=new Ro.Alternation({definition:[],idx:e,ignoreAmbiguities:n&&r.IGNORE_AMBIGUITIES===!0});(0,En.has)(r,\"MAX_LOOKAHEAD\")&&(o.maxLookahead=r.MAX_LOOKAHEAD);var a=(0,En.some)(s,function(l){return(0,En.isFunction)(l.GATE)});return o.hasPredicates=a,i.definition.push(o),(0,En.forEach)(s,function(l){var c=new Ro.Alternative({definition:[]});o.definition.push(c),(0,En.has)(l,\"IGNORE_AMBIGUITIES\")?c.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:(0,En.has)(l,\"GATE\")&&(c.ignoreAmbiguities=!0),t.recordingProdStack.push(c),l.ALT.call(t),t.recordingProdStack.pop()}),hy}function Eq(r){return r===0?\"\":\"\"+r}function fy(r){if(r<0||r>mq){var e=new Error(\"Invalid DSL Method idx value: <\"+r+`>\n\t`+(\"Idx value must be a none negative value smaller than \"+(mq+1)));throw e.KNOWN_RECORDER_ERROR=!0,e}}});var Sq=w(dy=>{\"use strict\";Object.defineProperty(dy,\"__esModule\",{value:!0});dy.PerformanceTracer=void 0;var bq=Gt(),VIe=Hn(),XIe=function(){function r(){}return r.prototype.initPerformanceTracer=function(e){if((0,bq.has)(e,\"traceInitPerf\")){var t=e.traceInitPerf,i=typeof t==\"number\";this.traceInitMaxIdent=i?t:1/0,this.traceInitPerf=i?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=VIe.DEFAULT_PARSER_CONFIG.traceInitPerf;this.traceInitIndent=-1},r.prototype.TRACE_INIT=function(e,t){if(this.traceInitPerf===!0){this.traceInitIndent++;var i=new Array(this.traceInitIndent+1).join(\"\t\");this.traceInitIndent<this.traceInitMaxIdent&&console.log(i+\"--> <\"+e+\">\");var n=(0,bq.timer)(t),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(i+\"<-- <\"+e+\"> time: \"+s+\"ms\"),this.traceInitIndent--,o}else return t()},r}();dy.PerformanceTracer=XIe});var vq=w(Cy=>{\"use strict\";Object.defineProperty(Cy,\"__esModule\",{value:!0});Cy.applyMixins=void 0;function _Ie(r,e){e.forEach(function(t){var i=t.prototype;Object.getOwnPropertyNames(i).forEach(function(n){if(n!==\"constructor\"){var s=Object.getOwnPropertyDescriptor(i,n);s&&(s.get||s.set)?Object.defineProperty(r.prototype,n,s):r.prototype[n]=t.prototype[n]}})})}Cy.applyMixins=_Ie});var Hn=w(dr=>{\"use strict\";var Dq=dr&&dr.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(dr,\"__esModule\",{value:!0});dr.EmbeddedActionsParser=dr.CstParser=dr.Parser=dr.EMPTY_ALT=dr.ParserDefinitionErrorType=dr.DEFAULT_RULE_CONFIG=dr.DEFAULT_PARSER_CONFIG=dr.END_OF_FILE=void 0;var Xi=Gt(),ZIe=fj(),xq=SA(),kq=Cd(),Pq=Kj(),$Ie=jv(),eye=Wj(),tye=iq(),rye=sq(),iye=aq(),nye=uq(),sye=fq(),oye=dq(),aye=Qq(),Aye=Sq(),lye=vq();dr.END_OF_FILE=(0,xq.createTokenInstance)(xq.EOF,\"\",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(dr.END_OF_FILE);dr.DEFAULT_PARSER_CONFIG=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:kq.defaultParserErrorProvider,nodeLocationTracking:\"none\",traceInitPerf:!1,skipValidations:!1});dr.DEFAULT_RULE_CONFIG=Object.freeze({recoveryValueFunc:function(){},resyncEnabled:!0});var cye;(function(r){r[r.INVALID_RULE_NAME=0]=\"INVALID_RULE_NAME\",r[r.DUPLICATE_RULE_NAME=1]=\"DUPLICATE_RULE_NAME\",r[r.INVALID_RULE_OVERRIDE=2]=\"INVALID_RULE_OVERRIDE\",r[r.DUPLICATE_PRODUCTIONS=3]=\"DUPLICATE_PRODUCTIONS\",r[r.UNRESOLVED_SUBRULE_REF=4]=\"UNRESOLVED_SUBRULE_REF\",r[r.LEFT_RECURSION=5]=\"LEFT_RECURSION\",r[r.NONE_LAST_EMPTY_ALT=6]=\"NONE_LAST_EMPTY_ALT\",r[r.AMBIGUOUS_ALTS=7]=\"AMBIGUOUS_ALTS\",r[r.CONFLICT_TOKENS_RULES_NAMESPACE=8]=\"CONFLICT_TOKENS_RULES_NAMESPACE\",r[r.INVALID_TOKEN_NAME=9]=\"INVALID_TOKEN_NAME\",r[r.NO_NON_EMPTY_LOOKAHEAD=10]=\"NO_NON_EMPTY_LOOKAHEAD\",r[r.AMBIGUOUS_PREFIX_ALTS=11]=\"AMBIGUOUS_PREFIX_ALTS\",r[r.TOO_MANY_ALTS=12]=\"TOO_MANY_ALTS\"})(cye=dr.ParserDefinitionErrorType||(dr.ParserDefinitionErrorType={}));function uye(r){return r===void 0&&(r=void 0),function(){return r}}dr.EMPTY_ALT=uye;var my=function(){function r(e,t){this.definitionErrors=[],this.selfAnalysisDone=!1;var i=this;if(i.initErrorHandler(t),i.initLexerAdapter(),i.initLooksAhead(t),i.initRecognizerEngine(e,t),i.initRecoverable(t),i.initTreeBuilder(t),i.initContentAssist(),i.initGastRecorder(t),i.initPerformanceTracer(t),(0,Xi.has)(t,\"ignoredIssues\"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.\n\tPlease use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.\n\tSee: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES\n\tFor further details.`);this.skipValidations=(0,Xi.has)(t,\"skipValidations\")?t.skipValidations:dr.DEFAULT_PARSER_CONFIG.skipValidations}return r.performSelfAnalysis=function(e){throw Error(\"The **static** `performSelfAnalysis` method has been deprecated.\t\\nUse the **instance** method with the same name instead.\")},r.prototype.performSelfAnalysis=function(){var e=this;this.TRACE_INIT(\"performSelfAnalysis\",function(){var t;e.selfAnalysisDone=!0;var i=e.className;e.TRACE_INIT(\"toFastProps\",function(){(0,Xi.toFastProperties)(e)}),e.TRACE_INIT(\"Grammar Recording\",function(){try{e.enableRecording(),(0,Xi.forEach)(e.definedRulesNames,function(s){var o=e[s],a=o.originalGrammarAction,l=void 0;e.TRACE_INIT(s+\" Rule\",function(){l=e.topLevelRuleRecord(s,a)}),e.gastProductionsCache[s]=l})}finally{e.disableRecording()}});var n=[];if(e.TRACE_INIT(\"Grammar Resolving\",function(){n=(0,Pq.resolveGrammar)({rules:(0,Xi.values)(e.gastProductionsCache)}),e.definitionErrors=e.definitionErrors.concat(n)}),e.TRACE_INIT(\"Grammar Validations\",function(){if((0,Xi.isEmpty)(n)&&e.skipValidations===!1){var s=(0,Pq.validateGrammar)({rules:(0,Xi.values)(e.gastProductionsCache),maxLookahead:e.maxLookahead,tokenTypes:(0,Xi.values)(e.tokensMap),errMsgProvider:kq.defaultGrammarValidatorErrorProvider,grammarName:i});e.definitionErrors=e.definitionErrors.concat(s)}}),(0,Xi.isEmpty)(e.definitionErrors)&&(e.recoveryEnabled&&e.TRACE_INIT(\"computeAllProdsFollows\",function(){var s=(0,ZIe.computeAllProdsFollows)((0,Xi.values)(e.gastProductionsCache));e.resyncFollows=s}),e.TRACE_INIT(\"ComputeLookaheadFunctions\",function(){e.preComputeLookaheadFunctions((0,Xi.values)(e.gastProductionsCache))})),!r.DEFER_DEFINITION_ERRORS_HANDLING&&!(0,Xi.isEmpty)(e.definitionErrors))throw t=(0,Xi.map)(e.definitionErrors,function(s){return s.message}),new Error(`Parser Definition Errors detected:\n `+t.join(`\n-------------------------------\n`))})},r.DEFER_DEFINITION_ERRORS_HANDLING=!1,r}();dr.Parser=my;(0,lye.applyMixins)(my,[$Ie.Recoverable,eye.LooksAhead,tye.TreeBuilder,rye.LexerAdapter,nye.RecognizerEngine,iye.RecognizerApi,sye.ErrorHandler,oye.ContentAssist,aye.GastRecorder,Aye.PerformanceTracer]);var gye=function(r){Dq(e,r);function e(t,i){i===void 0&&(i=dr.DEFAULT_PARSER_CONFIG);var n=this,s=(0,Xi.cloneObj)(i);return s.outputCst=!0,n=r.call(this,t,s)||this,n}return e}(my);dr.CstParser=gye;var fye=function(r){Dq(e,r);function e(t,i){i===void 0&&(i=dr.DEFAULT_PARSER_CONFIG);var n=this,s=(0,Xi.cloneObj)(i);return s.outputCst=!1,n=r.call(this,t,s)||this,n}return e}(my);dr.EmbeddedActionsParser=fye});var Fq=w(Ey=>{\"use strict\";Object.defineProperty(Ey,\"__esModule\",{value:!0});Ey.createSyntaxDiagramsCode=void 0;var Rq=pv();function hye(r,e){var t=e===void 0?{}:e,i=t.resourceBase,n=i===void 0?\"https://unpkg.com/chevrotain@\"+Rq.VERSION+\"/diagrams/\":i,s=t.css,o=s===void 0?\"https://unpkg.com/chevrotain@\"+Rq.VERSION+\"/diagrams/diagrams.css\":s,a=`\n<!-- This is a generated file -->\n<!DOCTYPE html>\n<meta charset=\"utf-8\">\n<style>\n  body {\n    background-color: hsl(30, 20%, 95%)\n  }\n</style>\n\n`,l=`\n<link rel='stylesheet' href='`+o+`'>\n`,c=`\n<script src='`+n+`vendor/railroad-diagrams.js'><\\/script>\n<script src='`+n+`src/diagrams_builder.js'><\\/script>\n<script src='`+n+`src/diagrams_behavior.js'><\\/script>\n<script src='`+n+`src/main.js'><\\/script>\n`,u=`\n<div id=\"diagrams\" align=\"center\"></div>    \n`,g=`\n<script>\n    window.serializedGrammar = `+JSON.stringify(r,null,\"  \")+`;\n<\\/script>\n`,f=`\n<script>\n    var diagramsDiv = document.getElementById(\"diagrams\");\n    main.drawDiagramsFromSerializedGrammar(serializedGrammar, diagramsDiv);\n<\\/script>\n`;return a+l+c+u+g+f}Ey.createSyntaxDiagramsCode=hye});var Tq=w(We=>{\"use strict\";Object.defineProperty(We,\"__esModule\",{value:!0});We.Parser=We.createSyntaxDiagramsCode=We.clearCache=We.GAstVisitor=We.serializeProduction=We.serializeGrammar=We.Terminal=We.Rule=We.RepetitionWithSeparator=We.RepetitionMandatoryWithSeparator=We.RepetitionMandatory=We.Repetition=We.Option=We.NonTerminal=We.Alternative=We.Alternation=We.defaultLexerErrorProvider=We.NoViableAltException=We.NotAllInputParsedException=We.MismatchedTokenException=We.isRecognitionException=We.EarlyExitException=We.defaultParserErrorProvider=We.tokenName=We.tokenMatcher=We.tokenLabel=We.EOF=We.createTokenInstance=We.createToken=We.LexerDefinitionErrorType=We.Lexer=We.EMPTY_ALT=We.ParserDefinitionErrorType=We.EmbeddedActionsParser=We.CstParser=We.VERSION=void 0;var pye=pv();Object.defineProperty(We,\"VERSION\",{enumerable:!0,get:function(){return pye.VERSION}});var Iy=Hn();Object.defineProperty(We,\"CstParser\",{enumerable:!0,get:function(){return Iy.CstParser}});Object.defineProperty(We,\"EmbeddedActionsParser\",{enumerable:!0,get:function(){return Iy.EmbeddedActionsParser}});Object.defineProperty(We,\"ParserDefinitionErrorType\",{enumerable:!0,get:function(){return Iy.ParserDefinitionErrorType}});Object.defineProperty(We,\"EMPTY_ALT\",{enumerable:!0,get:function(){return Iy.EMPTY_ALT}});var Nq=gd();Object.defineProperty(We,\"Lexer\",{enumerable:!0,get:function(){return Nq.Lexer}});Object.defineProperty(We,\"LexerDefinitionErrorType\",{enumerable:!0,get:function(){return Nq.LexerDefinitionErrorType}});var Xg=SA();Object.defineProperty(We,\"createToken\",{enumerable:!0,get:function(){return Xg.createToken}});Object.defineProperty(We,\"createTokenInstance\",{enumerable:!0,get:function(){return Xg.createTokenInstance}});Object.defineProperty(We,\"EOF\",{enumerable:!0,get:function(){return Xg.EOF}});Object.defineProperty(We,\"tokenLabel\",{enumerable:!0,get:function(){return Xg.tokenLabel}});Object.defineProperty(We,\"tokenMatcher\",{enumerable:!0,get:function(){return Xg.tokenMatcher}});Object.defineProperty(We,\"tokenName\",{enumerable:!0,get:function(){return Xg.tokenName}});var dye=Cd();Object.defineProperty(We,\"defaultParserErrorProvider\",{enumerable:!0,get:function(){return dye.defaultParserErrorProvider}});var Sd=Wg();Object.defineProperty(We,\"EarlyExitException\",{enumerable:!0,get:function(){return Sd.EarlyExitException}});Object.defineProperty(We,\"isRecognitionException\",{enumerable:!0,get:function(){return Sd.isRecognitionException}});Object.defineProperty(We,\"MismatchedTokenException\",{enumerable:!0,get:function(){return Sd.MismatchedTokenException}});Object.defineProperty(We,\"NotAllInputParsedException\",{enumerable:!0,get:function(){return Sd.NotAllInputParsedException}});Object.defineProperty(We,\"NoViableAltException\",{enumerable:!0,get:function(){return Sd.NoViableAltException}});var Cye=bv();Object.defineProperty(We,\"defaultLexerErrorProvider\",{enumerable:!0,get:function(){return Cye.defaultLexerErrorProvider}});var Fo=dn();Object.defineProperty(We,\"Alternation\",{enumerable:!0,get:function(){return Fo.Alternation}});Object.defineProperty(We,\"Alternative\",{enumerable:!0,get:function(){return Fo.Alternative}});Object.defineProperty(We,\"NonTerminal\",{enumerable:!0,get:function(){return Fo.NonTerminal}});Object.defineProperty(We,\"Option\",{enumerable:!0,get:function(){return Fo.Option}});Object.defineProperty(We,\"Repetition\",{enumerable:!0,get:function(){return Fo.Repetition}});Object.defineProperty(We,\"RepetitionMandatory\",{enumerable:!0,get:function(){return Fo.RepetitionMandatory}});Object.defineProperty(We,\"RepetitionMandatoryWithSeparator\",{enumerable:!0,get:function(){return Fo.RepetitionMandatoryWithSeparator}});Object.defineProperty(We,\"RepetitionWithSeparator\",{enumerable:!0,get:function(){return Fo.RepetitionWithSeparator}});Object.defineProperty(We,\"Rule\",{enumerable:!0,get:function(){return Fo.Rule}});Object.defineProperty(We,\"Terminal\",{enumerable:!0,get:function(){return Fo.Terminal}});var Lq=dn();Object.defineProperty(We,\"serializeGrammar\",{enumerable:!0,get:function(){return Lq.serializeGrammar}});Object.defineProperty(We,\"serializeProduction\",{enumerable:!0,get:function(){return Lq.serializeProduction}});var mye=Yg();Object.defineProperty(We,\"GAstVisitor\",{enumerable:!0,get:function(){return mye.GAstVisitor}});function Eye(){console.warn(`The clearCache function was 'soft' removed from the Chevrotain API.\n\t It performs no action other than printing this message.\n\t Please avoid using it as it will be completely removed in the future`)}We.clearCache=Eye;var Iye=Fq();Object.defineProperty(We,\"createSyntaxDiagramsCode\",{enumerable:!0,get:function(){return Iye.createSyntaxDiagramsCode}});var yye=function(){function r(){throw new Error(`The Parser class has been deprecated, use CstParser or EmbeddedActionsParser instead.\t\nSee: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_7-0-0`)}return r}();We.Parser=yye});var Kq=w((k$e,Mq)=>{var yy=Tq(),Sa=yy.createToken,Oq=yy.tokenMatcher,Xv=yy.Lexer,wye=yy.EmbeddedActionsParser;Mq.exports=r=>{let e=Sa({name:\"LogicalOperator\",pattern:Xv.NA}),t=Sa({name:\"Or\",pattern:/\\|/,categories:e}),i=Sa({name:\"Xor\",pattern:/\\^/,categories:e}),n=Sa({name:\"And\",pattern:/&/,categories:e}),s=Sa({name:\"Not\",pattern:/!/}),o=Sa({name:\"LParen\",pattern:/\\(/}),a=Sa({name:\"RParen\",pattern:/\\)/}),l=Sa({name:\"Query\",pattern:r}),u=[Sa({name:\"WhiteSpace\",pattern:/\\s+/,group:Xv.SKIPPED}),t,i,n,o,a,s,e,l],g=new Xv(u);class f extends wye{constructor(p){super(u),this.RULE(\"expression\",()=>this.SUBRULE(this.logicalExpression)),this.RULE(\"logicalExpression\",()=>{let y=this.SUBRULE(this.atomicExpression);return this.MANY(()=>{let B=y,v=this.CONSUME(e),D=this.SUBRULE2(this.atomicExpression);Oq(v,t)?y=L=>B(L)||D(L):Oq(v,i)?y=L=>!!(B(L)^D(L)):y=L=>B(L)&&D(L)}),y}),this.RULE(\"atomicExpression\",()=>this.OR([{ALT:()=>this.SUBRULE(this.parenthesisExpression)},{ALT:()=>{let{image:C}=this.CONSUME(l);return y=>y(C)}},{ALT:()=>{this.CONSUME(s);let C=this.SUBRULE(this.atomicExpression);return y=>!C(y)}}])),this.RULE(\"parenthesisExpression\",()=>{let C;return this.CONSUME(o),C=this.SUBRULE(this.expression),this.CONSUME(a),C}),this.performSelfAnalysis()}}return{TinylogicLexer:g,TinylogicParser:f}}});var Uq=w(wy=>{var Bye=Kq();wy.makeParser=(r=/[a-z]+/)=>{let{TinylogicLexer:e,TinylogicParser:t}=Bye(r),i=new t;return(n,s)=>{let o=e.tokenize(n);return i.input=o.tokens,i.expression()(s)}};wy.parse=wy.makeParser()});var Gq=w((F$e,Hq)=>{\"use strict\";Hq.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var _v=w((N$e,jq)=>{var vd=Gq(),Yq={};for(let r of Object.keys(vd))Yq[vd[r]]=r;var st={rgb:{channels:3,labels:\"rgb\"},hsl:{channels:3,labels:\"hsl\"},hsv:{channels:3,labels:\"hsv\"},hwb:{channels:3,labels:\"hwb\"},cmyk:{channels:4,labels:\"cmyk\"},xyz:{channels:3,labels:\"xyz\"},lab:{channels:3,labels:\"lab\"},lch:{channels:3,labels:\"lch\"},hex:{channels:1,labels:[\"hex\"]},keyword:{channels:1,labels:[\"keyword\"]},ansi16:{channels:1,labels:[\"ansi16\"]},ansi256:{channels:1,labels:[\"ansi256\"]},hcg:{channels:3,labels:[\"h\",\"c\",\"g\"]},apple:{channels:3,labels:[\"r16\",\"g16\",\"b16\"]},gray:{channels:1,labels:[\"gray\"]}};jq.exports=st;for(let r of Object.keys(st)){if(!(\"channels\"in st[r]))throw new Error(\"missing channels property: \"+r);if(!(\"labels\"in st[r]))throw new Error(\"missing channel labels property: \"+r);if(st[r].labels.length!==st[r].channels)throw new Error(\"channel and label counts mismatch: \"+r);let{channels:e,labels:t}=st[r];delete st[r].channels,delete st[r].labels,Object.defineProperty(st[r],\"channels\",{value:e}),Object.defineProperty(st[r],\"labels\",{value:t})}st.rgb.hsl=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,n=Math.min(e,t,i),s=Math.max(e,t,i),o=s-n,a,l;s===n?a=0:e===s?a=(t-i)/o:t===s?a=2+(i-e)/o:i===s&&(a=4+(e-t)/o),a=Math.min(a*60,360),a<0&&(a+=360);let c=(n+s)/2;return s===n?l=0:c<=.5?l=o/(s+n):l=o/(2-s-n),[a,l*100,c*100]};st.rgb.hsv=function(r){let e,t,i,n,s,o=r[0]/255,a=r[1]/255,l=r[2]/255,c=Math.max(o,a,l),u=c-Math.min(o,a,l),g=function(f){return(c-f)/6/u+1/2};return u===0?(n=0,s=0):(s=u/c,e=g(o),t=g(a),i=g(l),o===c?n=i-t:a===c?n=1/3+e-i:l===c&&(n=2/3+t-e),n<0?n+=1:n>1&&(n-=1)),[n*360,s*100,c*100]};st.rgb.hwb=function(r){let e=r[0],t=r[1],i=r[2],n=st.rgb.hsl(r)[0],s=1/255*Math.min(e,Math.min(t,i));return i=1-1/255*Math.max(e,Math.max(t,i)),[n,s*100,i*100]};st.rgb.cmyk=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,n=Math.min(1-e,1-t,1-i),s=(1-e-n)/(1-n)||0,o=(1-t-n)/(1-n)||0,a=(1-i-n)/(1-n)||0;return[s*100,o*100,a*100,n*100]};function Qye(r,e){return(r[0]-e[0])**2+(r[1]-e[1])**2+(r[2]-e[2])**2}st.rgb.keyword=function(r){let e=Yq[r];if(e)return e;let t=1/0,i;for(let n of Object.keys(vd)){let s=vd[n],o=Qye(r,s);o<t&&(t=o,i=n)}return i};st.keyword.rgb=function(r){return vd[r]};st.rgb.xyz=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255;e=e>.04045?((e+.055)/1.055)**2.4:e/12.92,t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92;let n=e*.4124+t*.3576+i*.1805,s=e*.2126+t*.7152+i*.0722,o=e*.0193+t*.1192+i*.9505;return[n*100,s*100,o*100]};st.rgb.lab=function(r){let e=st.rgb.xyz(r),t=e[0],i=e[1],n=e[2];t/=95.047,i/=100,n/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;let s=116*i-16,o=500*(t-i),a=200*(i-n);return[s,o,a]};st.hsl.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100,n,s,o;if(t===0)return o=i*255,[o,o,o];i<.5?n=i*(1+t):n=i+t-i*t;let a=2*i-n,l=[0,0,0];for(let c=0;c<3;c++)s=e+1/3*-(c-1),s<0&&s++,s>1&&s--,6*s<1?o=a+(n-a)*6*s:2*s<1?o=n:3*s<2?o=a+(n-a)*(2/3-s)*6:o=a,l[c]=o*255;return l};st.hsl.hsv=function(r){let e=r[0],t=r[1]/100,i=r[2]/100,n=t,s=Math.max(i,.01);i*=2,t*=i<=1?i:2-i,n*=s<=1?s:2-s;let o=(i+t)/2,a=i===0?2*n/(s+n):2*t/(i+t);return[e,a*100,o*100]};st.hsv.rgb=function(r){let e=r[0]/60,t=r[1]/100,i=r[2]/100,n=Math.floor(e)%6,s=e-Math.floor(e),o=255*i*(1-t),a=255*i*(1-t*s),l=255*i*(1-t*(1-s));switch(i*=255,n){case 0:return[i,l,o];case 1:return[a,i,o];case 2:return[o,i,l];case 3:return[o,a,i];case 4:return[l,o,i];case 5:return[i,o,a]}};st.hsv.hsl=function(r){let e=r[0],t=r[1]/100,i=r[2]/100,n=Math.max(i,.01),s,o;o=(2-t)*i;let a=(2-t)*n;return s=t*n,s/=a<=1?a:2-a,s=s||0,o/=2,[e,s*100,o*100]};st.hwb.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100,n=t+i,s;n>1&&(t/=n,i/=n);let o=Math.floor(6*e),a=1-i;s=6*e-o,(o&1)!==0&&(s=1-s);let l=t+s*(a-t),c,u,g;switch(o){default:case 6:case 0:c=a,u=l,g=t;break;case 1:c=l,u=a,g=t;break;case 2:c=t,u=a,g=l;break;case 3:c=t,u=l,g=a;break;case 4:c=l,u=t,g=a;break;case 5:c=a,u=t,g=l;break}return[c*255,u*255,g*255]};st.cmyk.rgb=function(r){let e=r[0]/100,t=r[1]/100,i=r[2]/100,n=r[3]/100,s=1-Math.min(1,e*(1-n)+n),o=1-Math.min(1,t*(1-n)+n),a=1-Math.min(1,i*(1-n)+n);return[s*255,o*255,a*255]};st.xyz.rgb=function(r){let e=r[0]/100,t=r[1]/100,i=r[2]/100,n,s,o;return n=e*3.2406+t*-1.5372+i*-.4986,s=e*-.9689+t*1.8758+i*.0415,o=e*.0557+t*-.204+i*1.057,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,n=Math.min(Math.max(0,n),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[n*255,s*255,o*255]};st.xyz.lab=function(r){let e=r[0],t=r[1],i=r[2];e/=95.047,t/=100,i/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,t=t>.008856?t**(1/3):7.787*t+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let n=116*t-16,s=500*(e-t),o=200*(t-i);return[n,s,o]};st.lab.xyz=function(r){let e=r[0],t=r[1],i=r[2],n,s,o;s=(e+16)/116,n=t/500+s,o=s-i/200;let a=s**3,l=n**3,c=o**3;return s=a>.008856?a:(s-16/116)/7.787,n=l>.008856?l:(n-16/116)/7.787,o=c>.008856?c:(o-16/116)/7.787,n*=95.047,s*=100,o*=108.883,[n,s,o]};st.lab.lch=function(r){let e=r[0],t=r[1],i=r[2],n;n=Math.atan2(i,t)*360/2/Math.PI,n<0&&(n+=360);let o=Math.sqrt(t*t+i*i);return[e,o,n]};st.lch.lab=function(r){let e=r[0],t=r[1],n=r[2]/360*2*Math.PI,s=t*Math.cos(n),o=t*Math.sin(n);return[e,s,o]};st.rgb.ansi16=function(r,e=null){let[t,i,n]=r,s=e===null?st.rgb.hsv(r)[2]:e;if(s=Math.round(s/50),s===0)return 30;let o=30+(Math.round(n/255)<<2|Math.round(i/255)<<1|Math.round(t/255));return s===2&&(o+=60),o};st.hsv.ansi16=function(r){return st.rgb.ansi16(st.hsv.rgb(r),r[2])};st.rgb.ansi256=function(r){let e=r[0],t=r[1],i=r[2];return e===t&&t===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(i/255*5)};st.ansi16.rgb=function(r){let e=r%10;if(e===0||e===7)return r>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let t=(~~(r>50)+1)*.5,i=(e&1)*t*255,n=(e>>1&1)*t*255,s=(e>>2&1)*t*255;return[i,n,s]};st.ansi256.rgb=function(r){if(r>=232){let s=(r-232)*10+8;return[s,s,s]}r-=16;let e,t=Math.floor(r/36)/5*255,i=Math.floor((e=r%36)/6)/5*255,n=e%6/5*255;return[t,i,n]};st.rgb.hex=function(r){let t=(((Math.round(r[0])&255)<<16)+((Math.round(r[1])&255)<<8)+(Math.round(r[2])&255)).toString(16).toUpperCase();return\"000000\".substring(t.length)+t};st.hex.rgb=function(r){let e=r.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let t=e[0];e[0].length===3&&(t=t.split(\"\").map(a=>a+a).join(\"\"));let i=parseInt(t,16),n=i>>16&255,s=i>>8&255,o=i&255;return[n,s,o]};st.rgb.hcg=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,n=Math.max(Math.max(e,t),i),s=Math.min(Math.min(e,t),i),o=n-s,a,l;return o<1?a=s/(1-o):a=0,o<=0?l=0:n===e?l=(t-i)/o%6:n===t?l=2+(i-e)/o:l=4+(e-t)/o,l/=6,l%=1,[l*360,o*100,a*100]};st.hsl.hcg=function(r){let e=r[1]/100,t=r[2]/100,i=t<.5?2*e*t:2*e*(1-t),n=0;return i<1&&(n=(t-.5*i)/(1-i)),[r[0],i*100,n*100]};st.hsv.hcg=function(r){let e=r[1]/100,t=r[2]/100,i=e*t,n=0;return i<1&&(n=(t-i)/(1-i)),[r[0],i*100,n*100]};st.hcg.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100;if(t===0)return[i*255,i*255,i*255];let n=[0,0,0],s=e%1*6,o=s%1,a=1-o,l=0;switch(Math.floor(s)){case 0:n[0]=1,n[1]=o,n[2]=0;break;case 1:n[0]=a,n[1]=1,n[2]=0;break;case 2:n[0]=0,n[1]=1,n[2]=o;break;case 3:n[0]=0,n[1]=a,n[2]=1;break;case 4:n[0]=o,n[1]=0,n[2]=1;break;default:n[0]=1,n[1]=0,n[2]=a}return l=(1-t)*i,[(t*n[0]+l)*255,(t*n[1]+l)*255,(t*n[2]+l)*255]};st.hcg.hsv=function(r){let e=r[1]/100,t=r[2]/100,i=e+t*(1-e),n=0;return i>0&&(n=e/i),[r[0],n*100,i*100]};st.hcg.hsl=function(r){let e=r[1]/100,i=r[2]/100*(1-e)+.5*e,n=0;return i>0&&i<.5?n=e/(2*i):i>=.5&&i<1&&(n=e/(2*(1-i))),[r[0],n*100,i*100]};st.hcg.hwb=function(r){let e=r[1]/100,t=r[2]/100,i=e+t*(1-e);return[r[0],(i-e)*100,(1-i)*100]};st.hwb.hcg=function(r){let e=r[1]/100,t=r[2]/100,i=1-t,n=i-e,s=0;return n<1&&(s=(i-n)/(1-n)),[r[0],n*100,s*100]};st.apple.rgb=function(r){return[r[0]/65535*255,r[1]/65535*255,r[2]/65535*255]};st.rgb.apple=function(r){return[r[0]/255*65535,r[1]/255*65535,r[2]/255*65535]};st.gray.rgb=function(r){return[r[0]/100*255,r[0]/100*255,r[0]/100*255]};st.gray.hsl=function(r){return[0,0,r[0]]};st.gray.hsv=st.gray.hsl;st.gray.hwb=function(r){return[0,100,r[0]]};st.gray.cmyk=function(r){return[0,0,0,r[0]]};st.gray.lab=function(r){return[r[0],0,0]};st.gray.hex=function(r){let e=Math.round(r[0]/100*255)&255,i=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return\"000000\".substring(i.length)+i};st.rgb.gray=function(r){return[(r[0]+r[1]+r[2])/3/255*100]}});var Jq=w((L$e,qq)=>{var By=_v();function bye(){let r={},e=Object.keys(By);for(let t=e.length,i=0;i<t;i++)r[e[i]]={distance:-1,parent:null};return r}function Sye(r){let e=bye(),t=[r];for(e[r].distance=0;t.length;){let i=t.pop(),n=Object.keys(By[i]);for(let s=n.length,o=0;o<s;o++){let a=n[o],l=e[a];l.distance===-1&&(l.distance=e[i].distance+1,l.parent=i,t.unshift(a))}}return e}function vye(r,e){return function(t){return e(r(t))}}function xye(r,e){let t=[e[r].parent,r],i=By[e[r].parent][r],n=e[r].parent;for(;e[n].parent;)t.unshift(e[n].parent),i=vye(By[e[n].parent][n],i),n=e[n].parent;return i.conversion=t,i}qq.exports=function(r){let e=Sye(r),t={},i=Object.keys(e);for(let n=i.length,s=0;s<n;s++){let o=i[s];e[o].parent!==null&&(t[o]=xye(o,e))}return t}});var zq=w((T$e,Wq)=>{var Zv=_v(),Pye=Jq(),_g={},Dye=Object.keys(Zv);function kye(r){let e=function(...t){let i=t[0];return i==null?i:(i.length>1&&(t=i),r(t))};return\"conversion\"in r&&(e.conversion=r.conversion),e}function Rye(r){let e=function(...t){let i=t[0];if(i==null)return i;i.length>1&&(t=i);let n=r(t);if(typeof n==\"object\")for(let s=n.length,o=0;o<s;o++)n[o]=Math.round(n[o]);return n};return\"conversion\"in r&&(e.conversion=r.conversion),e}Dye.forEach(r=>{_g[r]={},Object.defineProperty(_g[r],\"channels\",{value:Zv[r].channels}),Object.defineProperty(_g[r],\"labels\",{value:Zv[r].labels});let e=Pye(r);Object.keys(e).forEach(i=>{let n=e[i];_g[r][i]=Rye(n),_g[r][i].raw=kye(n)})});Wq.exports=_g});var eJ=w((O$e,$q)=>{\"use strict\";var Vq=(r,e)=>(...t)=>`\\x1B[${r(...t)+e}m`,Xq=(r,e)=>(...t)=>{let i=r(...t);return`\\x1B[${38+e};5;${i}m`},_q=(r,e)=>(...t)=>{let i=r(...t);return`\\x1B[${38+e};2;${i[0]};${i[1]};${i[2]}m`},Qy=r=>r,Zq=(r,e,t)=>[r,e,t],Zg=(r,e,t)=>{Object.defineProperty(r,e,{get:()=>{let i=t();return Object.defineProperty(r,e,{value:i,enumerable:!0,configurable:!0}),i},enumerable:!0,configurable:!0})},$v,$g=(r,e,t,i)=>{$v===void 0&&($v=zq());let n=i?10:0,s={};for(let[o,a]of Object.entries($v)){let l=o===\"ansi16\"?\"ansi\":o;o===e?s[l]=r(t,n):typeof a==\"object\"&&(s[l]=r(a[e],n))}return s};function Fye(){let r=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[t,i]of Object.entries(e)){for(let[n,s]of Object.entries(i))e[n]={open:`\\x1B[${s[0]}m`,close:`\\x1B[${s[1]}m`},i[n]=e[n],r.set(s[0],s[1]);Object.defineProperty(e,t,{value:i,enumerable:!1})}return Object.defineProperty(e,\"codes\",{value:r,enumerable:!1}),e.color.close=\"\\x1B[39m\",e.bgColor.close=\"\\x1B[49m\",Zg(e.color,\"ansi\",()=>$g(Vq,\"ansi16\",Qy,!1)),Zg(e.color,\"ansi256\",()=>$g(Xq,\"ansi256\",Qy,!1)),Zg(e.color,\"ansi16m\",()=>$g(_q,\"rgb\",Zq,!1)),Zg(e.bgColor,\"ansi\",()=>$g(Vq,\"ansi16\",Qy,!0)),Zg(e.bgColor,\"ansi256\",()=>$g(Xq,\"ansi256\",Qy,!0)),Zg(e.bgColor,\"ansi16m\",()=>$g(_q,\"rgb\",Zq,!0)),e}Object.defineProperty($q,\"exports\",{enumerable:!0,get:Fye})});var rJ=w((M$e,tJ)=>{\"use strict\";tJ.exports=(r,e=process.argv)=>{let t=r.startsWith(\"-\")?\"\":r.length===1?\"-\":\"--\",i=e.indexOf(t+r),n=e.indexOf(\"--\");return i!==-1&&(n===-1||i<n)}});var sJ=w((K$e,nJ)=>{\"use strict\";var Nye=J(\"os\"),iJ=J(\"tty\"),us=rJ(),{env:ai}=process,DA;us(\"no-color\")||us(\"no-colors\")||us(\"color=false\")||us(\"color=never\")?DA=0:(us(\"color\")||us(\"colors\")||us(\"color=true\")||us(\"color=always\"))&&(DA=1);\"FORCE_COLOR\"in ai&&(ai.FORCE_COLOR===\"true\"?DA=1:ai.FORCE_COLOR===\"false\"?DA=0:DA=ai.FORCE_COLOR.length===0?1:Math.min(parseInt(ai.FORCE_COLOR,10),3));function ex(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function tx(r,e){if(DA===0)return 0;if(us(\"color=16m\")||us(\"color=full\")||us(\"color=truecolor\"))return 3;if(us(\"color=256\"))return 2;if(r&&!e&&DA===void 0)return 0;let t=DA||0;if(ai.TERM===\"dumb\")return t;if(process.platform===\"win32\"){let i=Nye.release().split(\".\");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if(\"CI\"in ai)return[\"TRAVIS\",\"CIRCLECI\",\"APPVEYOR\",\"GITLAB_CI\"].some(i=>i in ai)||ai.CI_NAME===\"codeship\"?1:t;if(\"TEAMCITY_VERSION\"in ai)return/^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(ai.TEAMCITY_VERSION)?1:0;if(\"GITHUB_ACTIONS\"in ai)return 1;if(ai.COLORTERM===\"truecolor\")return 3;if(\"TERM_PROGRAM\"in ai){let i=parseInt((ai.TERM_PROGRAM_VERSION||\"\").split(\".\")[0],10);switch(ai.TERM_PROGRAM){case\"iTerm.app\":return i>=3?3:2;case\"Apple_Terminal\":return 2}}return/-256(color)?$/i.test(ai.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ai.TERM)||\"COLORTERM\"in ai?1:t}function Lye(r){let e=tx(r,r&&r.isTTY);return ex(e)}nJ.exports={supportsColor:Lye,stdout:ex(tx(!0,iJ.isatty(1))),stderr:ex(tx(!0,iJ.isatty(2)))}});var aJ=w((U$e,oJ)=>{\"use strict\";var Tye=(r,e,t)=>{let i=r.indexOf(e);if(i===-1)return r;let n=e.length,s=0,o=\"\";do o+=r.substr(s,i-s)+e+t,s=i+n,i=r.indexOf(e,s);while(i!==-1);return o+=r.substr(s),o},Oye=(r,e,t,i)=>{let n=0,s=\"\";do{let o=r[i-1]===\"\\r\";s+=r.substr(n,(o?i-1:i)-n)+e+(o?`\\r\n`:`\n`)+t,n=i+1,i=r.indexOf(`\n`,n)}while(i!==-1);return s+=r.substr(n),s};oJ.exports={stringReplaceAll:Tye,stringEncaseCRLFWithFirstIndex:Oye}});var gJ=w((H$e,uJ)=>{\"use strict\";var Mye=/(?:\\\\(u(?:[a-f\\d]{4}|\\{[a-f\\d]{1,6}\\})|x[a-f\\d]{2}|.))|(?:\\{(~)?(\\w+(?:\\([^)]*\\))?(?:\\.\\w+(?:\\([^)]*\\))?)*)(?:[ \\t]|(?=\\r?\\n)))|(\\})|((?:.|[\\r\\n\\f])+?)/gi,AJ=/(?:^|\\.)(\\w+)(?:\\(([^)]*)\\))?/g,Kye=/^(['\"])((?:\\\\.|(?!\\1)[^\\\\])*)\\1$/,Uye=/\\\\(u(?:[a-f\\d]{4}|\\{[a-f\\d]{1,6}\\})|x[a-f\\d]{2}|.)|([^\\\\])/gi,Hye=new Map([[\"n\",`\n`],[\"r\",\"\\r\"],[\"t\",\"\t\"],[\"b\",\"\\b\"],[\"f\",\"\\f\"],[\"v\",\"\\v\"],[\"0\",\"\\0\"],[\"\\\\\",\"\\\\\"],[\"e\",\"\\x1B\"],[\"a\",\"\\x07\"]]);function cJ(r){let e=r[0]===\"u\",t=r[1]===\"{\";return e&&!t&&r.length===5||r[0]===\"x\"&&r.length===3?String.fromCharCode(parseInt(r.slice(1),16)):e&&t?String.fromCodePoint(parseInt(r.slice(2,-1),16)):Hye.get(r)||r}function Gye(r,e){let t=[],i=e.trim().split(/\\s*,\\s*/g),n;for(let s of i){let o=Number(s);if(!Number.isNaN(o))t.push(o);else if(n=s.match(Kye))t.push(n[2].replace(Uye,(a,l,c)=>l?cJ(l):c));else throw new Error(`Invalid Chalk template style argument: ${s} (in style '${r}')`)}return t}function Yye(r){AJ.lastIndex=0;let e=[],t;for(;(t=AJ.exec(r))!==null;){let i=t[1];if(t[2]){let n=Gye(i,t[2]);e.push([i].concat(n))}else e.push([i])}return e}function lJ(r,e){let t={};for(let n of e)for(let s of n.styles)t[s[0]]=n.inverse?null:s.slice(1);let i=r;for(let[n,s]of Object.entries(t))if(!!Array.isArray(s)){if(!(n in i))throw new Error(`Unknown Chalk style: ${n}`);i=s.length>0?i[n](...s):i[n]}return i}uJ.exports=(r,e)=>{let t=[],i=[],n=[];if(e.replace(Mye,(s,o,a,l,c,u)=>{if(o)n.push(cJ(o));else if(l){let g=n.join(\"\");n=[],i.push(t.length===0?g:lJ(r,t)(g)),t.push({inverse:a,styles:Yye(l)})}else if(c){if(t.length===0)throw new Error(\"Found extraneous } in Chalk template literal\");i.push(lJ(r,t)(n.join(\"\"))),n=[],t.pop()}else n.push(u)}),i.push(n.join(\"\")),t.length>0){let s=`Chalk template literal is missing ${t.length} closing bracket${t.length===1?\"\":\"s\"} (\\`}\\`)`;throw new Error(s)}return i.join(\"\")}});var ax=w((G$e,dJ)=>{\"use strict\";var xd=eJ(),{stdout:ix,stderr:nx}=sJ(),{stringReplaceAll:jye,stringEncaseCRLFWithFirstIndex:qye}=aJ(),fJ=[\"ansi\",\"ansi\",\"ansi256\",\"ansi16m\"],ef=Object.create(null),Jye=(r,e={})=>{if(e.level>3||e.level<0)throw new Error(\"The `level` option should be an integer from 0 to 3\");let t=ix?ix.level:0;r.level=e.level===void 0?t:e.level},sx=class{constructor(e){return hJ(e)}},hJ=r=>{let e={};return Jye(e,r),e.template=(...t)=>Vye(e.template,...t),Object.setPrototypeOf(e,by.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error(\"`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.\")},e.template.Instance=sx,e.template};function by(r){return hJ(r)}for(let[r,e]of Object.entries(xd))ef[r]={get(){let t=Sy(this,ox(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,r,{value:t}),t}};ef.visible={get(){let r=Sy(this,this._styler,!0);return Object.defineProperty(this,\"visible\",{value:r}),r}};var pJ=[\"rgb\",\"hex\",\"keyword\",\"hsl\",\"hsv\",\"hwb\",\"ansi\",\"ansi256\"];for(let r of pJ)ef[r]={get(){let{level:e}=this;return function(...t){let i=ox(xd.color[fJ[e]][r](...t),xd.color.close,this._styler);return Sy(this,i,this._isEmpty)}}};for(let r of pJ){let e=\"bg\"+r[0].toUpperCase()+r.slice(1);ef[e]={get(){let{level:t}=this;return function(...i){let n=ox(xd.bgColor[fJ[t]][r](...i),xd.bgColor.close,this._styler);return Sy(this,n,this._isEmpty)}}}}var Wye=Object.defineProperties(()=>{},{...ef,level:{enumerable:!0,get(){return this._generator.level},set(r){this._generator.level=r}}}),ox=(r,e,t)=>{let i,n;return t===void 0?(i=r,n=e):(i=t.openAll+r,n=e+t.closeAll),{open:r,close:e,openAll:i,closeAll:n,parent:t}},Sy=(r,e,t)=>{let i=(...n)=>zye(i,n.length===1?\"\"+n[0]:n.join(\" \"));return i.__proto__=Wye,i._generator=r,i._styler=e,i._isEmpty=t,i},zye=(r,e)=>{if(r.level<=0||!e)return r._isEmpty?\"\":e;let t=r._styler;if(t===void 0)return e;let{openAll:i,closeAll:n}=t;if(e.indexOf(\"\\x1B\")!==-1)for(;t!==void 0;)e=jye(e,t.close,t.open),t=t.parent;let s=e.indexOf(`\n`);return s!==-1&&(e=qye(e,n,i,s)),i+e+n},rx,Vye=(r,...e)=>{let[t]=e;if(!Array.isArray(t))return e.join(\" \");let i=e.slice(1),n=[t.raw[0]];for(let s=1;s<t.length;s++)n.push(String(i[s-1]).replace(/[{}\\\\]/g,\"\\\\$&\"),String(t.raw[s]));return rx===void 0&&(rx=gJ()),rx(r,n.join(\"\"))};Object.defineProperties(by.prototype,ef);var Pd=by();Pd.supportsColor=ix;Pd.stderr=by({level:nx?nx.level:0});Pd.stderr.supportsColor=nx;Pd.Level={None:0,Basic:1,Ansi256:2,TrueColor:3,0:\"None\",1:\"Basic\",2:\"Ansi256\",3:\"TrueColor\"};dJ.exports=Pd});var vy=w(gs=>{\"use strict\";gs.isInteger=r=>typeof r==\"number\"?Number.isInteger(r):typeof r==\"string\"&&r.trim()!==\"\"?Number.isInteger(Number(r)):!1;gs.find=(r,e)=>r.nodes.find(t=>t.type===e);gs.exceedsLimit=(r,e,t=1,i)=>i===!1||!gs.isInteger(r)||!gs.isInteger(e)?!1:(Number(e)-Number(r))/Number(t)>=i;gs.escapeNode=(r,e=0,t)=>{let i=r.nodes[e];!i||(t&&i.type===t||i.type===\"open\"||i.type===\"close\")&&i.escaped!==!0&&(i.value=\"\\\\\"+i.value,i.escaped=!0)};gs.encloseBrace=r=>r.type!==\"brace\"?!1:r.commas>>0+r.ranges>>0===0?(r.invalid=!0,!0):!1;gs.isInvalidBrace=r=>r.type!==\"brace\"?!1:r.invalid===!0||r.dollar?!0:r.commas>>0+r.ranges>>0===0||r.open!==!0||r.close!==!0?(r.invalid=!0,!0):!1;gs.isOpenOrClose=r=>r.type===\"open\"||r.type===\"close\"?!0:r.open===!0||r.close===!0;gs.reduce=r=>r.reduce((e,t)=>(t.type===\"text\"&&e.push(t.value),t.type===\"range\"&&(t.type=\"text\"),e),[]);gs.flatten=(...r)=>{let e=[],t=i=>{for(let n=0;n<i.length;n++){let s=i[n];Array.isArray(s)?t(s,e):s!==void 0&&e.push(s)}return e};return t(r),e}});var xy=w((j$e,mJ)=>{\"use strict\";var CJ=vy();mJ.exports=(r,e={})=>{let t=(i,n={})=>{let s=e.escapeInvalid&&CJ.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a=\"\";if(i.value)return(s||o)&&CJ.isOpenOrClose(i)?\"\\\\\"+i.value:i.value;if(i.value)return i.value;if(i.nodes)for(let l of i.nodes)a+=t(l);return a};return t(r)}});var IJ=w((q$e,EJ)=>{\"use strict\";EJ.exports=function(r){return typeof r==\"number\"?r-r===0:typeof r==\"string\"&&r.trim()!==\"\"?Number.isFinite?Number.isFinite(+r):isFinite(+r):!1}});var PJ=w((J$e,xJ)=>{\"use strict\";var yJ=IJ(),ac=(r,e,t)=>{if(yJ(r)===!1)throw new TypeError(\"toRegexRange: expected the first argument to be a number\");if(e===void 0||r===e)return String(r);if(yJ(e)===!1)throw new TypeError(\"toRegexRange: expected the second argument to be a number.\");let i={relaxZeros:!0,...t};typeof i.strictZeros==\"boolean\"&&(i.relaxZeros=i.strictZeros===!1);let n=String(i.relaxZeros),s=String(i.shorthand),o=String(i.capture),a=String(i.wrap),l=r+\":\"+e+\"=\"+n+s+o+a;if(ac.cache.hasOwnProperty(l))return ac.cache[l].result;let c=Math.min(r,e),u=Math.max(r,e);if(Math.abs(c-u)===1){let C=r+\"|\"+e;return i.capture?`(${C})`:i.wrap===!1?C:`(?:${C})`}let g=vJ(r)||vJ(e),f={min:r,max:e,a:c,b:u},h=[],p=[];if(g&&(f.isPadded=g,f.maxLen=String(f.max).length),c<0){let C=u<0?Math.abs(u):1;p=wJ(C,Math.abs(c),f,i),c=f.a=0}return u>=0&&(h=wJ(c,u,f,i)),f.negatives=p,f.positives=h,f.result=Xye(p,h,i),i.capture===!0?f.result=`(${f.result})`:i.wrap!==!1&&h.length+p.length>1&&(f.result=`(?:${f.result})`),ac.cache[l]=f,f.result};function Xye(r,e,t){let i=Ax(r,e,\"-\",!1,t)||[],n=Ax(e,r,\"\",!1,t)||[],s=Ax(r,e,\"-?\",!0,t)||[];return i.concat(s).concat(n).join(\"|\")}function _ye(r,e){let t=1,i=1,n=QJ(r,t),s=new Set([e]);for(;r<=n&&n<=e;)s.add(n),t+=1,n=QJ(r,t);for(n=bJ(e+1,i)-1;r<n&&n<=e;)s.add(n),i+=1,n=bJ(e+1,i)-1;return s=[...s],s.sort(ewe),s}function Zye(r,e,t){if(r===e)return{pattern:r,count:[],digits:0};let i=$ye(r,e),n=i.length,s=\"\",o=0;for(let a=0;a<n;a++){let[l,c]=i[a];l===c?s+=l:l!==\"0\"||c!==\"9\"?s+=twe(l,c,t):o++}return o&&(s+=t.shorthand===!0?\"\\\\d\":\"[0-9]\"),{pattern:s,count:[o],digits:n}}function wJ(r,e,t,i){let n=_ye(r,e),s=[],o=r,a;for(let l=0;l<n.length;l++){let c=n[l],u=Zye(String(o),String(c),i),g=\"\";if(!t.isPadded&&a&&a.pattern===u.pattern){a.count.length>1&&a.count.pop(),a.count.push(u.count[0]),a.string=a.pattern+SJ(a.count),o=c+1;continue}t.isPadded&&(g=rwe(c,t,i)),u.string=g+u.pattern+SJ(u.count),s.push(u),o=c+1,a=u}return s}function Ax(r,e,t,i,n){let s=[];for(let o of r){let{string:a}=o;!i&&!BJ(e,\"string\",a)&&s.push(t+a),i&&BJ(e,\"string\",a)&&s.push(t+a)}return s}function $ye(r,e){let t=[];for(let i=0;i<r.length;i++)t.push([r[i],e[i]]);return t}function ewe(r,e){return r>e?1:e>r?-1:0}function BJ(r,e,t){return r.some(i=>i[e]===t)}function QJ(r,e){return Number(String(r).slice(0,-e)+\"9\".repeat(e))}function bJ(r,e){return r-r%Math.pow(10,e)}function SJ(r){let[e=0,t=\"\"]=r;return t||e>1?`{${e+(t?\",\"+t:\"\")}}`:\"\"}function twe(r,e,t){return`[${r}${e-r===1?\"\":\"-\"}${e}]`}function vJ(r){return/^-?(0+)\\d/.test(r)}function rwe(r,e,t){if(!e.isPadded)return r;let i=Math.abs(e.maxLen-String(r).length),n=t.relaxZeros!==!1;switch(i){case 0:return\"\";case 1:return n?\"0?\":\"0\";case 2:return n?\"0{0,2}\":\"00\";default:return n?`0{0,${i}}`:`0{${i}}`}}ac.cache={};ac.clearCache=()=>ac.cache={};xJ.exports=ac});var ux=w((W$e,OJ)=>{\"use strict\";var iwe=J(\"util\"),RJ=PJ(),DJ=r=>r!==null&&typeof r==\"object\"&&!Array.isArray(r),nwe=r=>e=>r===!0?Number(e):String(e),lx=r=>typeof r==\"number\"||typeof r==\"string\"&&r!==\"\",Dd=r=>Number.isInteger(+r),cx=r=>{let e=`${r}`,t=-1;if(e[0]===\"-\"&&(e=e.slice(1)),e===\"0\")return!1;for(;e[++t]===\"0\";);return t>0},swe=(r,e,t)=>typeof r==\"string\"||typeof e==\"string\"?!0:t.stringify===!0,owe=(r,e,t)=>{if(e>0){let i=r[0]===\"-\"?\"-\":\"\";i&&(r=r.slice(1)),r=i+r.padStart(i?e-1:e,\"0\")}return t===!1?String(r):r},kJ=(r,e)=>{let t=r[0]===\"-\"?\"-\":\"\";for(t&&(r=r.slice(1),e--);r.length<e;)r=\"0\"+r;return t?\"-\"+r:r},awe=(r,e)=>{r.negatives.sort((o,a)=>o<a?-1:o>a?1:0),r.positives.sort((o,a)=>o<a?-1:o>a?1:0);let t=e.capture?\"\":\"?:\",i=\"\",n=\"\",s;return r.positives.length&&(i=r.positives.join(\"|\")),r.negatives.length&&(n=`-(${t}${r.negatives.join(\"|\")})`),i&&n?s=`${i}|${n}`:s=i||n,e.wrap?`(${t}${s})`:s},FJ=(r,e,t,i)=>{if(t)return RJ(r,e,{wrap:!1,...i});let n=String.fromCharCode(r);if(r===e)return n;let s=String.fromCharCode(e);return`[${n}-${s}]`},NJ=(r,e,t)=>{if(Array.isArray(r)){let i=t.wrap===!0,n=t.capture?\"\":\"?:\";return i?`(${n}${r.join(\"|\")})`:r.join(\"|\")}return RJ(r,e,t)},LJ=(...r)=>new RangeError(\"Invalid range arguments: \"+iwe.inspect(...r)),TJ=(r,e,t)=>{if(t.strictRanges===!0)throw LJ([r,e]);return[]},Awe=(r,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step \"${r}\" to be a number`);return[]},lwe=(r,e,t=1,i={})=>{let n=Number(r),s=Number(e);if(!Number.isInteger(n)||!Number.isInteger(s)){if(i.strictRanges===!0)throw LJ([r,e]);return[]}n===0&&(n=0),s===0&&(s=0);let o=n>s,a=String(r),l=String(e),c=String(t);t=Math.max(Math.abs(t),1);let u=cx(a)||cx(l)||cx(c),g=u?Math.max(a.length,l.length,c.length):0,f=u===!1&&swe(r,e,i)===!1,h=i.transform||nwe(f);if(i.toRegex&&t===1)return FJ(kJ(r,g),kJ(e,g),!0,i);let p={negatives:[],positives:[]},C=v=>p[v<0?\"negatives\":\"positives\"].push(Math.abs(v)),y=[],B=0;for(;o?n>=s:n<=s;)i.toRegex===!0&&t>1?C(n):y.push(owe(h(n,B),g,f)),n=o?n-t:n+t,B++;return i.toRegex===!0?t>1?awe(p,i):NJ(y,null,{wrap:!1,...i}):y},cwe=(r,e,t=1,i={})=>{if(!Dd(r)&&r.length>1||!Dd(e)&&e.length>1)return TJ(r,e,i);let n=i.transform||(f=>String.fromCharCode(f)),s=`${r}`.charCodeAt(0),o=`${e}`.charCodeAt(0),a=s>o,l=Math.min(s,o),c=Math.max(s,o);if(i.toRegex&&t===1)return FJ(l,c,!1,i);let u=[],g=0;for(;a?s>=o:s<=o;)u.push(n(s,g)),s=a?s-t:s+t,g++;return i.toRegex===!0?NJ(u,null,{wrap:!1,options:i}):u},Py=(r,e,t,i={})=>{if(e==null&&lx(r))return[r];if(!lx(r)||!lx(e))return TJ(r,e,i);if(typeof t==\"function\")return Py(r,e,1,{transform:t});if(DJ(t))return Py(r,e,0,t);let n={...i};return n.capture===!0&&(n.wrap=!0),t=t||n.step||1,Dd(t)?Dd(r)&&Dd(e)?lwe(r,e,t,n):cwe(r,e,Math.max(Math.abs(t),1),n):t!=null&&!DJ(t)?Awe(t,n):Py(r,e,1,t)};OJ.exports=Py});var UJ=w((z$e,KJ)=>{\"use strict\";var uwe=ux(),MJ=vy(),gwe=(r,e={})=>{let t=(i,n={})=>{let s=MJ.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a=s===!0||o===!0,l=e.escapeInvalid===!0?\"\\\\\":\"\",c=\"\";if(i.isOpen===!0||i.isClose===!0)return l+i.value;if(i.type===\"open\")return a?l+i.value:\"(\";if(i.type===\"close\")return a?l+i.value:\")\";if(i.type===\"comma\")return i.prev.type===\"comma\"?\"\":a?i.value:\"|\";if(i.value)return i.value;if(i.nodes&&i.ranges>0){let u=MJ.reduce(i.nodes),g=uwe(...u,{...e,wrap:!1,toRegex:!0});if(g.length!==0)return u.length>1&&g.length>1?`(${g})`:g}if(i.nodes)for(let u of i.nodes)c+=t(u,i);return c};return t(r)};KJ.exports=gwe});var YJ=w((V$e,GJ)=>{\"use strict\";var fwe=ux(),HJ=xy(),tf=vy(),Ac=(r=\"\",e=\"\",t=!1)=>{let i=[];if(r=[].concat(r),e=[].concat(e),!e.length)return r;if(!r.length)return t?tf.flatten(e).map(n=>`{${n}}`):e;for(let n of r)if(Array.isArray(n))for(let s of n)i.push(Ac(s,e,t));else for(let s of e)t===!0&&typeof s==\"string\"&&(s=`{${s}}`),i.push(Array.isArray(s)?Ac(n,s,t):n+s);return tf.flatten(i)},hwe=(r,e={})=>{let t=e.rangeLimit===void 0?1e3:e.rangeLimit,i=(n,s={})=>{n.queue=[];let o=s,a=s.queue;for(;o.type!==\"brace\"&&o.type!==\"root\"&&o.parent;)o=o.parent,a=o.queue;if(n.invalid||n.dollar){a.push(Ac(a.pop(),HJ(n,e)));return}if(n.type===\"brace\"&&n.invalid!==!0&&n.nodes.length===2){a.push(Ac(a.pop(),[\"{}\"]));return}if(n.nodes&&n.ranges>0){let g=tf.reduce(n.nodes);if(tf.exceedsLimit(...g,e.step,t))throw new RangeError(\"expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.\");let f=fwe(...g,e);f.length===0&&(f=HJ(n,e)),a.push(Ac(a.pop(),f)),n.nodes=[];return}let l=tf.encloseBrace(n),c=n.queue,u=n;for(;u.type!==\"brace\"&&u.type!==\"root\"&&u.parent;)u=u.parent,c=u.queue;for(let g=0;g<n.nodes.length;g++){let f=n.nodes[g];if(f.type===\"comma\"&&n.type===\"brace\"){g===1&&c.push(\"\"),c.push(\"\");continue}if(f.type===\"close\"){a.push(Ac(a.pop(),c,l));continue}if(f.value&&f.type!==\"open\"){c.push(Ac(c.pop(),f.value));continue}f.nodes&&i(f,n)}return c};return tf.flatten(i(r))};GJ.exports=hwe});var qJ=w((X$e,jJ)=>{\"use strict\";jJ.exports={MAX_LENGTH:1024*64,CHAR_0:\"0\",CHAR_9:\"9\",CHAR_UPPERCASE_A:\"A\",CHAR_LOWERCASE_A:\"a\",CHAR_UPPERCASE_Z:\"Z\",CHAR_LOWERCASE_Z:\"z\",CHAR_LEFT_PARENTHESES:\"(\",CHAR_RIGHT_PARENTHESES:\")\",CHAR_ASTERISK:\"*\",CHAR_AMPERSAND:\"&\",CHAR_AT:\"@\",CHAR_BACKSLASH:\"\\\\\",CHAR_BACKTICK:\"`\",CHAR_CARRIAGE_RETURN:\"\\r\",CHAR_CIRCUMFLEX_ACCENT:\"^\",CHAR_COLON:\":\",CHAR_COMMA:\",\",CHAR_DOLLAR:\"$\",CHAR_DOT:\".\",CHAR_DOUBLE_QUOTE:'\"',CHAR_EQUAL:\"=\",CHAR_EXCLAMATION_MARK:\"!\",CHAR_FORM_FEED:\"\\f\",CHAR_FORWARD_SLASH:\"/\",CHAR_HASH:\"#\",CHAR_HYPHEN_MINUS:\"-\",CHAR_LEFT_ANGLE_BRACKET:\"<\",CHAR_LEFT_CURLY_BRACE:\"{\",CHAR_LEFT_SQUARE_BRACKET:\"[\",CHAR_LINE_FEED:`\n`,CHAR_NO_BREAK_SPACE:\"\\xA0\",CHAR_PERCENT:\"%\",CHAR_PLUS:\"+\",CHAR_QUESTION_MARK:\"?\",CHAR_RIGHT_ANGLE_BRACKET:\">\",CHAR_RIGHT_CURLY_BRACE:\"}\",CHAR_RIGHT_SQUARE_BRACKET:\"]\",CHAR_SEMICOLON:\";\",CHAR_SINGLE_QUOTE:\"'\",CHAR_SPACE:\" \",CHAR_TAB:\"\t\",CHAR_UNDERSCORE:\"_\",CHAR_VERTICAL_LINE:\"|\",CHAR_ZERO_WIDTH_NOBREAK_SPACE:\"\\uFEFF\"}});var XJ=w((_$e,VJ)=>{\"use strict\";var pwe=xy(),{MAX_LENGTH:JJ,CHAR_BACKSLASH:gx,CHAR_BACKTICK:dwe,CHAR_COMMA:Cwe,CHAR_DOT:mwe,CHAR_LEFT_PARENTHESES:Ewe,CHAR_RIGHT_PARENTHESES:Iwe,CHAR_LEFT_CURLY_BRACE:ywe,CHAR_RIGHT_CURLY_BRACE:wwe,CHAR_LEFT_SQUARE_BRACKET:WJ,CHAR_RIGHT_SQUARE_BRACKET:zJ,CHAR_DOUBLE_QUOTE:Bwe,CHAR_SINGLE_QUOTE:Qwe,CHAR_NO_BREAK_SPACE:bwe,CHAR_ZERO_WIDTH_NOBREAK_SPACE:Swe}=qJ(),vwe=(r,e={})=>{if(typeof r!=\"string\")throw new TypeError(\"Expected a string\");let t=e||{},i=typeof t.maxLength==\"number\"?Math.min(JJ,t.maxLength):JJ;if(r.length>i)throw new SyntaxError(`Input length (${r.length}), exceeds max characters (${i})`);let n={type:\"root\",input:r,nodes:[]},s=[n],o=n,a=n,l=0,c=r.length,u=0,g=0,f,h={},p=()=>r[u++],C=y=>{if(y.type===\"text\"&&a.type===\"dot\"&&(a.type=\"text\"),a&&a.type===\"text\"&&y.type===\"text\"){a.value+=y.value;return}return o.nodes.push(y),y.parent=o,y.prev=a,a=y,y};for(C({type:\"bos\"});u<c;)if(o=s[s.length-1],f=p(),!(f===Swe||f===bwe)){if(f===gx){C({type:\"text\",value:(e.keepEscaping?f:\"\")+p()});continue}if(f===zJ){C({type:\"text\",value:\"\\\\\"+f});continue}if(f===WJ){l++;let y=!0,B;for(;u<c&&(B=p());){if(f+=B,B===WJ){l++;continue}if(B===gx){f+=p();continue}if(B===zJ&&(l--,l===0))break}C({type:\"text\",value:f});continue}if(f===Ewe){o=C({type:\"paren\",nodes:[]}),s.push(o),C({type:\"text\",value:f});continue}if(f===Iwe){if(o.type!==\"paren\"){C({type:\"text\",value:f});continue}o=s.pop(),C({type:\"text\",value:f}),o=s[s.length-1];continue}if(f===Bwe||f===Qwe||f===dwe){let y=f,B;for(e.keepQuotes!==!0&&(f=\"\");u<c&&(B=p());){if(B===gx){f+=B+p();continue}if(B===y){e.keepQuotes===!0&&(f+=B);break}f+=B}C({type:\"text\",value:f});continue}if(f===ywe){g++;let y=a.value&&a.value.slice(-1)===\"$\"||o.dollar===!0;o=C({type:\"brace\",open:!0,close:!1,dollar:y,depth:g,commas:0,ranges:0,nodes:[]}),s.push(o),C({type:\"open\",value:f});continue}if(f===wwe){if(o.type!==\"brace\"){C({type:\"text\",value:f});continue}let y=\"close\";o=s.pop(),o.close=!0,C({type:y,value:f}),g--,o=s[s.length-1];continue}if(f===Cwe&&g>0){if(o.ranges>0){o.ranges=0;let y=o.nodes.shift();o.nodes=[y,{type:\"text\",value:pwe(o)}]}C({type:\"comma\",value:f}),o.commas++;continue}if(f===mwe&&g>0&&o.commas===0){let y=o.nodes;if(g===0||y.length===0){C({type:\"text\",value:f});continue}if(a.type===\"dot\"){if(o.range=[],a.value+=f,a.type=\"range\",o.nodes.length!==3&&o.nodes.length!==5){o.invalid=!0,o.ranges=0,a.type=\"text\";continue}o.ranges++,o.args=[];continue}if(a.type===\"range\"){y.pop();let B=y[y.length-1];B.value+=a.value+f,a=B,o.ranges--;continue}C({type:\"dot\",value:f});continue}C({type:\"text\",value:f})}do if(o=s.pop(),o.type!==\"root\"){o.nodes.forEach(v=>{v.nodes||(v.type===\"open\"&&(v.isOpen=!0),v.type===\"close\"&&(v.isClose=!0),v.nodes||(v.type=\"text\"),v.invalid=!0)});let y=s[s.length-1],B=y.nodes.indexOf(o);y.nodes.splice(B,1,...o.nodes)}while(s.length>0);return C({type:\"eos\"}),n};VJ.exports=vwe});var $J=w((Z$e,ZJ)=>{\"use strict\";var _J=xy(),xwe=UJ(),Pwe=YJ(),Dwe=XJ(),Yn=(r,e={})=>{let t=[];if(Array.isArray(r))for(let i of r){let n=Yn.create(i,e);Array.isArray(n)?t.push(...n):t.push(n)}else t=[].concat(Yn.create(r,e));return e&&e.expand===!0&&e.nodupes===!0&&(t=[...new Set(t)]),t};Yn.parse=(r,e={})=>Dwe(r,e);Yn.stringify=(r,e={})=>_J(typeof r==\"string\"?Yn.parse(r,e):r,e);Yn.compile=(r,e={})=>(typeof r==\"string\"&&(r=Yn.parse(r,e)),xwe(r,e));Yn.expand=(r,e={})=>{typeof r==\"string\"&&(r=Yn.parse(r,e));let t=Pwe(r,e);return e.noempty===!0&&(t=t.filter(Boolean)),e.nodupes===!0&&(t=[...new Set(t)]),t};Yn.create=(r,e={})=>r===\"\"||r.length<3?[r]:e.expand!==!0?Yn.compile(r,e):Yn.expand(r,e);ZJ.exports=Yn});var kd=w(($$e,nW)=>{\"use strict\";var kwe=J(\"path\"),No=\"\\\\\\\\/\",eW=`[^${No}]`,va=\"\\\\.\",Rwe=\"\\\\+\",Fwe=\"\\\\?\",Dy=\"\\\\/\",Nwe=\"(?=.)\",tW=\"[^/]\",fx=`(?:${Dy}|$)`,rW=`(?:^|${Dy})`,hx=`${va}{1,2}${fx}`,Lwe=`(?!${va})`,Twe=`(?!${rW}${hx})`,Owe=`(?!${va}{0,1}${fx})`,Mwe=`(?!${hx})`,Kwe=`[^.${Dy}]`,Uwe=`${tW}*?`,iW={DOT_LITERAL:va,PLUS_LITERAL:Rwe,QMARK_LITERAL:Fwe,SLASH_LITERAL:Dy,ONE_CHAR:Nwe,QMARK:tW,END_ANCHOR:fx,DOTS_SLASH:hx,NO_DOT:Lwe,NO_DOTS:Twe,NO_DOT_SLASH:Owe,NO_DOTS_SLASH:Mwe,QMARK_NO_DOT:Kwe,STAR:Uwe,START_ANCHOR:rW},Hwe={...iW,SLASH_LITERAL:`[${No}]`,QMARK:eW,STAR:`${eW}*?`,DOTS_SLASH:`${va}{1,2}(?:[${No}]|$)`,NO_DOT:`(?!${va})`,NO_DOTS:`(?!(?:^|[${No}])${va}{1,2}(?:[${No}]|$))`,NO_DOT_SLASH:`(?!${va}{0,1}(?:[${No}]|$))`,NO_DOTS_SLASH:`(?!${va}{1,2}(?:[${No}]|$))`,QMARK_NO_DOT:`[^.${No}]`,START_ANCHOR:`(?:^|[${No}])`,END_ANCHOR:`(?:[${No}]|$)`},Gwe={alnum:\"a-zA-Z0-9\",alpha:\"a-zA-Z\",ascii:\"\\\\x00-\\\\x7F\",blank:\" \\\\t\",cntrl:\"\\\\x00-\\\\x1F\\\\x7F\",digit:\"0-9\",graph:\"\\\\x21-\\\\x7E\",lower:\"a-z\",print:\"\\\\x20-\\\\x7E \",punct:\"\\\\-!\\\"#$%&'()\\\\*+,./:;<=>?@[\\\\]^_`{|}~\",space:\" \\\\t\\\\r\\\\n\\\\v\\\\f\",upper:\"A-Z\",word:\"A-Za-z0-9_\",xdigit:\"A-Fa-f0-9\"};nW.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:Gwe,REGEX_BACKSLASH:/\\\\(?![*+?^${}(|)[\\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\\].,$*+?^{}()|\\\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\\\?)((\\W)(\\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\\[.*?[^\\\\]\\]|\\\\(?=.))/g,REPLACEMENTS:{\"***\":\"*\",\"**/**\":\"**\",\"**/**/**\":\"**\"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:kwe.sep,extglobChars(r){return{\"!\":{type:\"negate\",open:\"(?:(?!(?:\",close:`))${r.STAR})`},\"?\":{type:\"qmark\",open:\"(?:\",close:\")?\"},\"+\":{type:\"plus\",open:\"(?:\",close:\")+\"},\"*\":{type:\"star\",open:\"(?:\",close:\")*\"},\"@\":{type:\"at\",open:\"(?:\",close:\")\"}}},globChars(r){return r===!0?Hwe:iW}}});var Rd=w(In=>{\"use strict\";var Ywe=J(\"path\"),jwe=process.platform===\"win32\",{REGEX_BACKSLASH:qwe,REGEX_REMOVE_BACKSLASH:Jwe,REGEX_SPECIAL_CHARS:Wwe,REGEX_SPECIAL_CHARS_GLOBAL:zwe}=kd();In.isObject=r=>r!==null&&typeof r==\"object\"&&!Array.isArray(r);In.hasRegexChars=r=>Wwe.test(r);In.isRegexChar=r=>r.length===1&&In.hasRegexChars(r);In.escapeRegex=r=>r.replace(zwe,\"\\\\$1\");In.toPosixSlashes=r=>r.replace(qwe,\"/\");In.removeBackslashes=r=>r.replace(Jwe,e=>e===\"\\\\\"?\"\":e);In.supportsLookbehinds=()=>{let r=process.version.slice(1).split(\".\").map(Number);return r.length===3&&r[0]>=9||r[0]===8&&r[1]>=10};In.isWindows=r=>r&&typeof r.windows==\"boolean\"?r.windows:jwe===!0||Ywe.sep===\"\\\\\";In.escapeLast=(r,e,t)=>{let i=r.lastIndexOf(e,t);return i===-1?r:r[i-1]===\"\\\\\"?In.escapeLast(r,e,i-1):`${r.slice(0,i)}\\\\${r.slice(i)}`};In.removePrefix=(r,e={})=>{let t=r;return t.startsWith(\"./\")&&(t=t.slice(2),e.prefix=\"./\"),t};In.wrapOutput=(r,e={},t={})=>{let i=t.contains?\"\":\"^\",n=t.contains?\"\":\"$\",s=`${i}(?:${r})${n}`;return e.negated===!0&&(s=`(?:^(?!${s}).*$)`),s}});var gW=w((tet,uW)=>{\"use strict\";var sW=Rd(),{CHAR_ASTERISK:px,CHAR_AT:Vwe,CHAR_BACKWARD_SLASH:Fd,CHAR_COMMA:Xwe,CHAR_DOT:dx,CHAR_EXCLAMATION_MARK:Cx,CHAR_FORWARD_SLASH:cW,CHAR_LEFT_CURLY_BRACE:mx,CHAR_LEFT_PARENTHESES:Ex,CHAR_LEFT_SQUARE_BRACKET:_we,CHAR_PLUS:Zwe,CHAR_QUESTION_MARK:oW,CHAR_RIGHT_CURLY_BRACE:$we,CHAR_RIGHT_PARENTHESES:aW,CHAR_RIGHT_SQUARE_BRACKET:eBe}=kd(),AW=r=>r===cW||r===Fd,lW=r=>{r.isPrefix!==!0&&(r.depth=r.isGlobstar?1/0:1)},tBe=(r,e)=>{let t=e||{},i=r.length-1,n=t.parts===!0||t.scanToEnd===!0,s=[],o=[],a=[],l=r,c=-1,u=0,g=0,f=!1,h=!1,p=!1,C=!1,y=!1,B=!1,v=!1,D=!1,L=!1,H=!1,j=0,$,V,W={value:\"\",depth:0,isGlob:!1},Z=()=>c>=i,A=()=>l.charCodeAt(c+1),ae=()=>($=V,l.charCodeAt(++c));for(;c<i;){V=ae();let ue;if(V===Fd){v=W.backslashes=!0,V=ae(),V===mx&&(B=!0);continue}if(B===!0||V===mx){for(j++;Z()!==!0&&(V=ae());){if(V===Fd){v=W.backslashes=!0,ae();continue}if(V===mx){j++;continue}if(B!==!0&&V===dx&&(V=ae())===dx){if(f=W.isBrace=!0,p=W.isGlob=!0,H=!0,n===!0)continue;break}if(B!==!0&&V===Xwe){if(f=W.isBrace=!0,p=W.isGlob=!0,H=!0,n===!0)continue;break}if(V===$we&&(j--,j===0)){B=!1,f=W.isBrace=!0,H=!0;break}}if(n===!0)continue;break}if(V===cW){if(s.push(c),o.push(W),W={value:\"\",depth:0,isGlob:!1},H===!0)continue;if($===dx&&c===u+1){u+=2;continue}g=c+1;continue}if(t.noext!==!0&&(V===Zwe||V===Vwe||V===px||V===oW||V===Cx)===!0&&A()===Ex){if(p=W.isGlob=!0,C=W.isExtglob=!0,H=!0,V===Cx&&c===u&&(L=!0),n===!0){for(;Z()!==!0&&(V=ae());){if(V===Fd){v=W.backslashes=!0,V=ae();continue}if(V===aW){p=W.isGlob=!0,H=!0;break}}continue}break}if(V===px){if($===px&&(y=W.isGlobstar=!0),p=W.isGlob=!0,H=!0,n===!0)continue;break}if(V===oW){if(p=W.isGlob=!0,H=!0,n===!0)continue;break}if(V===_we){for(;Z()!==!0&&(ue=ae());){if(ue===Fd){v=W.backslashes=!0,ae();continue}if(ue===eBe){h=W.isBracket=!0,p=W.isGlob=!0,H=!0;break}}if(n===!0)continue;break}if(t.nonegate!==!0&&V===Cx&&c===u){D=W.negated=!0,u++;continue}if(t.noparen!==!0&&V===Ex){if(p=W.isGlob=!0,n===!0){for(;Z()!==!0&&(V=ae());){if(V===Ex){v=W.backslashes=!0,V=ae();continue}if(V===aW){H=!0;break}}continue}break}if(p===!0){if(H=!0,n===!0)continue;break}}t.noext===!0&&(C=!1,p=!1);let ge=l,re=\"\",O=\"\";u>0&&(re=l.slice(0,u),l=l.slice(u),g-=u),ge&&p===!0&&g>0?(ge=l.slice(0,g),O=l.slice(g)):p===!0?(ge=\"\",O=l):ge=l,ge&&ge!==\"\"&&ge!==\"/\"&&ge!==l&&AW(ge.charCodeAt(ge.length-1))&&(ge=ge.slice(0,-1)),t.unescape===!0&&(O&&(O=sW.removeBackslashes(O)),ge&&v===!0&&(ge=sW.removeBackslashes(ge)));let F={prefix:re,input:r,start:u,base:ge,glob:O,isBrace:f,isBracket:h,isGlob:p,isExtglob:C,isGlobstar:y,negated:D,negatedExtglob:L};if(t.tokens===!0&&(F.maxDepth=0,AW(V)||o.push(W),F.tokens=o),t.parts===!0||t.tokens===!0){let ue;for(let he=0;he<s.length;he++){let ke=ue?ue+1:u,Fe=s[he],Ne=r.slice(ke,Fe);t.tokens&&(he===0&&u!==0?(o[he].isPrefix=!0,o[he].value=re):o[he].value=Ne,lW(o[he]),F.maxDepth+=o[he].depth),(he!==0||Ne!==\"\")&&a.push(Ne),ue=Fe}if(ue&&ue+1<r.length){let he=r.slice(ue+1);a.push(he),t.tokens&&(o[o.length-1].value=he,lW(o[o.length-1]),F.maxDepth+=o[o.length-1].depth)}F.slashes=s,F.parts=a}return F};uW.exports=tBe});var dW=w((ret,pW)=>{\"use strict\";var ky=kd(),jn=Rd(),{MAX_LENGTH:Ry,POSIX_REGEX_SOURCE:rBe,REGEX_NON_SPECIAL_CHARS:iBe,REGEX_SPECIAL_CHARS_BACKREF:nBe,REPLACEMENTS:fW}=ky,sBe=(r,e)=>{if(typeof e.expandRange==\"function\")return e.expandRange(...r,e);r.sort();let t=`[${r.join(\"-\")}]`;try{new RegExp(t)}catch{return r.map(n=>jn.escapeRegex(n)).join(\"..\")}return t},rf=(r,e)=>`Missing ${r}: \"${e}\" - use \"\\\\\\\\${e}\" to match literal characters`,hW=(r,e)=>{if(typeof r!=\"string\")throw new TypeError(\"Expected a string\");r=fW[r]||r;let t={...e},i=typeof t.maxLength==\"number\"?Math.min(Ry,t.maxLength):Ry,n=r.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);let s={type:\"bos\",value:\"\",output:t.prepend||\"\"},o=[s],a=t.capture?\"\":\"?:\",l=jn.isWindows(e),c=ky.globChars(l),u=ky.extglobChars(c),{DOT_LITERAL:g,PLUS_LITERAL:f,SLASH_LITERAL:h,ONE_CHAR:p,DOTS_SLASH:C,NO_DOT:y,NO_DOT_SLASH:B,NO_DOTS_SLASH:v,QMARK:D,QMARK_NO_DOT:L,STAR:H,START_ANCHOR:j}=c,$=Y=>`(${a}(?:(?!${j}${Y.dot?C:g}).)*?)`,V=t.dot?\"\":y,W=t.dot?D:L,Z=t.bash===!0?$(t):H;t.capture&&(Z=`(${Z})`),typeof t.noext==\"boolean\"&&(t.noextglob=t.noext);let A={input:r,index:-1,start:0,dot:t.dot===!0,consumed:\"\",output:\"\",prefix:\"\",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:o};r=jn.removePrefix(r,A),n=r.length;let ae=[],ge=[],re=[],O=s,F,ue=()=>A.index===n-1,he=A.peek=(Y=1)=>r[A.index+Y],ke=A.advance=()=>r[++A.index]||\"\",Fe=()=>r.slice(A.index+1),Ne=(Y=\"\",pe=0)=>{A.consumed+=Y,A.index+=pe},oe=Y=>{A.output+=Y.output!=null?Y.output:Y.value,Ne(Y.value)},le=()=>{let Y=1;for(;he()===\"!\"&&(he(2)!==\"(\"||he(3)===\"?\");)ke(),A.start++,Y++;return Y%2===0?!1:(A.negated=!0,A.start++,!0)},we=Y=>{A[Y]++,re.push(Y)},fe=Y=>{A[Y]--,re.pop()},Ae=Y=>{if(O.type===\"globstar\"){let pe=A.braces>0&&(Y.type===\"comma\"||Y.type===\"brace\"),ie=Y.extglob===!0||ae.length&&(Y.type===\"pipe\"||Y.type===\"paren\");Y.type!==\"slash\"&&Y.type!==\"paren\"&&!pe&&!ie&&(A.output=A.output.slice(0,-O.output.length),O.type=\"star\",O.value=\"*\",O.output=Z,A.output+=O.output)}if(ae.length&&Y.type!==\"paren\"&&(ae[ae.length-1].inner+=Y.value),(Y.value||Y.output)&&oe(Y),O&&O.type===\"text\"&&Y.type===\"text\"){O.value+=Y.value,O.output=(O.output||\"\")+Y.value;return}Y.prev=O,o.push(Y),O=Y},qe=(Y,pe)=>{let ie={...u[pe],conditions:1,inner:\"\"};ie.prev=O,ie.parens=A.parens,ie.output=A.output;let de=(t.capture?\"(\":\"\")+ie.open;we(\"parens\"),Ae({type:Y,value:pe,output:A.output?\"\":p}),Ae({type:\"paren\",extglob:!0,value:ke(),output:de}),ae.push(ie)},ne=Y=>{let pe=Y.close+(t.capture?\")\":\"\"),ie;if(Y.type===\"negate\"){let de=Z;Y.inner&&Y.inner.length>1&&Y.inner.includes(\"/\")&&(de=$(t)),(de!==Z||ue()||/^\\)+$/.test(Fe()))&&(pe=Y.close=`)$))${de}`),Y.inner.includes(\"*\")&&(ie=Fe())&&/^\\.[^\\\\/.]+$/.test(ie)&&(pe=Y.close=`)${ie})${de})`),Y.prev.type===\"bos\"&&(A.negatedExtglob=!0)}Ae({type:\"paren\",extglob:!0,value:F,output:pe}),fe(\"parens\")};if(t.fastpaths!==!1&&!/(^[*!]|[/()[\\]{}\"])/.test(r)){let Y=!1,pe=r.replace(nBe,(ie,de,tt,Pt,It,Or)=>Pt===\"\\\\\"?(Y=!0,ie):Pt===\"?\"?de?de+Pt+(It?D.repeat(It.length):\"\"):Or===0?W+(It?D.repeat(It.length):\"\"):D.repeat(tt.length):Pt===\".\"?g.repeat(tt.length):Pt===\"*\"?de?de+Pt+(It?Z:\"\"):Z:de?ie:`\\\\${ie}`);return Y===!0&&(t.unescape===!0?pe=pe.replace(/\\\\/g,\"\"):pe=pe.replace(/\\\\+/g,ie=>ie.length%2===0?\"\\\\\\\\\":ie?\"\\\\\":\"\")),pe===r&&t.contains===!0?(A.output=r,A):(A.output=jn.wrapOutput(pe,A,e),A)}for(;!ue();){if(F=ke(),F===\"\\0\")continue;if(F===\"\\\\\"){let ie=he();if(ie===\"/\"&&t.bash!==!0||ie===\".\"||ie===\";\")continue;if(!ie){F+=\"\\\\\",Ae({type:\"text\",value:F});continue}let de=/^\\\\+/.exec(Fe()),tt=0;if(de&&de[0].length>2&&(tt=de[0].length,A.index+=tt,tt%2!==0&&(F+=\"\\\\\")),t.unescape===!0?F=ke():F+=ke(),A.brackets===0){Ae({type:\"text\",value:F});continue}}if(A.brackets>0&&(F!==\"]\"||O.value===\"[\"||O.value===\"[^\")){if(t.posix!==!1&&F===\":\"){let ie=O.value.slice(1);if(ie.includes(\"[\")&&(O.posix=!0,ie.includes(\":\"))){let de=O.value.lastIndexOf(\"[\"),tt=O.value.slice(0,de),Pt=O.value.slice(de+2),It=rBe[Pt];if(It){O.value=tt+It,A.backtrack=!0,ke(),!s.output&&o.indexOf(O)===1&&(s.output=p);continue}}}(F===\"[\"&&he()!==\":\"||F===\"-\"&&he()===\"]\")&&(F=`\\\\${F}`),F===\"]\"&&(O.value===\"[\"||O.value===\"[^\")&&(F=`\\\\${F}`),t.posix===!0&&F===\"!\"&&O.value===\"[\"&&(F=\"^\"),O.value+=F,oe({value:F});continue}if(A.quotes===1&&F!=='\"'){F=jn.escapeRegex(F),O.value+=F,oe({value:F});continue}if(F==='\"'){A.quotes=A.quotes===1?0:1,t.keepQuotes===!0&&Ae({type:\"text\",value:F});continue}if(F===\"(\"){we(\"parens\"),Ae({type:\"paren\",value:F});continue}if(F===\")\"){if(A.parens===0&&t.strictBrackets===!0)throw new SyntaxError(rf(\"opening\",\"(\"));let ie=ae[ae.length-1];if(ie&&A.parens===ie.parens+1){ne(ae.pop());continue}Ae({type:\"paren\",value:F,output:A.parens?\")\":\"\\\\)\"}),fe(\"parens\");continue}if(F===\"[\"){if(t.nobracket===!0||!Fe().includes(\"]\")){if(t.nobracket!==!0&&t.strictBrackets===!0)throw new SyntaxError(rf(\"closing\",\"]\"));F=`\\\\${F}`}else we(\"brackets\");Ae({type:\"bracket\",value:F});continue}if(F===\"]\"){if(t.nobracket===!0||O&&O.type===\"bracket\"&&O.value.length===1){Ae({type:\"text\",value:F,output:`\\\\${F}`});continue}if(A.brackets===0){if(t.strictBrackets===!0)throw new SyntaxError(rf(\"opening\",\"[\"));Ae({type:\"text\",value:F,output:`\\\\${F}`});continue}fe(\"brackets\");let ie=O.value.slice(1);if(O.posix!==!0&&ie[0]===\"^\"&&!ie.includes(\"/\")&&(F=`/${F}`),O.value+=F,oe({value:F}),t.literalBrackets===!1||jn.hasRegexChars(ie))continue;let de=jn.escapeRegex(O.value);if(A.output=A.output.slice(0,-O.value.length),t.literalBrackets===!0){A.output+=de,O.value=de;continue}O.value=`(${a}${de}|${O.value})`,A.output+=O.value;continue}if(F===\"{\"&&t.nobrace!==!0){we(\"braces\");let ie={type:\"brace\",value:F,output:\"(\",outputIndex:A.output.length,tokensIndex:A.tokens.length};ge.push(ie),Ae(ie);continue}if(F===\"}\"){let ie=ge[ge.length-1];if(t.nobrace===!0||!ie){Ae({type:\"text\",value:F,output:F});continue}let de=\")\";if(ie.dots===!0){let tt=o.slice(),Pt=[];for(let It=tt.length-1;It>=0&&(o.pop(),tt[It].type!==\"brace\");It--)tt[It].type!==\"dots\"&&Pt.unshift(tt[It].value);de=sBe(Pt,t),A.backtrack=!0}if(ie.comma!==!0&&ie.dots!==!0){let tt=A.output.slice(0,ie.outputIndex),Pt=A.tokens.slice(ie.tokensIndex);ie.value=ie.output=\"\\\\{\",F=de=\"\\\\}\",A.output=tt;for(let It of Pt)A.output+=It.output||It.value}Ae({type:\"brace\",value:F,output:de}),fe(\"braces\"),ge.pop();continue}if(F===\"|\"){ae.length>0&&ae[ae.length-1].conditions++,Ae({type:\"text\",value:F});continue}if(F===\",\"){let ie=F,de=ge[ge.length-1];de&&re[re.length-1]===\"braces\"&&(de.comma=!0,ie=\"|\"),Ae({type:\"comma\",value:F,output:ie});continue}if(F===\"/\"){if(O.type===\"dot\"&&A.index===A.start+1){A.start=A.index+1,A.consumed=\"\",A.output=\"\",o.pop(),O=s;continue}Ae({type:\"slash\",value:F,output:h});continue}if(F===\".\"){if(A.braces>0&&O.type===\"dot\"){O.value===\".\"&&(O.output=g);let ie=ge[ge.length-1];O.type=\"dots\",O.output+=F,O.value+=F,ie.dots=!0;continue}if(A.braces+A.parens===0&&O.type!==\"bos\"&&O.type!==\"slash\"){Ae({type:\"text\",value:F,output:g});continue}Ae({type:\"dot\",value:F,output:g});continue}if(F===\"?\"){if(!(O&&O.value===\"(\")&&t.noextglob!==!0&&he()===\"(\"&&he(2)!==\"?\"){qe(\"qmark\",F);continue}if(O&&O.type===\"paren\"){let de=he(),tt=F;if(de===\"<\"&&!jn.supportsLookbehinds())throw new Error(\"Node.js v10 or higher is required for regex lookbehinds\");(O.value===\"(\"&&!/[!=<:]/.test(de)||de===\"<\"&&!/<([!=]|\\w+>)/.test(Fe()))&&(tt=`\\\\${F}`),Ae({type:\"text\",value:F,output:tt});continue}if(t.dot!==!0&&(O.type===\"slash\"||O.type===\"bos\")){Ae({type:\"qmark\",value:F,output:L});continue}Ae({type:\"qmark\",value:F,output:D});continue}if(F===\"!\"){if(t.noextglob!==!0&&he()===\"(\"&&(he(2)!==\"?\"||!/[!=<:]/.test(he(3)))){qe(\"negate\",F);continue}if(t.nonegate!==!0&&A.index===0){le();continue}}if(F===\"+\"){if(t.noextglob!==!0&&he()===\"(\"&&he(2)!==\"?\"){qe(\"plus\",F);continue}if(O&&O.value===\"(\"||t.regex===!1){Ae({type:\"plus\",value:F,output:f});continue}if(O&&(O.type===\"bracket\"||O.type===\"paren\"||O.type===\"brace\")||A.parens>0){Ae({type:\"plus\",value:F});continue}Ae({type:\"plus\",value:f});continue}if(F===\"@\"){if(t.noextglob!==!0&&he()===\"(\"&&he(2)!==\"?\"){Ae({type:\"at\",extglob:!0,value:F,output:\"\"});continue}Ae({type:\"text\",value:F});continue}if(F!==\"*\"){(F===\"$\"||F===\"^\")&&(F=`\\\\${F}`);let ie=iBe.exec(Fe());ie&&(F+=ie[0],A.index+=ie[0].length),Ae({type:\"text\",value:F});continue}if(O&&(O.type===\"globstar\"||O.star===!0)){O.type=\"star\",O.star=!0,O.value+=F,O.output=Z,A.backtrack=!0,A.globstar=!0,Ne(F);continue}let Y=Fe();if(t.noextglob!==!0&&/^\\([^?]/.test(Y)){qe(\"star\",F);continue}if(O.type===\"star\"){if(t.noglobstar===!0){Ne(F);continue}let ie=O.prev,de=ie.prev,tt=ie.type===\"slash\"||ie.type===\"bos\",Pt=de&&(de.type===\"star\"||de.type===\"globstar\");if(t.bash===!0&&(!tt||Y[0]&&Y[0]!==\"/\")){Ae({type:\"star\",value:F,output:\"\"});continue}let It=A.braces>0&&(ie.type===\"comma\"||ie.type===\"brace\"),Or=ae.length&&(ie.type===\"pipe\"||ie.type===\"paren\");if(!tt&&ie.type!==\"paren\"&&!It&&!Or){Ae({type:\"star\",value:F,output:\"\"});continue}for(;Y.slice(0,3)===\"/**\";){let ii=r[A.index+4];if(ii&&ii!==\"/\")break;Y=Y.slice(3),Ne(\"/**\",3)}if(ie.type===\"bos\"&&ue()){O.type=\"globstar\",O.value+=F,O.output=$(t),A.output=O.output,A.globstar=!0,Ne(F);continue}if(ie.type===\"slash\"&&ie.prev.type!==\"bos\"&&!Pt&&ue()){A.output=A.output.slice(0,-(ie.output+O.output).length),ie.output=`(?:${ie.output}`,O.type=\"globstar\",O.output=$(t)+(t.strictSlashes?\")\":\"|$)\"),O.value+=F,A.globstar=!0,A.output+=ie.output+O.output,Ne(F);continue}if(ie.type===\"slash\"&&ie.prev.type!==\"bos\"&&Y[0]===\"/\"){let ii=Y[1]!==void 0?\"|$\":\"\";A.output=A.output.slice(0,-(ie.output+O.output).length),ie.output=`(?:${ie.output}`,O.type=\"globstar\",O.output=`${$(t)}${h}|${h}${ii})`,O.value+=F,A.output+=ie.output+O.output,A.globstar=!0,Ne(F+ke()),Ae({type:\"slash\",value:\"/\",output:\"\"});continue}if(ie.type===\"bos\"&&Y[0]===\"/\"){O.type=\"globstar\",O.value+=F,O.output=`(?:^|${h}|${$(t)}${h})`,A.output=O.output,A.globstar=!0,Ne(F+ke()),Ae({type:\"slash\",value:\"/\",output:\"\"});continue}A.output=A.output.slice(0,-O.output.length),O.type=\"globstar\",O.output=$(t),O.value+=F,A.output+=O.output,A.globstar=!0,Ne(F);continue}let pe={type:\"star\",value:F,output:Z};if(t.bash===!0){pe.output=\".*?\",(O.type===\"bos\"||O.type===\"slash\")&&(pe.output=V+pe.output),Ae(pe);continue}if(O&&(O.type===\"bracket\"||O.type===\"paren\")&&t.regex===!0){pe.output=F,Ae(pe);continue}(A.index===A.start||O.type===\"slash\"||O.type===\"dot\")&&(O.type===\"dot\"?(A.output+=B,O.output+=B):t.dot===!0?(A.output+=v,O.output+=v):(A.output+=V,O.output+=V),he()!==\"*\"&&(A.output+=p,O.output+=p)),Ae(pe)}for(;A.brackets>0;){if(t.strictBrackets===!0)throw new SyntaxError(rf(\"closing\",\"]\"));A.output=jn.escapeLast(A.output,\"[\"),fe(\"brackets\")}for(;A.parens>0;){if(t.strictBrackets===!0)throw new SyntaxError(rf(\"closing\",\")\"));A.output=jn.escapeLast(A.output,\"(\"),fe(\"parens\")}for(;A.braces>0;){if(t.strictBrackets===!0)throw new SyntaxError(rf(\"closing\",\"}\"));A.output=jn.escapeLast(A.output,\"{\"),fe(\"braces\")}if(t.strictSlashes!==!0&&(O.type===\"star\"||O.type===\"bracket\")&&Ae({type:\"maybe_slash\",value:\"\",output:`${h}?`}),A.backtrack===!0){A.output=\"\";for(let Y of A.tokens)A.output+=Y.output!=null?Y.output:Y.value,Y.suffix&&(A.output+=Y.suffix)}return A};hW.fastpaths=(r,e)=>{let t={...e},i=typeof t.maxLength==\"number\"?Math.min(Ry,t.maxLength):Ry,n=r.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);r=fW[r]||r;let s=jn.isWindows(e),{DOT_LITERAL:o,SLASH_LITERAL:a,ONE_CHAR:l,DOTS_SLASH:c,NO_DOT:u,NO_DOTS:g,NO_DOTS_SLASH:f,STAR:h,START_ANCHOR:p}=ky.globChars(s),C=t.dot?g:u,y=t.dot?f:u,B=t.capture?\"\":\"?:\",v={negated:!1,prefix:\"\"},D=t.bash===!0?\".*?\":h;t.capture&&(D=`(${D})`);let L=V=>V.noglobstar===!0?D:`(${B}(?:(?!${p}${V.dot?c:o}).)*?)`,H=V=>{switch(V){case\"*\":return`${C}${l}${D}`;case\".*\":return`${o}${l}${D}`;case\"*.*\":return`${C}${D}${o}${l}${D}`;case\"*/*\":return`${C}${D}${a}${l}${y}${D}`;case\"**\":return C+L(t);case\"**/*\":return`(?:${C}${L(t)}${a})?${y}${l}${D}`;case\"**/*.*\":return`(?:${C}${L(t)}${a})?${y}${D}${o}${l}${D}`;case\"**/.*\":return`(?:${C}${L(t)}${a})?${o}${l}${D}`;default:{let W=/^(.*?)\\.(\\w+)$/.exec(V);if(!W)return;let Z=H(W[1]);return Z?Z+o+W[2]:void 0}}},j=jn.removePrefix(r,v),$=H(j);return $&&t.strictSlashes!==!0&&($+=`${a}?`),$};pW.exports=hW});var mW=w((iet,CW)=>{\"use strict\";var oBe=J(\"path\"),aBe=gW(),Ix=dW(),yx=Rd(),ABe=kd(),lBe=r=>r&&typeof r==\"object\"&&!Array.isArray(r),Yr=(r,e,t=!1)=>{if(Array.isArray(r)){let u=r.map(f=>Yr(f,e,t));return f=>{for(let h of u){let p=h(f);if(p)return p}return!1}}let i=lBe(r)&&r.tokens&&r.input;if(r===\"\"||typeof r!=\"string\"&&!i)throw new TypeError(\"Expected pattern to be a non-empty string\");let n=e||{},s=yx.isWindows(e),o=i?Yr.compileRe(r,e):Yr.makeRe(r,e,!1,!0),a=o.state;delete o.state;let l=()=>!1;if(n.ignore){let u={...e,ignore:null,onMatch:null,onResult:null};l=Yr(n.ignore,u,t)}let c=(u,g=!1)=>{let{isMatch:f,match:h,output:p}=Yr.test(u,o,e,{glob:r,posix:s}),C={glob:r,state:a,regex:o,posix:s,input:u,output:p,match:h,isMatch:f};return typeof n.onResult==\"function\"&&n.onResult(C),f===!1?(C.isMatch=!1,g?C:!1):l(u)?(typeof n.onIgnore==\"function\"&&n.onIgnore(C),C.isMatch=!1,g?C:!1):(typeof n.onMatch==\"function\"&&n.onMatch(C),g?C:!0)};return t&&(c.state=a),c};Yr.test=(r,e,t,{glob:i,posix:n}={})=>{if(typeof r!=\"string\")throw new TypeError(\"Expected input to be a string\");if(r===\"\")return{isMatch:!1,output:\"\"};let s=t||{},o=s.format||(n?yx.toPosixSlashes:null),a=r===i,l=a&&o?o(r):r;return a===!1&&(l=o?o(r):r,a=l===i),(a===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?a=Yr.matchBase(r,e,t,n):a=e.exec(l)),{isMatch:Boolean(a),match:a,output:l}};Yr.matchBase=(r,e,t,i=yx.isWindows(t))=>(e instanceof RegExp?e:Yr.makeRe(e,t)).test(oBe.basename(r));Yr.isMatch=(r,e,t)=>Yr(e,t)(r);Yr.parse=(r,e)=>Array.isArray(r)?r.map(t=>Yr.parse(t,e)):Ix(r,{...e,fastpaths:!1});Yr.scan=(r,e)=>aBe(r,e);Yr.compileRe=(r,e,t=!1,i=!1)=>{if(t===!0)return r.output;let n=e||{},s=n.contains?\"\":\"^\",o=n.contains?\"\":\"$\",a=`${s}(?:${r.output})${o}`;r&&r.negated===!0&&(a=`^(?!${a}).*$`);let l=Yr.toRegex(a,e);return i===!0&&(l.state=r),l};Yr.makeRe=(r,e={},t=!1,i=!1)=>{if(!r||typeof r!=\"string\")throw new TypeError(\"Expected a non-empty string\");let n={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(r[0]===\".\"||r[0]===\"*\")&&(n.output=Ix.fastpaths(r,e)),n.output||(n=Ix(r,e)),Yr.compileRe(n,e,t,i)};Yr.toRegex=(r,e)=>{try{let t=e||{};return new RegExp(r,t.flags||(t.nocase?\"i\":\"\"))}catch(t){if(e&&e.debug===!0)throw t;return/$^/}};Yr.constants=ABe;CW.exports=Yr});var wx=w((net,EW)=>{\"use strict\";EW.exports=mW()});var yn=w((set,BW)=>{\"use strict\";var yW=J(\"util\"),wW=$J(),Lo=wx(),Bx=Rd(),IW=r=>r===\"\"||r===\"./\",Sr=(r,e,t)=>{e=[].concat(e),r=[].concat(r);let i=new Set,n=new Set,s=new Set,o=0,a=u=>{s.add(u.output),t&&t.onResult&&t.onResult(u)};for(let u=0;u<e.length;u++){let g=Lo(String(e[u]),{...t,onResult:a},!0),f=g.state.negated||g.state.negatedExtglob;f&&o++;for(let h of r){let p=g(h,!0);!(f?!p.isMatch:p.isMatch)||(f?i.add(p.output):(i.delete(p.output),n.add(p.output)))}}let c=(o===e.length?[...s]:[...n]).filter(u=>!i.has(u));if(t&&c.length===0){if(t.failglob===!0)throw new Error(`No matches found for \"${e.join(\", \")}\"`);if(t.nonull===!0||t.nullglob===!0)return t.unescape?e.map(u=>u.replace(/\\\\/g,\"\")):e}return c};Sr.match=Sr;Sr.matcher=(r,e)=>Lo(r,e);Sr.isMatch=(r,e,t)=>Lo(e,t)(r);Sr.any=Sr.isMatch;Sr.not=(r,e,t={})=>{e=[].concat(e).map(String);let i=new Set,n=[],o=Sr(r,e,{...t,onResult:a=>{t.onResult&&t.onResult(a),n.push(a.output)}});for(let a of n)o.includes(a)||i.add(a);return[...i]};Sr.contains=(r,e,t)=>{if(typeof r!=\"string\")throw new TypeError(`Expected a string: \"${yW.inspect(r)}\"`);if(Array.isArray(e))return e.some(i=>Sr.contains(r,i,t));if(typeof e==\"string\"){if(IW(r)||IW(e))return!1;if(r.includes(e)||r.startsWith(\"./\")&&r.slice(2).includes(e))return!0}return Sr.isMatch(r,e,{...t,contains:!0})};Sr.matchKeys=(r,e,t)=>{if(!Bx.isObject(r))throw new TypeError(\"Expected the first argument to be an object\");let i=Sr(Object.keys(r),e,t),n={};for(let s of i)n[s]=r[s];return n};Sr.some=(r,e,t)=>{let i=[].concat(r);for(let n of[].concat(e)){let s=Lo(String(n),t);if(i.some(o=>s(o)))return!0}return!1};Sr.every=(r,e,t)=>{let i=[].concat(r);for(let n of[].concat(e)){let s=Lo(String(n),t);if(!i.every(o=>s(o)))return!1}return!0};Sr.all=(r,e,t)=>{if(typeof r!=\"string\")throw new TypeError(`Expected a string: \"${yW.inspect(r)}\"`);return[].concat(e).every(i=>Lo(i,t)(r))};Sr.capture=(r,e,t)=>{let i=Bx.isWindows(t),s=Lo.makeRe(String(r),{...t,capture:!0}).exec(i?Bx.toPosixSlashes(e):e);if(s)return s.slice(1).map(o=>o===void 0?\"\":o)};Sr.makeRe=(...r)=>Lo.makeRe(...r);Sr.scan=(...r)=>Lo.scan(...r);Sr.parse=(r,e)=>{let t=[];for(let i of[].concat(r||[]))for(let n of wW(String(i),e))t.push(Lo.parse(n,e));return t};Sr.braces=(r,e)=>{if(typeof r!=\"string\")throw new TypeError(\"Expected a string\");return e&&e.nobrace===!0||!/\\{.*\\}/.test(r)?[r]:wW(r,e)};Sr.braceExpand=(r,e)=>{if(typeof r!=\"string\")throw new TypeError(\"Expected a string\");return Sr.braces(r,{...e,expand:!0})};BW.exports=Sr});var bW=w((oet,QW)=>{\"use strict\";QW.exports=({onlyFirst:r=!1}={})=>{let e=[\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"].join(\"|\");return new RegExp(e,r?void 0:\"g\")}});var vW=w((aet,SW)=>{\"use strict\";var cBe=bW();SW.exports=r=>typeof r==\"string\"?r.replace(cBe(),\"\"):r});var HW=w((Eet,UW)=>{\"use strict\";UW.exports=(...r)=>[...new Set([].concat(...r))]});var Yx=w((Iet,jW)=>{\"use strict\";var BBe=J(\"stream\"),GW=BBe.PassThrough,QBe=Array.prototype.slice;jW.exports=bBe;function bBe(){let r=[],e=!1,t=QBe.call(arguments),i=t[t.length-1];i&&!Array.isArray(i)&&i.pipe==null?t.pop():i={};let n=i.end!==!1;i.objectMode==null&&(i.objectMode=!0),i.highWaterMark==null&&(i.highWaterMark=64*1024);let s=GW(i);function o(){for(let c=0,u=arguments.length;c<u;c++)r.push(YW(arguments[c],i));return a(),this}function a(){if(e)return;e=!0;let c=r.shift();if(!c){process.nextTick(l);return}Array.isArray(c)||(c=[c]);let u=c.length+1;function g(){--u>0||(e=!1,a())}function f(h){function p(){h.removeListener(\"merge2UnpipeEnd\",p),h.removeListener(\"end\",p),g()}if(h._readableState.endEmitted)return g();h.on(\"merge2UnpipeEnd\",p),h.on(\"end\",p),h.pipe(s,{end:!1}),h.resume()}for(let h=0;h<c.length;h++)f(c[h]);g()}function l(){return e=!1,s.emit(\"queueDrain\"),n&&s.end()}return s.setMaxListeners(0),s.add=o,s.on(\"unpipe\",function(c){c.emit(\"merge2UnpipeEnd\")}),t.length&&o.apply(null,t),s}function YW(r,e){if(Array.isArray(r))for(let t=0,i=r.length;t<i;t++)r[t]=YW(r[t],e);else{if(!r._readableState&&r.pipe&&(r=r.pipe(GW(e))),!r._readableState||!r.pause||!r.pipe)throw new Error(\"Only readable stream can be merged.\");r.pause()}return r}});var qW=w(My=>{\"use strict\";Object.defineProperty(My,\"__esModule\",{value:!0});function SBe(r){return r.reduce((e,t)=>[].concat(e,t),[])}My.flatten=SBe;function vBe(r,e){let t=[[]],i=0;for(let n of r)e(n)?(i++,t[i]=[]):t[i].push(n);return t}My.splitWhen=vBe});var JW=w(jx=>{\"use strict\";Object.defineProperty(jx,\"__esModule\",{value:!0});function xBe(r){return r.code===\"ENOENT\"}jx.isEnoentCodeError=xBe});var WW=w(Jx=>{\"use strict\";Object.defineProperty(Jx,\"__esModule\",{value:!0});var qx=class{constructor(e,t){this.name=e,this.isBlockDevice=t.isBlockDevice.bind(t),this.isCharacterDevice=t.isCharacterDevice.bind(t),this.isDirectory=t.isDirectory.bind(t),this.isFIFO=t.isFIFO.bind(t),this.isFile=t.isFile.bind(t),this.isSocket=t.isSocket.bind(t),this.isSymbolicLink=t.isSymbolicLink.bind(t)}};function PBe(r,e){return new qx(r,e)}Jx.createDirentFromStats=PBe});var zW=w(uf=>{\"use strict\";Object.defineProperty(uf,\"__esModule\",{value:!0});var DBe=J(\"path\"),kBe=2,RBe=/(\\\\?)([()*?[\\]{|}]|^!|[!+@](?=\\())/g;function FBe(r){return r.replace(/\\\\/g,\"/\")}uf.unixify=FBe;function NBe(r,e){return DBe.resolve(r,e)}uf.makeAbsolute=NBe;function LBe(r){return r.replace(RBe,\"\\\\$2\")}uf.escape=LBe;function TBe(r){if(r.charAt(0)===\".\"){let e=r.charAt(1);if(e===\"/\"||e===\"\\\\\")return r.slice(kBe)}return r}uf.removeLeadingDotSegment=TBe});var XW=w((bet,VW)=>{VW.exports=function(e){if(typeof e!=\"string\"||e===\"\")return!1;for(var t;t=/(\\\\).|([@?!+*]\\(.*\\))/g.exec(e);){if(t[2])return!0;e=e.slice(t.index+t[0].length)}return!1}});var $W=w((vet,ZW)=>{var OBe=XW(),_W={\"{\":\"}\",\"(\":\")\",\"[\":\"]\"},MBe=function(r){if(r[0]===\"!\")return!0;for(var e=0,t=-2,i=-2,n=-2,s=-2,o=-2;e<r.length;){if(r[e]===\"*\"||r[e+1]===\"?\"&&/[\\].+)]/.test(r[e])||i!==-1&&r[e]===\"[\"&&r[e+1]!==\"]\"&&(i<e&&(i=r.indexOf(\"]\",e)),i>e&&(o===-1||o>i||(o=r.indexOf(\"\\\\\",e),o===-1||o>i)))||n!==-1&&r[e]===\"{\"&&r[e+1]!==\"}\"&&(n=r.indexOf(\"}\",e),n>e&&(o=r.indexOf(\"\\\\\",e),o===-1||o>n))||s!==-1&&r[e]===\"(\"&&r[e+1]===\"?\"&&/[:!=]/.test(r[e+2])&&r[e+3]!==\")\"&&(s=r.indexOf(\")\",e),s>e&&(o=r.indexOf(\"\\\\\",e),o===-1||o>s))||t!==-1&&r[e]===\"(\"&&r[e+1]!==\"|\"&&(t<e&&(t=r.indexOf(\"|\",e)),t!==-1&&r[t+1]!==\")\"&&(s=r.indexOf(\")\",t),s>t&&(o=r.indexOf(\"\\\\\",t),o===-1||o>s))))return!0;if(r[e]===\"\\\\\"){var a=r[e+1];e+=2;var l=_W[a];if(l){var c=r.indexOf(l,e);c!==-1&&(e=c+1)}if(r[e]===\"!\")return!0}else e++}return!1},KBe=function(r){if(r[0]===\"!\")return!0;for(var e=0;e<r.length;){if(/[*?{}()[\\]]/.test(r[e]))return!0;if(r[e]===\"\\\\\"){var t=r[e+1];e+=2;var i=_W[t];if(i){var n=r.indexOf(i,e);n!==-1&&(e=n+1)}if(r[e]===\"!\")return!0}else e++}return!1};ZW.exports=function(e,t){if(typeof e!=\"string\"||e===\"\")return!1;if(OBe(e))return!0;var i=MBe;return t&&t.strict===!1&&(i=KBe),i(e)}});var t3=w((xet,e3)=>{\"use strict\";var UBe=$W(),HBe=J(\"path\").posix.dirname,GBe=J(\"os\").platform()===\"win32\",Wx=\"/\",YBe=/\\\\/g,jBe=/[\\{\\[].*[\\}\\]]$/,qBe=/(^|[^\\\\])([\\{\\[]|\\([^\\)]+$)/,JBe=/\\\\([\\!\\*\\?\\|\\[\\]\\(\\)\\{\\}])/g;e3.exports=function(e,t){var i=Object.assign({flipBackslashes:!0},t);i.flipBackslashes&&GBe&&e.indexOf(Wx)<0&&(e=e.replace(YBe,Wx)),jBe.test(e)&&(e+=Wx),e+=\"a\";do e=HBe(e);while(UBe(e)||qBe.test(e));return e.replace(JBe,\"$1\")}});var c3=w($r=>{\"use strict\";Object.defineProperty($r,\"__esModule\",{value:!0});var WBe=J(\"path\"),zBe=t3(),r3=yn(),VBe=wx(),i3=\"**\",XBe=\"\\\\\",_Be=/[*?]|^!/,ZBe=/\\[.*]/,$Be=/(?:^|[^!*+?@])\\(.*\\|.*\\)/,e0e=/[!*+?@]\\(.*\\)/,t0e=/{.*(?:,|\\.\\.).*}/;function n3(r,e={}){return!s3(r,e)}$r.isStaticPattern=n3;function s3(r,e={}){return!!(e.caseSensitiveMatch===!1||r.includes(XBe)||_Be.test(r)||ZBe.test(r)||$Be.test(r)||e.extglob!==!1&&e0e.test(r)||e.braceExpansion!==!1&&t0e.test(r))}$r.isDynamicPattern=s3;function r0e(r){return Ky(r)?r.slice(1):r}$r.convertToPositivePattern=r0e;function i0e(r){return\"!\"+r}$r.convertToNegativePattern=i0e;function Ky(r){return r.startsWith(\"!\")&&r[1]!==\"(\"}$r.isNegativePattern=Ky;function o3(r){return!Ky(r)}$r.isPositivePattern=o3;function n0e(r){return r.filter(Ky)}$r.getNegativePatterns=n0e;function s0e(r){return r.filter(o3)}$r.getPositivePatterns=s0e;function o0e(r){return zBe(r,{flipBackslashes:!1})}$r.getBaseDirectory=o0e;function a0e(r){return r.includes(i3)}$r.hasGlobStar=a0e;function a3(r){return r.endsWith(\"/\"+i3)}$r.endsWithSlashGlobStar=a3;function A0e(r){let e=WBe.basename(r);return a3(r)||n3(e)}$r.isAffectDepthOfReadingPattern=A0e;function l0e(r){return r.reduce((e,t)=>e.concat(A3(t)),[])}$r.expandPatternsWithBraceExpansion=l0e;function A3(r){return r3.braces(r,{expand:!0,nodupes:!0})}$r.expandBraceExpansion=A3;function c0e(r,e){let t=VBe.scan(r,Object.assign(Object.assign({},e),{parts:!0}));return t.parts.length===0?[r]:t.parts}$r.getPatternParts=c0e;function l3(r,e){return r3.makeRe(r,e)}$r.makeRe=l3;function u0e(r,e){return r.map(t=>l3(t,e))}$r.convertPatternsToRe=u0e;function g0e(r,e){return e.some(t=>t.test(r))}$r.matchAny=g0e});var g3=w(zx=>{\"use strict\";Object.defineProperty(zx,\"__esModule\",{value:!0});var f0e=Yx();function h0e(r){let e=f0e(r);return r.forEach(t=>{t.once(\"error\",i=>e.emit(\"error\",i))}),e.once(\"close\",()=>u3(r)),e.once(\"end\",()=>u3(r)),e}zx.merge=h0e;function u3(r){r.forEach(e=>e.emit(\"close\"))}});var f3=w(Uy=>{\"use strict\";Object.defineProperty(Uy,\"__esModule\",{value:!0});function p0e(r){return typeof r==\"string\"}Uy.isString=p0e;function d0e(r){return r===\"\"}Uy.isEmpty=d0e});var Da=w(Pa=>{\"use strict\";Object.defineProperty(Pa,\"__esModule\",{value:!0});var C0e=qW();Pa.array=C0e;var m0e=JW();Pa.errno=m0e;var E0e=WW();Pa.fs=E0e;var I0e=zW();Pa.path=I0e;var y0e=c3();Pa.pattern=y0e;var w0e=g3();Pa.stream=w0e;var B0e=f3();Pa.string=B0e});var m3=w(ka=>{\"use strict\";Object.defineProperty(ka,\"__esModule\",{value:!0});var uc=Da();function Q0e(r,e){let t=h3(r),i=p3(r,e.ignore),n=t.filter(l=>uc.pattern.isStaticPattern(l,e)),s=t.filter(l=>uc.pattern.isDynamicPattern(l,e)),o=Vx(n,i,!1),a=Vx(s,i,!0);return o.concat(a)}ka.generate=Q0e;function Vx(r,e,t){let i=d3(r);return\".\"in i?[Xx(\".\",r,e,t)]:C3(i,e,t)}ka.convertPatternsToTasks=Vx;function h3(r){return uc.pattern.getPositivePatterns(r)}ka.getPositivePatterns=h3;function p3(r,e){return uc.pattern.getNegativePatterns(r).concat(e).map(uc.pattern.convertToPositivePattern)}ka.getNegativePatternsAsPositive=p3;function d3(r){let e={};return r.reduce((t,i)=>{let n=uc.pattern.getBaseDirectory(i);return n in t?t[n].push(i):t[n]=[i],t},e)}ka.groupPatternsByBaseDirectory=d3;function C3(r,e,t){return Object.keys(r).map(i=>Xx(i,r[i],e,t))}ka.convertPatternGroupsToTasks=C3;function Xx(r,e,t,i){return{dynamic:i,positive:e,negative:t,base:r,patterns:[].concat(e,t.map(uc.pattern.convertToNegativePattern))}}ka.convertPatternGroupToTask=Xx});var I3=w(Hy=>{\"use strict\";Object.defineProperty(Hy,\"__esModule\",{value:!0});Hy.read=void 0;function b0e(r,e,t){e.fs.lstat(r,(i,n)=>{if(i!==null){E3(t,i);return}if(!n.isSymbolicLink()||!e.followSymbolicLink){_x(t,n);return}e.fs.stat(r,(s,o)=>{if(s!==null){if(e.throwErrorOnBrokenSymbolicLink){E3(t,s);return}_x(t,n);return}e.markSymbolicLink&&(o.isSymbolicLink=()=>!0),_x(t,o)})})}Hy.read=b0e;function E3(r,e){r(e)}function _x(r,e){r(null,e)}});var y3=w(Gy=>{\"use strict\";Object.defineProperty(Gy,\"__esModule\",{value:!0});Gy.read=void 0;function S0e(r,e){let t=e.fs.lstatSync(r);if(!t.isSymbolicLink()||!e.followSymbolicLink)return t;try{let i=e.fs.statSync(r);return e.markSymbolicLink&&(i.isSymbolicLink=()=>!0),i}catch(i){if(!e.throwErrorOnBrokenSymbolicLink)return t;throw i}}Gy.read=S0e});var w3=w(kA=>{\"use strict\";Object.defineProperty(kA,\"__esModule\",{value:!0});kA.createFileSystemAdapter=kA.FILE_SYSTEM_ADAPTER=void 0;var Yy=J(\"fs\");kA.FILE_SYSTEM_ADAPTER={lstat:Yy.lstat,stat:Yy.stat,lstatSync:Yy.lstatSync,statSync:Yy.statSync};function v0e(r){return r===void 0?kA.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},kA.FILE_SYSTEM_ADAPTER),r)}kA.createFileSystemAdapter=v0e});var B3=w($x=>{\"use strict\";Object.defineProperty($x,\"__esModule\",{value:!0});var x0e=w3(),Zx=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=x0e.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,t){return e!=null?e:t}};$x.default=Zx});var gc=w(RA=>{\"use strict\";Object.defineProperty(RA,\"__esModule\",{value:!0});RA.statSync=RA.stat=RA.Settings=void 0;var Q3=I3(),P0e=y3(),eP=B3();RA.Settings=eP.default;function D0e(r,e,t){if(typeof e==\"function\"){Q3.read(r,tP(),e);return}Q3.read(r,tP(e),t)}RA.stat=D0e;function k0e(r,e){let t=tP(e);return P0e.read(r,t)}RA.statSync=k0e;function tP(r={}){return r instanceof eP.default?r:new eP.default(r)}});var S3=w((Ket,b3)=>{b3.exports=R0e;function R0e(r,e){var t,i,n,s=!0;Array.isArray(r)?(t=[],i=r.length):(n=Object.keys(r),t={},i=n.length);function o(l){function c(){e&&e(l,t),e=null}s?process.nextTick(c):c()}function a(l,c,u){t[l]=u,(--i===0||c)&&o(c)}i?n?n.forEach(function(l){r[l](function(c,u){a(l,c,u)})}):r.forEach(function(l,c){l(function(u,g){a(c,u,g)})}):o(null),s=!1}});var rP=w(qy=>{\"use strict\";Object.defineProperty(qy,\"__esModule\",{value:!0});qy.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var jy=process.versions.node.split(\".\");if(jy[0]===void 0||jy[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var v3=Number.parseInt(jy[0],10),F0e=Number.parseInt(jy[1],10),x3=10,N0e=10,L0e=v3>x3,T0e=v3===x3&&F0e>=N0e;qy.IS_SUPPORT_READDIR_WITH_FILE_TYPES=L0e||T0e});var P3=w(Jy=>{\"use strict\";Object.defineProperty(Jy,\"__esModule\",{value:!0});Jy.createDirentFromStats=void 0;var iP=class{constructor(e,t){this.name=e,this.isBlockDevice=t.isBlockDevice.bind(t),this.isCharacterDevice=t.isCharacterDevice.bind(t),this.isDirectory=t.isDirectory.bind(t),this.isFIFO=t.isFIFO.bind(t),this.isFile=t.isFile.bind(t),this.isSocket=t.isSocket.bind(t),this.isSymbolicLink=t.isSymbolicLink.bind(t)}};function O0e(r,e){return new iP(r,e)}Jy.createDirentFromStats=O0e});var nP=w(Wy=>{\"use strict\";Object.defineProperty(Wy,\"__esModule\",{value:!0});Wy.fs=void 0;var M0e=P3();Wy.fs=M0e});var sP=w(zy=>{\"use strict\";Object.defineProperty(zy,\"__esModule\",{value:!0});zy.joinPathSegments=void 0;function K0e(r,e,t){return r.endsWith(t)?r+e:r+t+e}zy.joinPathSegments=K0e});var L3=w(FA=>{\"use strict\";Object.defineProperty(FA,\"__esModule\",{value:!0});FA.readdir=FA.readdirWithFileTypes=FA.read=void 0;var U0e=gc(),D3=S3(),H0e=rP(),k3=nP(),R3=sP();function G0e(r,e,t){if(!e.stats&&H0e.IS_SUPPORT_READDIR_WITH_FILE_TYPES){F3(r,e,t);return}N3(r,e,t)}FA.read=G0e;function F3(r,e,t){e.fs.readdir(r,{withFileTypes:!0},(i,n)=>{if(i!==null){Vy(t,i);return}let s=n.map(a=>({dirent:a,name:a.name,path:R3.joinPathSegments(r,a.name,e.pathSegmentSeparator)}));if(!e.followSymbolicLinks){oP(t,s);return}let o=s.map(a=>Y0e(a,e));D3(o,(a,l)=>{if(a!==null){Vy(t,a);return}oP(t,l)})})}FA.readdirWithFileTypes=F3;function Y0e(r,e){return t=>{if(!r.dirent.isSymbolicLink()){t(null,r);return}e.fs.stat(r.path,(i,n)=>{if(i!==null){if(e.throwErrorOnBrokenSymbolicLink){t(i);return}t(null,r);return}r.dirent=k3.fs.createDirentFromStats(r.name,n),t(null,r)})}}function N3(r,e,t){e.fs.readdir(r,(i,n)=>{if(i!==null){Vy(t,i);return}let s=n.map(o=>{let a=R3.joinPathSegments(r,o,e.pathSegmentSeparator);return l=>{U0e.stat(a,e.fsStatSettings,(c,u)=>{if(c!==null){l(c);return}let g={name:o,path:a,dirent:k3.fs.createDirentFromStats(o,u)};e.stats&&(g.stats=u),l(null,g)})}});D3(s,(o,a)=>{if(o!==null){Vy(t,o);return}oP(t,a)})})}FA.readdir=N3;function Vy(r,e){r(e)}function oP(r,e){r(null,e)}});var U3=w(NA=>{\"use strict\";Object.defineProperty(NA,\"__esModule\",{value:!0});NA.readdir=NA.readdirWithFileTypes=NA.read=void 0;var j0e=gc(),q0e=rP(),T3=nP(),O3=sP();function J0e(r,e){return!e.stats&&q0e.IS_SUPPORT_READDIR_WITH_FILE_TYPES?M3(r,e):K3(r,e)}NA.read=J0e;function M3(r,e){return e.fs.readdirSync(r,{withFileTypes:!0}).map(i=>{let n={dirent:i,name:i.name,path:O3.joinPathSegments(r,i.name,e.pathSegmentSeparator)};if(n.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let s=e.fs.statSync(n.path);n.dirent=T3.fs.createDirentFromStats(n.name,s)}catch(s){if(e.throwErrorOnBrokenSymbolicLink)throw s}return n})}NA.readdirWithFileTypes=M3;function K3(r,e){return e.fs.readdirSync(r).map(i=>{let n=O3.joinPathSegments(r,i,e.pathSegmentSeparator),s=j0e.statSync(n,e.fsStatSettings),o={name:i,path:n,dirent:T3.fs.createDirentFromStats(i,s)};return e.stats&&(o.stats=s),o})}NA.readdir=K3});var H3=w(LA=>{\"use strict\";Object.defineProperty(LA,\"__esModule\",{value:!0});LA.createFileSystemAdapter=LA.FILE_SYSTEM_ADAPTER=void 0;var gf=J(\"fs\");LA.FILE_SYSTEM_ADAPTER={lstat:gf.lstat,stat:gf.stat,lstatSync:gf.lstatSync,statSync:gf.statSync,readdir:gf.readdir,readdirSync:gf.readdirSync};function W0e(r){return r===void 0?LA.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},LA.FILE_SYSTEM_ADAPTER),r)}LA.createFileSystemAdapter=W0e});var G3=w(AP=>{\"use strict\";Object.defineProperty(AP,\"__esModule\",{value:!0});var z0e=J(\"path\"),V0e=gc(),X0e=H3(),aP=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=X0e.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,z0e.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new V0e.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,t){return e!=null?e:t}};AP.default=aP});var Xy=w(TA=>{\"use strict\";Object.defineProperty(TA,\"__esModule\",{value:!0});TA.Settings=TA.scandirSync=TA.scandir=void 0;var Y3=L3(),_0e=U3(),lP=G3();TA.Settings=lP.default;function Z0e(r,e,t){if(typeof e==\"function\"){Y3.read(r,cP(),e);return}Y3.read(r,cP(e),t)}TA.scandir=Z0e;function $0e(r,e){let t=cP(e);return _0e.read(r,t)}TA.scandirSync=$0e;function cP(r={}){return r instanceof lP.default?r:new lP.default(r)}});var q3=w((Vet,j3)=>{\"use strict\";function eQe(r){var e=new r,t=e;function i(){var s=e;return s.next?e=s.next:(e=new r,t=e),s.next=null,s}function n(s){t.next=s,t=s}return{get:i,release:n}}j3.exports=eQe});var W3=w((Xet,uP)=>{\"use strict\";var tQe=q3();function J3(r,e,t){if(typeof r==\"function\"&&(t=e,e=r,r=null),t<1)throw new Error(\"fastqueue concurrency must be greater than 1\");var i=tQe(rQe),n=null,s=null,o=0,a=null,l={push:C,drain:ps,saturated:ps,pause:u,paused:!1,concurrency:t,running:c,resume:h,idle:p,length:g,getQueue:f,unshift:y,empty:ps,kill:v,killAndDrain:D,error:L};return l;function c(){return o}function u(){l.paused=!0}function g(){for(var H=n,j=0;H;)H=H.next,j++;return j}function f(){for(var H=n,j=[];H;)j.push(H.value),H=H.next;return j}function h(){if(!!l.paused){l.paused=!1;for(var H=0;H<l.concurrency;H++)o++,B()}}function p(){return o===0&&l.length()===0}function C(H,j){var $=i.get();$.context=r,$.release=B,$.value=H,$.callback=j||ps,$.errorHandler=a,o===l.concurrency||l.paused?s?(s.next=$,s=$):(n=$,s=$,l.saturated()):(o++,e.call(r,$.value,$.worked))}function y(H,j){var $=i.get();$.context=r,$.release=B,$.value=H,$.callback=j||ps,o===l.concurrency||l.paused?n?($.next=n,n=$):(n=$,s=$,l.saturated()):(o++,e.call(r,$.value,$.worked))}function B(H){H&&i.release(H);var j=n;j?l.paused?o--:(s===n&&(s=null),n=j.next,j.next=null,e.call(r,j.value,j.worked),s===null&&l.empty()):--o===0&&l.drain()}function v(){n=null,s=null,l.drain=ps}function D(){n=null,s=null,l.drain(),l.drain=ps}function L(H){a=H}}function ps(){}function rQe(){this.value=null,this.callback=ps,this.next=null,this.release=ps,this.context=null,this.errorHandler=null;var r=this;this.worked=function(t,i){var n=r.callback,s=r.errorHandler,o=r.value;r.value=null,r.callback=ps,r.errorHandler&&s(t,o),n.call(r.context,t,i),r.release(r)}}function iQe(r,e,t){typeof r==\"function\"&&(t=e,e=r,r=null);function i(u,g){e.call(this,u).then(function(f){g(null,f)},g)}var n=J3(r,i,t),s=n.push,o=n.unshift;return n.push=a,n.unshift=l,n.drained=c,n;function a(u){var g=new Promise(function(f,h){s(u,function(p,C){if(p){h(p);return}f(C)})});return g.catch(ps),g}function l(u){var g=new Promise(function(f,h){o(u,function(p,C){if(p){h(p);return}f(C)})});return g.catch(ps),g}function c(){var u=n.drain,g=new Promise(function(f){n.drain=function(){u(),f()}});return g}}uP.exports=J3;uP.exports.promise=iQe});var _y=w(Mo=>{\"use strict\";Object.defineProperty(Mo,\"__esModule\",{value:!0});Mo.joinPathSegments=Mo.replacePathSegmentSeparator=Mo.isAppliedFilter=Mo.isFatalError=void 0;function nQe(r,e){return r.errorFilter===null?!0:!r.errorFilter(e)}Mo.isFatalError=nQe;function sQe(r,e){return r===null||r(e)}Mo.isAppliedFilter=sQe;function oQe(r,e){return r.split(/[/\\\\]/).join(e)}Mo.replacePathSegmentSeparator=oQe;function aQe(r,e,t){return r===\"\"?e:r.endsWith(t)?r+e:r+t+e}Mo.joinPathSegments=aQe});var hP=w(fP=>{\"use strict\";Object.defineProperty(fP,\"__esModule\",{value:!0});var AQe=_y(),gP=class{constructor(e,t){this._root=e,this._settings=t,this._root=AQe.replacePathSegmentSeparator(e,t.pathSegmentSeparator)}};fP.default=gP});var CP=w(dP=>{\"use strict\";Object.defineProperty(dP,\"__esModule\",{value:!0});var lQe=J(\"events\"),cQe=Xy(),uQe=W3(),Zy=_y(),gQe=hP(),pP=class extends gQe.default{constructor(e,t){super(e,t),this._settings=t,this._scandir=cQe.scandir,this._emitter=new lQe.EventEmitter,this._queue=uQe(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit(\"end\")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error(\"The reader is already destroyed\");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on(\"entry\",e)}onError(e){this._emitter.once(\"error\",e)}onEnd(e){this._emitter.once(\"end\",e)}_pushToQueue(e,t){let i={directory:e,base:t};this._queue.push(i,n=>{n!==null&&this._handleError(n)})}_worker(e,t){this._scandir(e.directory,this._settings.fsScandirSettings,(i,n)=>{if(i!==null){t(i,void 0);return}for(let s of n)this._handleEntry(s,e.base);t(null,void 0)})}_handleError(e){this._isDestroyed||!Zy.isFatalError(this._settings,e)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit(\"error\",e))}_handleEntry(e,t){if(this._isDestroyed||this._isFatalError)return;let i=e.path;t!==void 0&&(e.path=Zy.joinPathSegments(t,e.name,this._settings.pathSegmentSeparator)),Zy.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&Zy.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_emitEntry(e){this._emitter.emit(\"entry\",e)}};dP.default=pP});var z3=w(EP=>{\"use strict\";Object.defineProperty(EP,\"__esModule\",{value:!0});var fQe=CP(),mP=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new fQe.default(this._root,this._settings),this._storage=new Set}read(e){this._reader.onError(t=>{hQe(e,t)}),this._reader.onEntry(t=>{this._storage.add(t)}),this._reader.onEnd(()=>{pQe(e,[...this._storage])}),this._reader.read()}};EP.default=mP;function hQe(r,e){r(e)}function pQe(r,e){r(null,e)}});var V3=w(yP=>{\"use strict\";Object.defineProperty(yP,\"__esModule\",{value:!0});var dQe=J(\"stream\"),CQe=CP(),IP=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new CQe.default(this._root,this._settings),this._stream=new dQe.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(e=>{this._stream.emit(\"error\",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};yP.default=IP});var X3=w(BP=>{\"use strict\";Object.defineProperty(BP,\"__esModule\",{value:!0});var mQe=Xy(),$y=_y(),EQe=hP(),wP=class extends EQe.default{constructor(){super(...arguments),this._scandir=mQe.scandirSync,this._storage=new Set,this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),[...this._storage]}_pushToQueue(e,t){this._queue.add({directory:e,base:t})}_handleQueue(){for(let e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,t){try{let i=this._scandir(e,this._settings.fsScandirSettings);for(let n of i)this._handleEntry(n,t)}catch(i){this._handleError(i)}}_handleError(e){if(!!$y.isFatalError(this._settings,e))throw e}_handleEntry(e,t){let i=e.path;t!==void 0&&(e.path=$y.joinPathSegments(t,e.name,this._settings.pathSegmentSeparator)),$y.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&$y.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_pushToStorage(e){this._storage.add(e)}};BP.default=wP});var _3=w(bP=>{\"use strict\";Object.defineProperty(bP,\"__esModule\",{value:!0});var IQe=X3(),QP=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new IQe.default(this._root,this._settings)}read(){return this._reader.read()}};bP.default=QP});var Z3=w(vP=>{\"use strict\";Object.defineProperty(vP,\"__esModule\",{value:!0});var yQe=J(\"path\"),wQe=Xy(),SP=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,yQe.sep),this.fsScandirSettings=new wQe.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,t){return e!=null?e:t}};vP.default=SP});var PP=w(Ko=>{\"use strict\";Object.defineProperty(Ko,\"__esModule\",{value:!0});Ko.Settings=Ko.walkStream=Ko.walkSync=Ko.walk=void 0;var $3=z3(),BQe=V3(),QQe=_3(),xP=Z3();Ko.Settings=xP.default;function bQe(r,e,t){if(typeof e==\"function\"){new $3.default(r,ew()).read(e);return}new $3.default(r,ew(e)).read(t)}Ko.walk=bQe;function SQe(r,e){let t=ew(e);return new QQe.default(r,t).read()}Ko.walkSync=SQe;function vQe(r,e){let t=ew(e);return new BQe.default(r,t).read()}Ko.walkStream=vQe;function ew(r={}){return r instanceof xP.default?r:new xP.default(r)}});var RP=w(kP=>{\"use strict\";Object.defineProperty(kP,\"__esModule\",{value:!0});var xQe=J(\"path\"),PQe=gc(),e4=Da(),DP=class{constructor(e){this._settings=e,this._fsStatSettings=new PQe.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return xQe.resolve(this._settings.cwd,e)}_makeEntry(e,t){let i={name:t,path:t,dirent:e4.fs.createDirentFromStats(t,e)};return this._settings.stats&&(i.stats=e),i}_isFatalError(e){return!e4.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};kP.default=DP});var LP=w(NP=>{\"use strict\";Object.defineProperty(NP,\"__esModule\",{value:!0});var DQe=J(\"stream\"),kQe=gc(),RQe=PP(),FQe=RP(),FP=class extends FQe.default{constructor(){super(...arguments),this._walkStream=RQe.walkStream,this._stat=kQe.stat}dynamic(e,t){return this._walkStream(e,t)}static(e,t){let i=e.map(this._getFullEntryPath,this),n=new DQe.PassThrough({objectMode:!0});n._write=(s,o,a)=>this._getEntry(i[s],e[s],t).then(l=>{l!==null&&t.entryFilter(l)&&n.push(l),s===i.length-1&&n.end(),a()}).catch(a);for(let s=0;s<i.length;s++)n.write(s);return n}_getEntry(e,t,i){return this._getStat(e).then(n=>this._makeEntry(n,t)).catch(n=>{if(i.errorFilter(n))return null;throw n})}_getStat(e){return new Promise((t,i)=>{this._stat(e,this._fsStatSettings,(n,s)=>n===null?t(s):i(n))})}};NP.default=FP});var t4=w(OP=>{\"use strict\";Object.defineProperty(OP,\"__esModule\",{value:!0});var ff=Da(),TP=class{constructor(e,t,i){this._patterns=e,this._settings=t,this._micromatchOptions=i,this._storage=[],this._fillStorage()}_fillStorage(){let e=ff.pattern.expandPatternsWithBraceExpansion(this._patterns);for(let t of e){let i=this._getPatternSegments(t),n=this._splitSegmentsIntoSections(i);this._storage.push({complete:n.length<=1,pattern:t,segments:i,sections:n})}}_getPatternSegments(e){return ff.pattern.getPatternParts(e,this._micromatchOptions).map(i=>ff.pattern.isDynamicPattern(i,this._settings)?{dynamic:!0,pattern:i,patternRe:ff.pattern.makeRe(i,this._micromatchOptions)}:{dynamic:!1,pattern:i})}_splitSegmentsIntoSections(e){return ff.array.splitWhen(e,t=>t.dynamic&&ff.pattern.hasGlobStar(t.pattern))}};OP.default=TP});var r4=w(KP=>{\"use strict\";Object.defineProperty(KP,\"__esModule\",{value:!0});var NQe=t4(),MP=class extends NQe.default{match(e){let t=e.split(\"/\"),i=t.length,n=this._storage.filter(s=>!s.complete||s.segments.length>i);for(let s of n){let o=s.sections[0];if(!s.complete&&i>o.length||t.every((l,c)=>{let u=s.segments[c];return!!(u.dynamic&&u.patternRe.test(l)||!u.dynamic&&u.pattern===l)}))return!0}return!1}};KP.default=MP});var i4=w(HP=>{\"use strict\";Object.defineProperty(HP,\"__esModule\",{value:!0});var tw=Da(),LQe=r4(),UP=class{constructor(e,t){this._settings=e,this._micromatchOptions=t}getFilter(e,t,i){let n=this._getMatcher(t),s=this._getNegativePatternsRe(i);return o=>this._filter(e,o,n,s)}_getMatcher(e){return new LQe.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let t=e.filter(tw.pattern.isAffectDepthOfReadingPattern);return tw.pattern.convertPatternsToRe(t,this._micromatchOptions)}_filter(e,t,i,n){let s=this._getEntryLevel(e,t.path);if(this._isSkippedByDeep(s)||this._isSkippedSymbolicLink(t))return!1;let o=tw.path.removeLeadingDotSegment(t.path);return this._isSkippedByPositivePatterns(o,i)?!1:this._isSkippedByNegativePatterns(o,n)}_isSkippedByDeep(e){return e>=this._settings.deep}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_getEntryLevel(e,t){let i=e.split(\"/\").length;return t.split(\"/\").length-(e===\"\"?0:i)}_isSkippedByPositivePatterns(e,t){return!this._settings.baseNameMatch&&!t.match(e)}_isSkippedByNegativePatterns(e,t){return!tw.pattern.matchAny(e,t)}};HP.default=UP});var n4=w(YP=>{\"use strict\";Object.defineProperty(YP,\"__esModule\",{value:!0});var Ud=Da(),GP=class{constructor(e,t){this._settings=e,this._micromatchOptions=t,this.index=new Map}getFilter(e,t){let i=Ud.pattern.convertPatternsToRe(e,this._micromatchOptions),n=Ud.pattern.convertPatternsToRe(t,this._micromatchOptions);return s=>this._filter(s,i,n)}_filter(e,t,i){if(this._settings.unique){if(this._isDuplicateEntry(e))return!1;this._createIndexRecord(e)}if(this._onlyFileFilter(e)||this._onlyDirectoryFilter(e)||this._isSkippedByAbsoluteNegativePatterns(e,i))return!1;let n=this._settings.baseNameMatch?e.name:e.path;return this._isMatchToPatterns(n,t)&&!this._isMatchToPatterns(e.path,i)}_isDuplicateEntry(e){return this.index.has(e.path)}_createIndexRecord(e){this.index.set(e.path,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,t){if(!this._settings.absolute)return!1;let i=Ud.path.makeAbsolute(this._settings.cwd,e.path);return this._isMatchToPatterns(i,t)}_isMatchToPatterns(e,t){let i=Ud.path.removeLeadingDotSegment(e);return Ud.pattern.matchAny(i,t)}};YP.default=GP});var s4=w(qP=>{\"use strict\";Object.defineProperty(qP,\"__esModule\",{value:!0});var TQe=Da(),jP=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return TQe.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};qP.default=jP});var a4=w(WP=>{\"use strict\";Object.defineProperty(WP,\"__esModule\",{value:!0});var o4=Da(),JP=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let t=e.path;return this._settings.absolute&&(t=o4.path.makeAbsolute(this._settings.cwd,t),t=o4.path.unixify(t)),this._settings.markDirectories&&e.dirent.isDirectory()&&(t+=\"/\"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:t}):t}};WP.default=JP});var rw=w(VP=>{\"use strict\";Object.defineProperty(VP,\"__esModule\",{value:!0});var OQe=J(\"path\"),MQe=i4(),KQe=n4(),UQe=s4(),HQe=a4(),zP=class{constructor(e){this._settings=e,this.errorFilter=new UQe.default(this._settings),this.entryFilter=new KQe.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new MQe.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new HQe.default(this._settings)}_getRootDirectory(e){return OQe.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){let t=e.base===\".\"?\"\":e.base;return{basePath:t,pathSegmentSeparator:\"/\",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(t,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};VP.default=zP});var A4=w(_P=>{\"use strict\";Object.defineProperty(_P,\"__esModule\",{value:!0});var GQe=LP(),YQe=rw(),XP=class extends YQe.default{constructor(){super(...arguments),this._reader=new GQe.default(this._settings)}read(e){let t=this._getRootDirectory(e),i=this._getReaderOptions(e),n=[];return new Promise((s,o)=>{let a=this.api(t,e,i);a.once(\"error\",o),a.on(\"data\",l=>n.push(i.transform(l))),a.once(\"end\",()=>s(n))})}api(e,t,i){return t.dynamic?this._reader.dynamic(e,i):this._reader.static(t.patterns,i)}};_P.default=XP});var l4=w($P=>{\"use strict\";Object.defineProperty($P,\"__esModule\",{value:!0});var jQe=J(\"stream\"),qQe=LP(),JQe=rw(),ZP=class extends JQe.default{constructor(){super(...arguments),this._reader=new qQe.default(this._settings)}read(e){let t=this._getRootDirectory(e),i=this._getReaderOptions(e),n=this.api(t,e,i),s=new jQe.Readable({objectMode:!0,read:()=>{}});return n.once(\"error\",o=>s.emit(\"error\",o)).on(\"data\",o=>s.emit(\"data\",i.transform(o))).once(\"end\",()=>s.emit(\"end\")),s.once(\"close\",()=>n.destroy()),s}api(e,t,i){return t.dynamic?this._reader.dynamic(e,i):this._reader.static(t.patterns,i)}};$P.default=ZP});var c4=w(tD=>{\"use strict\";Object.defineProperty(tD,\"__esModule\",{value:!0});var WQe=gc(),zQe=PP(),VQe=RP(),eD=class extends VQe.default{constructor(){super(...arguments),this._walkSync=zQe.walkSync,this._statSync=WQe.statSync}dynamic(e,t){return this._walkSync(e,t)}static(e,t){let i=[];for(let n of e){let s=this._getFullEntryPath(n),o=this._getEntry(s,n,t);o===null||!t.entryFilter(o)||i.push(o)}return i}_getEntry(e,t,i){try{let n=this._getStat(e);return this._makeEntry(n,t)}catch(n){if(i.errorFilter(n))return null;throw n}}_getStat(e){return this._statSync(e,this._fsStatSettings)}};tD.default=eD});var u4=w(iD=>{\"use strict\";Object.defineProperty(iD,\"__esModule\",{value:!0});var XQe=c4(),_Qe=rw(),rD=class extends _Qe.default{constructor(){super(...arguments),this._reader=new XQe.default(this._settings)}read(e){let t=this._getRootDirectory(e),i=this._getReaderOptions(e);return this.api(t,e,i).map(i.transform)}api(e,t,i){return t.dynamic?this._reader.dynamic(e,i):this._reader.static(t.patterns,i)}};iD.default=rD});var g4=w(Hd=>{\"use strict\";Object.defineProperty(Hd,\"__esModule\",{value:!0});var hf=J(\"fs\"),ZQe=J(\"os\"),$Qe=ZQe.cpus().length;Hd.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:hf.lstat,lstatSync:hf.lstatSync,stat:hf.stat,statSync:hf.statSync,readdir:hf.readdir,readdirSync:hf.readdirSync};var nD=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,$Qe),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,1/0),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(e,t){return e===void 0?t:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},Hd.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};Hd.default=nD});var iw=w((Itt,h4)=>{\"use strict\";var f4=m3(),ebe=A4(),tbe=l4(),rbe=u4(),sD=g4(),fc=Da();async function oD(r,e){pf(r);let t=aD(r,ebe.default,e),i=await Promise.all(t);return fc.array.flatten(i)}(function(r){function e(o,a){pf(o);let l=aD(o,rbe.default,a);return fc.array.flatten(l)}r.sync=e;function t(o,a){pf(o);let l=aD(o,tbe.default,a);return fc.stream.merge(l)}r.stream=t;function i(o,a){pf(o);let l=[].concat(o),c=new sD.default(a);return f4.generate(l,c)}r.generateTasks=i;function n(o,a){pf(o);let l=new sD.default(a);return fc.pattern.isDynamicPattern(o,l)}r.isDynamicPattern=n;function s(o){return pf(o),fc.path.escape(o)}r.escapePath=s})(oD||(oD={}));function aD(r,e,t){let i=[].concat(r),n=new sD.default(t),s=f4.generate(i,n),o=new e(n);return s.map(o.read,o)}function pf(r){if(![].concat(r).every(i=>fc.string.isString(i)&&!fc.string.isEmpty(i)))throw new TypeError(\"Patterns must be a string (non empty) or an array of strings\")}h4.exports=oD});var d4=w(hc=>{\"use strict\";var{promisify:ibe}=J(\"util\"),p4=J(\"fs\");async function AD(r,e,t){if(typeof t!=\"string\")throw new TypeError(`Expected a string, got ${typeof t}`);try{return(await ibe(p4[r])(t))[e]()}catch(i){if(i.code===\"ENOENT\")return!1;throw i}}function lD(r,e,t){if(typeof t!=\"string\")throw new TypeError(`Expected a string, got ${typeof t}`);try{return p4[r](t)[e]()}catch(i){if(i.code===\"ENOENT\")return!1;throw i}}hc.isFile=AD.bind(null,\"stat\",\"isFile\");hc.isDirectory=AD.bind(null,\"stat\",\"isDirectory\");hc.isSymlink=AD.bind(null,\"lstat\",\"isSymbolicLink\");hc.isFileSync=lD.bind(null,\"statSync\",\"isFile\");hc.isDirectorySync=lD.bind(null,\"statSync\",\"isDirectory\");hc.isSymlinkSync=lD.bind(null,\"lstatSync\",\"isSymbolicLink\")});var y4=w((wtt,cD)=>{\"use strict\";var pc=J(\"path\"),C4=d4(),m4=r=>r.length>1?`{${r.join(\",\")}}`:r[0],E4=(r,e)=>{let t=r[0]===\"!\"?r.slice(1):r;return pc.isAbsolute(t)?t:pc.join(e,t)},nbe=(r,e)=>pc.extname(r)?`**/${r}`:`**/${r}.${m4(e)}`,I4=(r,e)=>{if(e.files&&!Array.isArray(e.files))throw new TypeError(`Expected \\`files\\` to be of type \\`Array\\` but received type \\`${typeof e.files}\\``);if(e.extensions&&!Array.isArray(e.extensions))throw new TypeError(`Expected \\`extensions\\` to be of type \\`Array\\` but received type \\`${typeof e.extensions}\\``);return e.files&&e.extensions?e.files.map(t=>pc.posix.join(r,nbe(t,e.extensions))):e.files?e.files.map(t=>pc.posix.join(r,`**/${t}`)):e.extensions?[pc.posix.join(r,`**/*.${m4(e.extensions)}`)]:[pc.posix.join(r,\"**\")]};cD.exports=async(r,e)=>{if(e={cwd:process.cwd(),...e},typeof e.cwd!=\"string\")throw new TypeError(`Expected \\`cwd\\` to be of type \\`string\\` but received type \\`${typeof e.cwd}\\``);let t=await Promise.all([].concat(r).map(async i=>await C4.isDirectory(E4(i,e.cwd))?I4(i,e):i));return[].concat.apply([],t)};cD.exports.sync=(r,e)=>{if(e={cwd:process.cwd(),...e},typeof e.cwd!=\"string\")throw new TypeError(`Expected \\`cwd\\` to be of type \\`string\\` but received type \\`${typeof e.cwd}\\``);let t=[].concat(r).map(i=>C4.isDirectorySync(E4(i,e.cwd))?I4(i,e):i);return[].concat.apply([],t)}});var P4=w((Btt,x4)=>{function w4(r){return Array.isArray(r)?r:[r]}var S4=\"\",B4=\" \",uD=\"\\\\\",sbe=/^\\s+$/,obe=/^\\\\!/,abe=/^\\\\#/,Abe=/\\r?\\n/g,lbe=/^\\.*\\/|^\\.+$/,gD=\"/\",Q4=typeof Symbol<\"u\"?Symbol.for(\"node-ignore\"):\"node-ignore\",cbe=(r,e,t)=>Object.defineProperty(r,e,{value:t}),ube=/([0-z])-([0-z])/g,gbe=r=>r.replace(ube,(e,t,i)=>t.charCodeAt(0)<=i.charCodeAt(0)?e:S4),fbe=r=>{let{length:e}=r;return r.slice(0,e-e%2)},hbe=[[/\\\\?\\s+$/,r=>r.indexOf(\"\\\\\")===0?B4:S4],[/\\\\\\s/g,()=>B4],[/[\\\\$.|*+(){^]/g,r=>`\\\\${r}`],[/(?!\\\\)\\?/g,()=>\"[^/]\"],[/^\\//,()=>\"^\"],[/\\//g,()=>\"\\\\/\"],[/^\\^*\\\\\\*\\\\\\*\\\\\\//,()=>\"^(?:.*\\\\/)?\"],[/^(?=[^^])/,function(){return/\\/(?!$)/.test(this)?\"^\":\"(?:^|\\\\/)\"}],[/\\\\\\/\\\\\\*\\\\\\*(?=\\\\\\/|$)/g,(r,e,t)=>e+6<t.length?\"(?:\\\\/[^\\\\/]+)*\":\"\\\\/.+\"],[/(^|[^\\\\]+)\\\\\\*(?=.+)/g,(r,e)=>`${e}[^\\\\/]*`],[/\\\\\\\\\\\\(?=[$.|*+(){^])/g,()=>uD],[/\\\\\\\\/g,()=>uD],[/(\\\\)?\\[([^\\]/]*?)(\\\\*)($|\\])/g,(r,e,t,i,n)=>e===uD?`\\\\[${t}${fbe(i)}${n}`:n===\"]\"&&i.length%2===0?`[${gbe(t)}${i}]`:\"[]\"],[/(?:[^*])$/,r=>/\\/$/.test(r)?`${r}$`:`${r}(?=$|\\\\/$)`],[/(\\^|\\\\\\/)?\\\\\\*$/,(r,e)=>`${e?`${e}[^/]+`:\"[^/]*\"}(?=$|\\\\/$)`]],b4=Object.create(null),pbe=(r,e)=>{let t=b4[r];return t||(t=hbe.reduce((i,n)=>i.replace(n[0],n[1].bind(r)),r),b4[r]=t),e?new RegExp(t,\"i\"):new RegExp(t)},pD=r=>typeof r==\"string\",dbe=r=>r&&pD(r)&&!sbe.test(r)&&r.indexOf(\"#\")!==0,Cbe=r=>r.split(Abe),fD=class{constructor(e,t,i,n){this.origin=e,this.pattern=t,this.negative=i,this.regex=n}},mbe=(r,e)=>{let t=r,i=!1;r.indexOf(\"!\")===0&&(i=!0,r=r.substr(1)),r=r.replace(obe,\"!\").replace(abe,\"#\");let n=pbe(r,e);return new fD(t,r,i,n)},Ebe=(r,e)=>{throw new e(r)},Ra=(r,e,t)=>pD(r)?r?Ra.isNotRelative(r)?t(`path should be a \\`path.relative()\\`d string, but got \"${e}\"`,RangeError):!0:t(\"path must not be empty\",TypeError):t(`path must be a string, but got \\`${e}\\``,TypeError),v4=r=>lbe.test(r);Ra.isNotRelative=v4;Ra.convert=r=>r;var hD=class{constructor({ignorecase:e=!0}={}){cbe(this,Q4,!0),this._rules=[],this._ignorecase=e,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[Q4]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(dbe(e)){let t=mbe(e,this._ignorecase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,w4(pD(e)?Cbe(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,t){let i=!1,n=!1;return this._rules.forEach(s=>{let{negative:o}=s;if(n===o&&i!==n||o&&!i&&!n&&!t)return;s.regex.test(e)&&(i=!o,n=o)}),{ignored:i,unignored:n}}_test(e,t,i,n){let s=e&&Ra.convert(e);return Ra(s,e,Ebe),this._t(s,t,i,n)}_t(e,t,i,n){if(e in t)return t[e];if(n||(n=e.split(gD)),n.pop(),!n.length)return t[e]=this._testOne(e,i);let s=this._t(n.join(gD)+gD,t,i,n);return t[e]=s.ignored?s:this._testOne(e,i)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return w4(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},nw=r=>new hD(r),Ibe=()=>!1,ybe=r=>Ra(r&&Ra.convert(r),r,Ibe);nw.isPathValid=ybe;nw.default=nw;x4.exports=nw;if(typeof process<\"u\"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform===\"win32\")){let r=t=>/^\\\\\\\\\\?\\\\/.test(t)||/[\"<>|\\u0000-\\u001F]+/u.test(t)?t:t.replace(/\\\\/g,\"/\");Ra.convert=r;let e=/^[a-z]:\\//i;Ra.isNotRelative=t=>e.test(t)||v4(t)}});var k4=w((Qtt,D4)=>{\"use strict\";D4.exports=r=>{let e=/^\\\\\\\\\\?\\\\/.test(r),t=/[^\\u0000-\\u0080]+/.test(r);return e||t?r:r.replace(/\\\\/g,\"/\")}});var M4=w((btt,dD)=>{\"use strict\";var{promisify:wbe}=J(\"util\"),R4=J(\"fs\"),Fa=J(\"path\"),F4=iw(),Bbe=P4(),Gd=k4(),N4=[\"**/node_modules/**\",\"**/flow-typed/**\",\"**/coverage/**\",\"**/.git\"],Qbe=wbe(R4.readFile),bbe=r=>e=>e.startsWith(\"!\")?\"!\"+Fa.posix.join(r,e.slice(1)):Fa.posix.join(r,e),Sbe=(r,e)=>{let t=Gd(Fa.relative(e.cwd,Fa.dirname(e.fileName)));return r.split(/\\r?\\n/).filter(Boolean).filter(i=>!i.startsWith(\"#\")).map(bbe(t))},L4=r=>{let e=Bbe();for(let t of r)e.add(Sbe(t.content,{cwd:t.cwd,fileName:t.filePath}));return e},vbe=(r,e)=>{if(r=Gd(r),Fa.isAbsolute(e)){if(Gd(e).startsWith(r))return e;throw new Error(`Path ${e} is not in cwd ${r}`)}return Fa.join(r,e)},T4=(r,e)=>t=>r.ignores(Gd(Fa.relative(e,vbe(e,t.path||t)))),xbe=async(r,e)=>{let t=Fa.join(e,r),i=await Qbe(t,\"utf8\");return{cwd:e,filePath:t,content:i}},Pbe=(r,e)=>{let t=Fa.join(e,r),i=R4.readFileSync(t,\"utf8\");return{cwd:e,filePath:t,content:i}},O4=({ignore:r=[],cwd:e=Gd(process.cwd())}={})=>({ignore:r,cwd:e});dD.exports=async r=>{r=O4(r);let e=await F4(\"**/.gitignore\",{ignore:N4.concat(r.ignore),cwd:r.cwd}),t=await Promise.all(e.map(n=>xbe(n,r.cwd))),i=L4(t);return T4(i,r.cwd)};dD.exports.sync=r=>{r=O4(r);let t=F4.sync(\"**/.gitignore\",{ignore:N4.concat(r.ignore),cwd:r.cwd}).map(n=>Pbe(n,r.cwd)),i=L4(t);return T4(i,r.cwd)}});var U4=w((Stt,K4)=>{\"use strict\";var{Transform:Dbe}=J(\"stream\"),sw=class extends Dbe{constructor(){super({objectMode:!0})}},CD=class extends sw{constructor(e){super(),this._filter=e}_transform(e,t,i){this._filter(e)&&this.push(e),i()}},mD=class extends sw{constructor(){super(),this._pushed=new Set}_transform(e,t,i){this._pushed.has(e)||(this.push(e),this._pushed.add(e)),i()}};K4.exports={FilterStream:CD,UniqueStream:mD}});var wD=w((vtt,dc)=>{\"use strict\";var G4=J(\"fs\"),ow=HW(),kbe=Yx(),aw=iw(),Aw=y4(),ED=M4(),{FilterStream:Rbe,UniqueStream:Fbe}=U4(),Y4=()=>!1,H4=r=>r[0]===\"!\",Nbe=r=>{if(!r.every(e=>typeof e==\"string\"))throw new TypeError(\"Patterns must be a string or an array of strings\")},Lbe=(r={})=>{if(!r.cwd)return;let e;try{e=G4.statSync(r.cwd)}catch{return}if(!e.isDirectory())throw new Error(\"The `cwd` option must be a path to a directory\")},Tbe=r=>r.stats instanceof G4.Stats?r.path:r,lw=(r,e)=>{r=ow([].concat(r)),Nbe(r),Lbe(e);let t=[];e={ignore:[],expandDirectories:!0,...e};for(let[i,n]of r.entries()){if(H4(n))continue;let s=r.slice(i).filter(a=>H4(a)).map(a=>a.slice(1)),o={...e,ignore:e.ignore.concat(s)};t.push({pattern:n,options:o})}return t},Obe=(r,e)=>{let t={};return r.options.cwd&&(t.cwd=r.options.cwd),Array.isArray(r.options.expandDirectories)?t={...t,files:r.options.expandDirectories}:typeof r.options.expandDirectories==\"object\"&&(t={...t,...r.options.expandDirectories}),e(r.pattern,t)},ID=(r,e)=>r.options.expandDirectories?Obe(r,e):[r.pattern],j4=r=>r&&r.gitignore?ED.sync({cwd:r.cwd,ignore:r.ignore}):Y4,yD=r=>e=>{let{options:t}=r;return t.ignore&&Array.isArray(t.ignore)&&t.expandDirectories&&(t.ignore=Aw.sync(t.ignore)),{pattern:e,options:t}};dc.exports=async(r,e)=>{let t=lw(r,e),i=async()=>e&&e.gitignore?ED({cwd:e.cwd,ignore:e.ignore}):Y4,n=async()=>{let l=await Promise.all(t.map(async c=>{let u=await ID(c,Aw);return Promise.all(u.map(yD(c)))}));return ow(...l)},[s,o]=await Promise.all([i(),n()]),a=await Promise.all(o.map(l=>aw(l.pattern,l.options)));return ow(...a).filter(l=>!s(Tbe(l)))};dc.exports.sync=(r,e)=>{let t=lw(r,e),i=[];for(let o of t){let a=ID(o,Aw.sync).map(yD(o));i.push(...a)}let n=j4(e),s=[];for(let o of i)s=ow(s,aw.sync(o.pattern,o.options));return s.filter(o=>!n(o))};dc.exports.stream=(r,e)=>{let t=lw(r,e),i=[];for(let a of t){let l=ID(a,Aw.sync).map(yD(a));i.push(...l)}let n=j4(e),s=new Rbe(a=>!n(a)),o=new Fbe;return kbe(i.map(a=>aw.stream(a.pattern,a.options))).pipe(s).pipe(o)};dc.exports.generateGlobTasks=lw;dc.exports.hasMagic=(r,e)=>[].concat(r).some(t=>aw.isDynamicPattern(t,e));dc.exports.gitignore=ED});var bn=w((jtt,s8)=>{function Xbe(r){var e=typeof r;return r!=null&&(e==\"object\"||e==\"function\")}s8.exports=Xbe});var kD=w((qtt,o8)=>{var _be=typeof global==\"object\"&&global&&global.Object===Object&&global;o8.exports=_be});var ds=w((Jtt,a8)=>{var Zbe=kD(),$be=typeof self==\"object\"&&self&&self.Object===Object&&self,eSe=Zbe||$be||Function(\"return this\")();a8.exports=eSe});var l8=w((Wtt,A8)=>{var tSe=ds(),rSe=function(){return tSe.Date.now()};A8.exports=rSe});var u8=w((ztt,c8)=>{var iSe=/\\s/;function nSe(r){for(var e=r.length;e--&&iSe.test(r.charAt(e)););return e}c8.exports=nSe});var f8=w((Vtt,g8)=>{var sSe=u8(),oSe=/^\\s+/;function aSe(r){return r&&r.slice(0,sSe(r)+1).replace(oSe,\"\")}g8.exports=aSe});var Ec=w((Xtt,h8)=>{var ASe=ds(),lSe=ASe.Symbol;h8.exports=lSe});var m8=w((_tt,C8)=>{var p8=Ec(),d8=Object.prototype,cSe=d8.hasOwnProperty,uSe=d8.toString,eC=p8?p8.toStringTag:void 0;function gSe(r){var e=cSe.call(r,eC),t=r[eC];try{r[eC]=void 0;var i=!0}catch{}var n=uSe.call(r);return i&&(e?r[eC]=t:delete r[eC]),n}C8.exports=gSe});var I8=w((Ztt,E8)=>{var fSe=Object.prototype,hSe=fSe.toString;function pSe(r){return hSe.call(r)}E8.exports=pSe});var Ic=w(($tt,B8)=>{var y8=Ec(),dSe=m8(),CSe=I8(),mSe=\"[object Null]\",ESe=\"[object Undefined]\",w8=y8?y8.toStringTag:void 0;function ISe(r){return r==null?r===void 0?ESe:mSe:w8&&w8 in Object(r)?dSe(r):CSe(r)}B8.exports=ISe});var Go=w((ert,Q8)=>{function ySe(r){return r!=null&&typeof r==\"object\"}Q8.exports=ySe});var tC=w((trt,b8)=>{var wSe=Ic(),BSe=Go(),QSe=\"[object Symbol]\";function bSe(r){return typeof r==\"symbol\"||BSe(r)&&wSe(r)==QSe}b8.exports=bSe});var P8=w((rrt,x8)=>{var SSe=f8(),S8=bn(),vSe=tC(),v8=0/0,xSe=/^[-+]0x[0-9a-f]+$/i,PSe=/^0b[01]+$/i,DSe=/^0o[0-7]+$/i,kSe=parseInt;function RSe(r){if(typeof r==\"number\")return r;if(vSe(r))return v8;if(S8(r)){var e=typeof r.valueOf==\"function\"?r.valueOf():r;r=S8(e)?e+\"\":e}if(typeof r!=\"string\")return r===0?r:+r;r=SSe(r);var t=PSe.test(r);return t||DSe.test(r)?kSe(r.slice(2),t?2:8):xSe.test(r)?v8:+r}x8.exports=RSe});var R8=w((irt,k8)=>{var FSe=bn(),RD=l8(),D8=P8(),NSe=\"Expected a function\",LSe=Math.max,TSe=Math.min;function OSe(r,e,t){var i,n,s,o,a,l,c=0,u=!1,g=!1,f=!0;if(typeof r!=\"function\")throw new TypeError(NSe);e=D8(e)||0,FSe(t)&&(u=!!t.leading,g=\"maxWait\"in t,s=g?LSe(D8(t.maxWait)||0,e):s,f=\"trailing\"in t?!!t.trailing:f);function h(j){var $=i,V=n;return i=n=void 0,c=j,o=r.apply(V,$),o}function p(j){return c=j,a=setTimeout(B,e),u?h(j):o}function C(j){var $=j-l,V=j-c,W=e-$;return g?TSe(W,s-V):W}function y(j){var $=j-l,V=j-c;return l===void 0||$>=e||$<0||g&&V>=s}function B(){var j=RD();if(y(j))return v(j);a=setTimeout(B,C(j))}function v(j){return a=void 0,f&&i?h(j):(i=n=void 0,o)}function D(){a!==void 0&&clearTimeout(a),c=0,i=l=n=a=void 0}function L(){return a===void 0?o:v(RD())}function H(){var j=RD(),$=y(j);if(i=arguments,n=this,l=j,$){if(a===void 0)return p(l);if(g)return clearTimeout(a),a=setTimeout(B,e),h(l)}return a===void 0&&(a=setTimeout(B,e)),o}return H.cancel=D,H.flush=L,H}k8.exports=OSe});var N8=w((nrt,F8)=>{var MSe=R8(),KSe=bn(),USe=\"Expected a function\";function HSe(r,e,t){var i=!0,n=!0;if(typeof r!=\"function\")throw new TypeError(USe);return KSe(t)&&(i=\"leading\"in t?!!t.leading:i,n=\"trailing\"in t?!!t.trailing:n),MSe(r,e,{leading:i,maxWait:e,trailing:n})}F8.exports=HSe});var Ta=w((La,kw)=>{\"use strict\";Object.defineProperty(La,\"__esModule\",{value:!0});var Y8=[\"Int8Array\",\"Uint8Array\",\"Uint8ClampedArray\",\"Int16Array\",\"Uint16Array\",\"Int32Array\",\"Uint32Array\",\"Float32Array\",\"Float64Array\",\"BigInt64Array\",\"BigUint64Array\"];function eve(r){return Y8.includes(r)}var tve=[\"Function\",\"Generator\",\"AsyncGenerator\",\"GeneratorFunction\",\"AsyncGeneratorFunction\",\"AsyncFunction\",\"Observable\",\"Array\",\"Buffer\",\"Object\",\"RegExp\",\"Date\",\"Error\",\"Map\",\"Set\",\"WeakMap\",\"WeakSet\",\"ArrayBuffer\",\"SharedArrayBuffer\",\"DataView\",\"Promise\",\"URL\",\"FormData\",\"URLSearchParams\",\"HTMLElement\",...Y8];function rve(r){return tve.includes(r)}var ive=[\"null\",\"undefined\",\"string\",\"number\",\"bigint\",\"boolean\",\"symbol\"];function nve(r){return ive.includes(r)}function Sf(r){return e=>typeof e===r}var{toString:j8}=Object.prototype,oC=r=>{let e=j8.call(r).slice(8,-1);if(/HTML\\w+Element/.test(e)&&X.domElement(r))return\"HTMLElement\";if(rve(e))return e},lr=r=>e=>oC(e)===r;function X(r){if(r===null)return\"null\";switch(typeof r){case\"undefined\":return\"undefined\";case\"string\":return\"string\";case\"number\":return\"number\";case\"boolean\":return\"boolean\";case\"function\":return\"Function\";case\"bigint\":return\"bigint\";case\"symbol\":return\"symbol\";default:}if(X.observable(r))return\"Observable\";if(X.array(r))return\"Array\";if(X.buffer(r))return\"Buffer\";let e=oC(r);if(e)return e;if(r instanceof String||r instanceof Boolean||r instanceof Number)throw new TypeError(\"Please don't use object wrappers for primitive types\");return\"Object\"}X.undefined=Sf(\"undefined\");X.string=Sf(\"string\");var sve=Sf(\"number\");X.number=r=>sve(r)&&!X.nan(r);X.bigint=Sf(\"bigint\");X.function_=Sf(\"function\");X.null_=r=>r===null;X.class_=r=>X.function_(r)&&r.toString().startsWith(\"class \");X.boolean=r=>r===!0||r===!1;X.symbol=Sf(\"symbol\");X.numericString=r=>X.string(r)&&!X.emptyStringOrWhitespace(r)&&!Number.isNaN(Number(r));X.array=(r,e)=>Array.isArray(r)?X.function_(e)?r.every(e):!0:!1;X.buffer=r=>{var e,t,i,n;return(n=(i=(t=(e=r)===null||e===void 0?void 0:e.constructor)===null||t===void 0?void 0:t.isBuffer)===null||i===void 0?void 0:i.call(t,r))!==null&&n!==void 0?n:!1};X.nullOrUndefined=r=>X.null_(r)||X.undefined(r);X.object=r=>!X.null_(r)&&(typeof r==\"object\"||X.function_(r));X.iterable=r=>{var e;return X.function_((e=r)===null||e===void 0?void 0:e[Symbol.iterator])};X.asyncIterable=r=>{var e;return X.function_((e=r)===null||e===void 0?void 0:e[Symbol.asyncIterator])};X.generator=r=>X.iterable(r)&&X.function_(r.next)&&X.function_(r.throw);X.asyncGenerator=r=>X.asyncIterable(r)&&X.function_(r.next)&&X.function_(r.throw);X.nativePromise=r=>lr(\"Promise\")(r);var ove=r=>{var e,t;return X.function_((e=r)===null||e===void 0?void 0:e.then)&&X.function_((t=r)===null||t===void 0?void 0:t.catch)};X.promise=r=>X.nativePromise(r)||ove(r);X.generatorFunction=lr(\"GeneratorFunction\");X.asyncGeneratorFunction=r=>oC(r)===\"AsyncGeneratorFunction\";X.asyncFunction=r=>oC(r)===\"AsyncFunction\";X.boundFunction=r=>X.function_(r)&&!r.hasOwnProperty(\"prototype\");X.regExp=lr(\"RegExp\");X.date=lr(\"Date\");X.error=lr(\"Error\");X.map=r=>lr(\"Map\")(r);X.set=r=>lr(\"Set\")(r);X.weakMap=r=>lr(\"WeakMap\")(r);X.weakSet=r=>lr(\"WeakSet\")(r);X.int8Array=lr(\"Int8Array\");X.uint8Array=lr(\"Uint8Array\");X.uint8ClampedArray=lr(\"Uint8ClampedArray\");X.int16Array=lr(\"Int16Array\");X.uint16Array=lr(\"Uint16Array\");X.int32Array=lr(\"Int32Array\");X.uint32Array=lr(\"Uint32Array\");X.float32Array=lr(\"Float32Array\");X.float64Array=lr(\"Float64Array\");X.bigInt64Array=lr(\"BigInt64Array\");X.bigUint64Array=lr(\"BigUint64Array\");X.arrayBuffer=lr(\"ArrayBuffer\");X.sharedArrayBuffer=lr(\"SharedArrayBuffer\");X.dataView=lr(\"DataView\");X.directInstanceOf=(r,e)=>Object.getPrototypeOf(r)===e.prototype;X.urlInstance=r=>lr(\"URL\")(r);X.urlString=r=>{if(!X.string(r))return!1;try{return new URL(r),!0}catch{return!1}};X.truthy=r=>Boolean(r);X.falsy=r=>!r;X.nan=r=>Number.isNaN(r);X.primitive=r=>X.null_(r)||nve(typeof r);X.integer=r=>Number.isInteger(r);X.safeInteger=r=>Number.isSafeInteger(r);X.plainObject=r=>{if(j8.call(r)!==\"[object Object]\")return!1;let e=Object.getPrototypeOf(r);return e===null||e===Object.getPrototypeOf({})};X.typedArray=r=>eve(oC(r));var ave=r=>X.safeInteger(r)&&r>=0;X.arrayLike=r=>!X.nullOrUndefined(r)&&!X.function_(r)&&ave(r.length);X.inRange=(r,e)=>{if(X.number(e))return r>=Math.min(0,e)&&r<=Math.max(e,0);if(X.array(e)&&e.length===2)return r>=Math.min(...e)&&r<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var Ave=1,lve=[\"innerHTML\",\"ownerDocument\",\"style\",\"attributes\",\"nodeValue\"];X.domElement=r=>X.object(r)&&r.nodeType===Ave&&X.string(r.nodeName)&&!X.plainObject(r)&&lve.every(e=>e in r);X.observable=r=>{var e,t,i,n;return r?r===((t=(e=r)[Symbol.observable])===null||t===void 0?void 0:t.call(e))||r===((n=(i=r)[\"@@observable\"])===null||n===void 0?void 0:n.call(i)):!1};X.nodeStream=r=>X.object(r)&&X.function_(r.pipe)&&!X.observable(r);X.infinite=r=>r===1/0||r===-1/0;var q8=r=>e=>X.integer(e)&&Math.abs(e%2)===r;X.evenInteger=q8(0);X.oddInteger=q8(1);X.emptyArray=r=>X.array(r)&&r.length===0;X.nonEmptyArray=r=>X.array(r)&&r.length>0;X.emptyString=r=>X.string(r)&&r.length===0;X.nonEmptyString=r=>X.string(r)&&r.length>0;var cve=r=>X.string(r)&&!/\\S/.test(r);X.emptyStringOrWhitespace=r=>X.emptyString(r)||cve(r);X.emptyObject=r=>X.object(r)&&!X.map(r)&&!X.set(r)&&Object.keys(r).length===0;X.nonEmptyObject=r=>X.object(r)&&!X.map(r)&&!X.set(r)&&Object.keys(r).length>0;X.emptySet=r=>X.set(r)&&r.size===0;X.nonEmptySet=r=>X.set(r)&&r.size>0;X.emptyMap=r=>X.map(r)&&r.size===0;X.nonEmptyMap=r=>X.map(r)&&r.size>0;X.propertyKey=r=>X.any([X.string,X.number,X.symbol],r);X.formData=r=>lr(\"FormData\")(r);X.urlSearchParams=r=>lr(\"URLSearchParams\")(r);var J8=(r,e,t)=>{if(!X.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(t.length===0)throw new TypeError(\"Invalid number of values\");return r.call(t,e)};X.any=(r,...e)=>(X.array(r)?r:[r]).some(i=>J8(Array.prototype.some,i,e));X.all=(r,...e)=>J8(Array.prototype.every,r,e);var Ye=(r,e,t,i={})=>{if(!r){let{multipleValues:n}=i,s=n?`received values of types ${[...new Set(t.map(o=>`\\`${X(o)}\\``))].join(\", \")}`:`received value of type \\`${X(t)}\\``;throw new TypeError(`Expected value which is \\`${e}\\`, ${s}.`)}};La.assert={undefined:r=>Ye(X.undefined(r),\"undefined\",r),string:r=>Ye(X.string(r),\"string\",r),number:r=>Ye(X.number(r),\"number\",r),bigint:r=>Ye(X.bigint(r),\"bigint\",r),function_:r=>Ye(X.function_(r),\"Function\",r),null_:r=>Ye(X.null_(r),\"null\",r),class_:r=>Ye(X.class_(r),\"Class\",r),boolean:r=>Ye(X.boolean(r),\"boolean\",r),symbol:r=>Ye(X.symbol(r),\"symbol\",r),numericString:r=>Ye(X.numericString(r),\"string with a number\",r),array:(r,e)=>{Ye(X.array(r),\"Array\",r),e&&r.forEach(e)},buffer:r=>Ye(X.buffer(r),\"Buffer\",r),nullOrUndefined:r=>Ye(X.nullOrUndefined(r),\"null or undefined\",r),object:r=>Ye(X.object(r),\"Object\",r),iterable:r=>Ye(X.iterable(r),\"Iterable\",r),asyncIterable:r=>Ye(X.asyncIterable(r),\"AsyncIterable\",r),generator:r=>Ye(X.generator(r),\"Generator\",r),asyncGenerator:r=>Ye(X.asyncGenerator(r),\"AsyncGenerator\",r),nativePromise:r=>Ye(X.nativePromise(r),\"native Promise\",r),promise:r=>Ye(X.promise(r),\"Promise\",r),generatorFunction:r=>Ye(X.generatorFunction(r),\"GeneratorFunction\",r),asyncGeneratorFunction:r=>Ye(X.asyncGeneratorFunction(r),\"AsyncGeneratorFunction\",r),asyncFunction:r=>Ye(X.asyncFunction(r),\"AsyncFunction\",r),boundFunction:r=>Ye(X.boundFunction(r),\"Function\",r),regExp:r=>Ye(X.regExp(r),\"RegExp\",r),date:r=>Ye(X.date(r),\"Date\",r),error:r=>Ye(X.error(r),\"Error\",r),map:r=>Ye(X.map(r),\"Map\",r),set:r=>Ye(X.set(r),\"Set\",r),weakMap:r=>Ye(X.weakMap(r),\"WeakMap\",r),weakSet:r=>Ye(X.weakSet(r),\"WeakSet\",r),int8Array:r=>Ye(X.int8Array(r),\"Int8Array\",r),uint8Array:r=>Ye(X.uint8Array(r),\"Uint8Array\",r),uint8ClampedArray:r=>Ye(X.uint8ClampedArray(r),\"Uint8ClampedArray\",r),int16Array:r=>Ye(X.int16Array(r),\"Int16Array\",r),uint16Array:r=>Ye(X.uint16Array(r),\"Uint16Array\",r),int32Array:r=>Ye(X.int32Array(r),\"Int32Array\",r),uint32Array:r=>Ye(X.uint32Array(r),\"Uint32Array\",r),float32Array:r=>Ye(X.float32Array(r),\"Float32Array\",r),float64Array:r=>Ye(X.float64Array(r),\"Float64Array\",r),bigInt64Array:r=>Ye(X.bigInt64Array(r),\"BigInt64Array\",r),bigUint64Array:r=>Ye(X.bigUint64Array(r),\"BigUint64Array\",r),arrayBuffer:r=>Ye(X.arrayBuffer(r),\"ArrayBuffer\",r),sharedArrayBuffer:r=>Ye(X.sharedArrayBuffer(r),\"SharedArrayBuffer\",r),dataView:r=>Ye(X.dataView(r),\"DataView\",r),urlInstance:r=>Ye(X.urlInstance(r),\"URL\",r),urlString:r=>Ye(X.urlString(r),\"string with a URL\",r),truthy:r=>Ye(X.truthy(r),\"truthy\",r),falsy:r=>Ye(X.falsy(r),\"falsy\",r),nan:r=>Ye(X.nan(r),\"NaN\",r),primitive:r=>Ye(X.primitive(r),\"primitive\",r),integer:r=>Ye(X.integer(r),\"integer\",r),safeInteger:r=>Ye(X.safeInteger(r),\"integer\",r),plainObject:r=>Ye(X.plainObject(r),\"plain object\",r),typedArray:r=>Ye(X.typedArray(r),\"TypedArray\",r),arrayLike:r=>Ye(X.arrayLike(r),\"array-like\",r),domElement:r=>Ye(X.domElement(r),\"HTMLElement\",r),observable:r=>Ye(X.observable(r),\"Observable\",r),nodeStream:r=>Ye(X.nodeStream(r),\"Node.js Stream\",r),infinite:r=>Ye(X.infinite(r),\"infinite number\",r),emptyArray:r=>Ye(X.emptyArray(r),\"empty array\",r),nonEmptyArray:r=>Ye(X.nonEmptyArray(r),\"non-empty array\",r),emptyString:r=>Ye(X.emptyString(r),\"empty string\",r),nonEmptyString:r=>Ye(X.nonEmptyString(r),\"non-empty string\",r),emptyStringOrWhitespace:r=>Ye(X.emptyStringOrWhitespace(r),\"empty string or whitespace\",r),emptyObject:r=>Ye(X.emptyObject(r),\"empty object\",r),nonEmptyObject:r=>Ye(X.nonEmptyObject(r),\"non-empty object\",r),emptySet:r=>Ye(X.emptySet(r),\"empty set\",r),nonEmptySet:r=>Ye(X.nonEmptySet(r),\"non-empty set\",r),emptyMap:r=>Ye(X.emptyMap(r),\"empty map\",r),nonEmptyMap:r=>Ye(X.nonEmptyMap(r),\"non-empty map\",r),propertyKey:r=>Ye(X.propertyKey(r),\"PropertyKey\",r),formData:r=>Ye(X.formData(r),\"FormData\",r),urlSearchParams:r=>Ye(X.urlSearchParams(r),\"URLSearchParams\",r),evenInteger:r=>Ye(X.evenInteger(r),\"even integer\",r),oddInteger:r=>Ye(X.oddInteger(r),\"odd integer\",r),directInstanceOf:(r,e)=>Ye(X.directInstanceOf(r,e),\"T\",r),inRange:(r,e)=>Ye(X.inRange(r,e),\"in range\",r),any:(r,...e)=>Ye(X.any(r,...e),\"predicate returns truthy for any value\",e,{multipleValues:!0}),all:(r,...e)=>Ye(X.all(r,...e),\"predicate returns truthy for all values\",e,{multipleValues:!0})};Object.defineProperties(X,{class:{value:X.class_},function:{value:X.function_},null:{value:X.null_}});Object.defineProperties(La.assert,{class:{value:La.assert.class_},function:{value:La.assert.function_},null:{value:La.assert.null_}});La.default=X;kw.exports=X;kw.exports.default=X;kw.exports.assert=La.assert});var W8=w((Yrt,ek)=>{\"use strict\";var Rw=class extends Error{constructor(e){super(e||\"Promise was canceled\"),this.name=\"CancelError\"}get isCanceled(){return!0}},vf=class{static fn(e){return(...t)=>new vf((i,n,s)=>{t.push(s),e(...t).then(i,n)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((t,i)=>{this._reject=i;let n=a=>{this._isPending=!1,t(a)},s=a=>{this._isPending=!1,i(a)},o=a=>{if(!this._isPending)throw new Error(\"The `onCancel` handler was attached after the promise settled.\");this._cancelHandlers.push(a)};return Object.defineProperties(o,{shouldReject:{get:()=>this._rejectOnCancel,set:a=>{this._rejectOnCancel=a}}}),e(n,s,o)})}then(e,t){return this._promise.then(e,t)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let t of this._cancelHandlers)t()}catch(t){this._reject(t)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new Rw(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(vf.prototype,Promise.prototype);ek.exports=vf;ek.exports.CancelError=Rw});var z8=w((rk,ik)=>{\"use strict\";Object.defineProperty(rk,\"__esModule\",{value:!0});var uve=J(\"tls\"),tk=(r,e)=>{let t;typeof e==\"function\"?t={connect:e}:t=e;let i=typeof t.connect==\"function\",n=typeof t.secureConnect==\"function\",s=typeof t.close==\"function\",o=()=>{i&&t.connect(),r instanceof uve.TLSSocket&&n&&(r.authorized?t.secureConnect():r.authorizationError||r.once(\"secureConnect\",t.secureConnect)),s&&r.once(\"close\",t.close)};r.writable&&!r.connecting?o():r.connecting?r.once(\"connect\",o):r.destroyed&&s&&t.close(r._hadError)};rk.default=tk;ik.exports=tk;ik.exports.default=tk});var V8=w((sk,ok)=>{\"use strict\";Object.defineProperty(sk,\"__esModule\",{value:!0});var gve=z8(),fve=Number(process.versions.node.split(\".\")[0]),nk=r=>{let e={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};r.timings=e;let t=o=>{let a=o.emit.bind(o);o.emit=(l,...c)=>(l===\"error\"&&(e.error=Date.now(),e.phases.total=e.error-e.start,o.emit=a),a(l,...c))};t(r),r.prependOnceListener(\"abort\",()=>{e.abort=Date.now(),(!e.response||fve>=13)&&(e.phases.total=Date.now()-e.start)});let i=o=>{e.socket=Date.now(),e.phases.wait=e.socket-e.start;let a=()=>{e.lookup=Date.now(),e.phases.dns=e.lookup-e.socket};o.prependOnceListener(\"lookup\",a),gve.default(o,{connect:()=>{e.connect=Date.now(),e.lookup===void 0&&(o.removeListener(\"lookup\",a),e.lookup=e.connect,e.phases.dns=e.lookup-e.socket),e.phases.tcp=e.connect-e.lookup},secureConnect:()=>{e.secureConnect=Date.now(),e.phases.tls=e.secureConnect-e.connect}})};r.socket?i(r.socket):r.prependOnceListener(\"socket\",i);let n=()=>{var o;e.upload=Date.now(),e.phases.request=e.upload-(o=e.secureConnect,o!=null?o:e.connect)};return(()=>typeof r.writableFinished==\"boolean\"?r.writableFinished:r.finished&&r.outputSize===0&&(!r.socket||r.socket.writableLength===0))()?n():r.prependOnceListener(\"finish\",n),r.prependOnceListener(\"response\",o=>{e.response=Date.now(),e.phases.firstByte=e.response-e.upload,o.timings=e,t(o),o.prependOnceListener(\"end\",()=>{e.end=Date.now(),e.phases.download=e.end-e.response,e.phases.total=e.end-e.start})}),e};sk.default=nk;ok.exports=nk;ok.exports.default=nk});var rz=w((jrt,lk)=>{\"use strict\";var{V4MAPPED:hve,ADDRCONFIG:pve,ALL:tz,promises:{Resolver:X8},lookup:dve}=J(\"dns\"),{promisify:ak}=J(\"util\"),Cve=J(\"os\"),xf=Symbol(\"cacheableLookupCreateConnection\"),Ak=Symbol(\"cacheableLookupInstance\"),_8=Symbol(\"expires\"),mve=typeof tz==\"number\",Z8=r=>{if(!(r&&typeof r.createConnection==\"function\"))throw new Error(\"Expected an Agent instance as the first argument\")},Eve=r=>{for(let e of r)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},$8=()=>{let r=!1,e=!1;for(let t of Object.values(Cve.networkInterfaces()))for(let i of t)if(!i.internal&&(i.family===\"IPv6\"?e=!0:r=!0,r&&e))return{has4:r,has6:e};return{has4:r,has6:e}},Ive=r=>Symbol.iterator in r,ez={ttl:!0},yve={all:!0},Fw=class{constructor({cache:e=new Map,maxTtl:t=1/0,fallbackDuration:i=3600,errorTtl:n=.15,resolver:s=new X8,lookup:o=dve}={}){if(this.maxTtl=t,this.errorTtl=n,this._cache=e,this._resolver=s,this._dnsLookup=ak(o),this._resolver instanceof X8?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=ak(this._resolver.resolve4.bind(this._resolver)),this._resolve6=ak(this._resolver.resolve6.bind(this._resolver))),this._iface=$8(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,i<1)this._fallback=!1;else{this._fallback=!0;let a=setInterval(()=>{this._hostnamesToFallback.clear()},i*1e3);a.unref&&a.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,t,i){if(typeof t==\"function\"?(i=t,t={}):typeof t==\"number\"&&(t={family:t}),!i)throw new Error(\"Callback must be a function.\");this.lookupAsync(e,t).then(n=>{t.all?i(null,n):i(null,n.address,n.family,n.expires,n.ttl)},i)}async lookupAsync(e,t={}){typeof t==\"number\"&&(t={family:t});let i=await this.query(e);if(t.family===6){let n=i.filter(s=>s.family===6);t.hints&hve&&(mve&&t.hints&tz||n.length===0)?Eve(i):i=n}else t.family===4&&(i=i.filter(n=>n.family===4));if(t.hints&pve){let{_iface:n}=this;i=i.filter(s=>s.family===6?n.has6:n.has4)}if(i.length===0){let n=new Error(`cacheableLookup ENOTFOUND ${e}`);throw n.code=\"ENOTFOUND\",n.hostname=e,n}return t.all?i:i[0]}async query(e){let t=await this._cache.get(e);if(!t){let i=this._pending[e];if(i)t=await i;else{let n=this.queryAndCache(e);this._pending[e]=n,t=await n}}return t=t.map(i=>({...i})),t}async _resolve(e){let t=async c=>{try{return await c}catch(u){if(u.code===\"ENODATA\"||u.code===\"ENOTFOUND\")return[];throw u}},[i,n]=await Promise.all([this._resolve4(e,ez),this._resolve6(e,ez)].map(c=>t(c))),s=0,o=0,a=0,l=Date.now();for(let c of i)c.family=4,c.expires=l+c.ttl*1e3,s=Math.max(s,c.ttl);for(let c of n)c.family=6,c.expires=l+c.ttl*1e3,o=Math.max(o,c.ttl);return i.length>0?n.length>0?a=Math.min(s,o):a=s:a=o,{entries:[...i,...n],cacheTtl:a}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch{return{entries:[],cacheTtl:0}}}async _set(e,t,i){if(this.maxTtl>0&&i>0){i=Math.min(i,this.maxTtl)*1e3,t[_8]=Date.now()+i;try{await this._cache.set(e,t,i)}catch(n){this.lookupAsync=async()=>{let s=new Error(\"Cache Error. Please recreate the CacheableLookup instance.\");throw s.cause=n,s}}Ive(this._cache)&&this._tick(i)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,yve);try{let t=await this._resolve(e);t.entries.length===0&&this._fallback&&(t=await this._lookup(e),t.entries.length!==0&&this._hostnamesToFallback.add(e));let i=t.entries.length===0?this.errorTtl:t.cacheTtl;return await this._set(e,t.entries,i),delete this._pending[e],t.entries}catch(t){throw delete this._pending[e],t}}_tick(e){let t=this._nextRemovalTime;(!t||e<t)&&(clearTimeout(this._removalTimeout),this._nextRemovalTime=e,this._removalTimeout=setTimeout(()=>{this._nextRemovalTime=!1;let i=1/0,n=Date.now();for(let[s,o]of this._cache){let a=o[_8];n>=a?this._cache.delete(s):a<i&&(i=a)}i!==1/0&&this._tick(i-n)},e),this._removalTimeout.unref&&this._removalTimeout.unref())}install(e){if(Z8(e),xf in e)throw new Error(\"CacheableLookup has been already installed\");e[xf]=e.createConnection,e[Ak]=this,e.createConnection=(t,i)=>(\"lookup\"in t||(t.lookup=this.lookup),e[xf](t,i))}uninstall(e){if(Z8(e),e[xf]){if(e[Ak]!==this)throw new Error(\"The agent is not owned by this CacheableLookup instance\");e.createConnection=e[xf],delete e[xf],delete e[Ak]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=$8(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}};lk.exports=Fw;lk.exports.default=Fw});var sz=w((qrt,ck)=>{\"use strict\";var wve=typeof URL>\"u\"?J(\"url\").URL:URL,Bve=\"text/plain\",Qve=\"us-ascii\",iz=(r,e)=>e.some(t=>t instanceof RegExp?t.test(r):t===r),bve=(r,{stripHash:e})=>{let t=r.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!t)throw new Error(`Invalid URL: ${r}`);let i=t[1].split(\";\"),n=t[2],s=e?\"\":t[3],o=!1;i[i.length-1]===\"base64\"&&(i.pop(),o=!0);let a=(i.shift()||\"\").toLowerCase(),c=[...i.map(u=>{let[g,f=\"\"]=u.split(\"=\").map(h=>h.trim());return g===\"charset\"&&(f=f.toLowerCase(),f===Qve)?\"\":`${g}${f?`=${f}`:\"\"}`}).filter(Boolean)];return o&&c.push(\"base64\"),(c.length!==0||a&&a!==Bve)&&c.unshift(a),`data:${c.join(\";\")},${o?n.trim():n}${s?`#${s}`:\"\"}`},nz=(r,e)=>{if(e={defaultProtocol:\"http:\",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},Reflect.has(e,\"normalizeHttps\"))throw new Error(\"options.normalizeHttps is renamed to options.forceHttp\");if(Reflect.has(e,\"normalizeHttp\"))throw new Error(\"options.normalizeHttp is renamed to options.forceHttps\");if(Reflect.has(e,\"stripFragment\"))throw new Error(\"options.stripFragment is renamed to options.stripHash\");if(r=r.trim(),/^data:/i.test(r))return bve(r,e);let t=r.startsWith(\"//\");!t&&/^\\.*\\//.test(r)||(r=r.replace(/^(?!(?:\\w+:)?\\/\\/)|^\\/\\//,e.defaultProtocol));let n=new wve(r);if(e.forceHttp&&e.forceHttps)throw new Error(\"The `forceHttp` and `forceHttps` options cannot be used together\");if(e.forceHttp&&n.protocol===\"https:\"&&(n.protocol=\"http:\"),e.forceHttps&&n.protocol===\"http:\"&&(n.protocol=\"https:\"),e.stripAuthentication&&(n.username=\"\",n.password=\"\"),e.stripHash&&(n.hash=\"\"),n.pathname&&(n.pathname=n.pathname.replace(/((?!:).|^)\\/{2,}/g,(s,o)=>/^(?!\\/)/g.test(o)?`${o}/`:\"/\")),n.pathname&&(n.pathname=decodeURI(n.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let s=n.pathname.split(\"/\"),o=s[s.length-1];iz(o,e.removeDirectoryIndex)&&(s=s.slice(0,s.length-1),n.pathname=s.slice(1).join(\"/\")+\"/\")}if(n.hostname&&(n.hostname=n.hostname.replace(/\\.$/,\"\"),e.stripWWW&&/^www\\.([a-z\\-\\d]{2,63})\\.([a-z.]{2,5})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\\./,\"\"))),Array.isArray(e.removeQueryParameters))for(let s of[...n.searchParams.keys()])iz(s,e.removeQueryParameters)&&n.searchParams.delete(s);return e.sortQueryParameters&&n.searchParams.sort(),e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\\/$/,\"\")),r=n.toString(),(e.removeTrailingSlash||n.pathname===\"/\")&&n.hash===\"\"&&(r=r.replace(/\\/$/,\"\")),t&&!e.normalizeProtocol&&(r=r.replace(/^http:\\/\\//,\"//\")),e.stripProtocol&&(r=r.replace(/^(?:https?:)?\\/\\//,\"\")),r};ck.exports=nz;ck.exports.default=nz});var Az=w((Jrt,az)=>{az.exports=oz;function oz(r,e){if(r&&e)return oz(r)(e);if(typeof r!=\"function\")throw new TypeError(\"need wrapper function\");return Object.keys(r).forEach(function(i){t[i]=r[i]}),t;function t(){for(var i=new Array(arguments.length),n=0;n<i.length;n++)i[n]=arguments[n];var s=r.apply(this,i),o=i[i.length-1];return typeof s==\"function\"&&s!==o&&Object.keys(o).forEach(function(a){s[a]=o[a]}),s}}});var gk=w((Wrt,uk)=>{var lz=Az();uk.exports=lz(Nw);uk.exports.strict=lz(cz);Nw.proto=Nw(function(){Object.defineProperty(Function.prototype,\"once\",{value:function(){return Nw(this)},configurable:!0}),Object.defineProperty(Function.prototype,\"onceStrict\",{value:function(){return cz(this)},configurable:!0})});function Nw(r){var e=function(){return e.called?e.value:(e.called=!0,e.value=r.apply(this,arguments))};return e.called=!1,e}function cz(r){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=r.apply(this,arguments)},t=r.name||\"Function wrapped with `once`\";return e.onceError=t+\" shouldn't be called more than once\",e.called=!1,e}});var fk=w((zrt,gz)=>{var Sve=gk(),vve=function(){},xve=function(r){return r.setHeader&&typeof r.abort==\"function\"},Pve=function(r){return r.stdio&&Array.isArray(r.stdio)&&r.stdio.length===3},uz=function(r,e,t){if(typeof e==\"function\")return uz(r,null,e);e||(e={}),t=Sve(t||vve);var i=r._writableState,n=r._readableState,s=e.readable||e.readable!==!1&&r.readable,o=e.writable||e.writable!==!1&&r.writable,a=function(){r.writable||l()},l=function(){o=!1,s||t.call(r)},c=function(){s=!1,o||t.call(r)},u=function(p){t.call(r,p?new Error(\"exited with error code: \"+p):null)},g=function(p){t.call(r,p)},f=function(){if(s&&!(n&&n.ended))return t.call(r,new Error(\"premature close\"));if(o&&!(i&&i.ended))return t.call(r,new Error(\"premature close\"))},h=function(){r.req.on(\"finish\",l)};return xve(r)?(r.on(\"complete\",l),r.on(\"abort\",f),r.req?h():r.on(\"request\",h)):o&&!i&&(r.on(\"end\",a),r.on(\"close\",a)),Pve(r)&&r.on(\"exit\",u),r.on(\"end\",c),r.on(\"finish\",l),e.error!==!1&&r.on(\"error\",g),r.on(\"close\",f),function(){r.removeListener(\"complete\",l),r.removeListener(\"abort\",f),r.removeListener(\"request\",h),r.req&&r.req.removeListener(\"finish\",l),r.removeListener(\"end\",a),r.removeListener(\"close\",a),r.removeListener(\"finish\",l),r.removeListener(\"exit\",u),r.removeListener(\"end\",c),r.removeListener(\"error\",g),r.removeListener(\"close\",f)}};gz.exports=uz});var pz=w((Vrt,hz)=>{var Dve=gk(),kve=fk(),hk=J(\"fs\"),aC=function(){},Rve=/^v?\\.0/.test(process.version),Lw=function(r){return typeof r==\"function\"},Fve=function(r){return!Rve||!hk?!1:(r instanceof(hk.ReadStream||aC)||r instanceof(hk.WriteStream||aC))&&Lw(r.close)},Nve=function(r){return r.setHeader&&Lw(r.abort)},Lve=function(r,e,t,i){i=Dve(i);var n=!1;r.on(\"close\",function(){n=!0}),kve(r,{readable:e,writable:t},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,Fve(r))return r.close(aC);if(Nve(r))return r.abort();if(Lw(r.destroy))return r.destroy();i(o||new Error(\"stream was destroyed\"))}}},fz=function(r){r()},Tve=function(r,e){return r.pipe(e)},Ove=function(){var r=Array.prototype.slice.call(arguments),e=Lw(r[r.length-1]||aC)&&r.pop()||aC;if(Array.isArray(r[0])&&(r=r[0]),r.length<2)throw new Error(\"pump requires two streams per minimum\");var t,i=r.map(function(n,s){var o=s<r.length-1,a=s>0;return Lve(n,o,a,function(l){t||(t=l),l&&i.forEach(fz),!o&&(i.forEach(fz),e(t))})});return r.reduce(Tve)};hz.exports=Ove});var Cz=w((Xrt,dz)=>{\"use strict\";var{PassThrough:Mve}=J(\"stream\");dz.exports=r=>{r={...r};let{array:e}=r,{encoding:t}=r,i=t===\"buffer\",n=!1;e?n=!(t||i):t=t||\"utf8\",i&&(t=null);let s=new Mve({objectMode:n});t&&s.setEncoding(t);let o=0,a=[];return s.on(\"data\",l=>{a.push(l),n?o=a.length:o+=l.length}),s.getBufferedValue=()=>e?a:i?Buffer.concat(a,o):a.join(\"\"),s.getBufferedLength=()=>o,s}});var mz=w((_rt,Pf)=>{\"use strict\";var Kve=pz(),Uve=Cz(),Tw=class extends Error{constructor(){super(\"maxBuffer exceeded\"),this.name=\"MaxBufferError\"}};async function Ow(r,e){if(!r)return Promise.reject(new Error(\"Expected a stream\"));e={maxBuffer:1/0,...e};let{maxBuffer:t}=e,i;return await new Promise((n,s)=>{let o=a=>{a&&(a.bufferedData=i.getBufferedValue()),s(a)};i=Kve(r,Uve(e),a=>{if(a){o(a);return}n()}),i.on(\"data\",()=>{i.getBufferedLength()>t&&o(new Tw)})}),i.getBufferedValue()}Pf.exports=Ow;Pf.exports.default=Ow;Pf.exports.buffer=(r,e)=>Ow(r,{...e,encoding:\"buffer\"});Pf.exports.array=(r,e)=>Ow(r,{...e,array:!0});Pf.exports.MaxBufferError=Tw});var Iz=w(($rt,Ez)=>{\"use strict\";var Hve=[200,203,204,206,300,301,404,405,410,414,501],Gve=[200,203,204,300,301,302,303,307,308,404,405,410,414,501],Yve={date:!0,connection:!0,\"keep-alive\":!0,\"proxy-authenticate\":!0,\"proxy-authorization\":!0,te:!0,trailer:!0,\"transfer-encoding\":!0,upgrade:!0},jve={\"content-length\":!0,\"content-encoding\":!0,\"transfer-encoding\":!0,\"content-range\":!0};function pk(r){let e={};if(!r)return e;let t=r.trim().split(/\\s*,\\s*/);for(let i of t){let[n,s]=i.split(/\\s*=\\s*/,2);e[n]=s===void 0?!0:s.replace(/^\"|\"$/g,\"\")}return e}function qve(r){let e=[];for(let t in r){let i=r[t];e.push(i===!0?t:t+\"=\"+i)}if(!!e.length)return e.join(\", \")}Ez.exports=class{constructor(e,t,{shared:i,cacheHeuristic:n,immutableMinTimeToLive:s,ignoreCargoCult:o,trustServerDate:a,_fromObject:l}={}){if(l){this._fromObject(l);return}if(!t||!t.headers)throw Error(\"Response headers missing\");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=i!==!1,this._trustServerDate=a!==void 0?a:!0,this._cacheHeuristic=n!==void 0?n:.1,this._immutableMinTtl=s!==void 0?s:24*3600*1e3,this._status=\"status\"in t?t.status:200,this._resHeaders=t.headers,this._rescc=pk(t.headers[\"cache-control\"]),this._method=\"method\"in e?e.method:\"GET\",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=t.headers.vary?e.headers:null,this._reqcc=pk(e.headers[\"cache-control\"]),o&&\"pre-check\"in this._rescc&&\"post-check\"in this._rescc&&(delete this._rescc[\"pre-check\"],delete this._rescc[\"post-check\"],delete this._rescc[\"no-cache\"],delete this._rescc[\"no-store\"],delete this._rescc[\"must-revalidate\"],this._resHeaders=Object.assign({},this._resHeaders,{\"cache-control\":qve(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),!t.headers[\"cache-control\"]&&/no-cache/.test(t.headers.pragma)&&(this._rescc[\"no-cache\"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc[\"no-store\"]&&(this._method===\"GET\"||this._method===\"HEAD\"||this._method===\"POST\"&&this._hasExplicitExpiration())&&Gve.indexOf(this._status)!==-1&&!this._rescc[\"no-store\"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc.public||this._rescc[\"max-age\"]||this._rescc[\"s-maxage\"]||Hve.indexOf(this._status)!==-1))}_hasExplicitExpiration(){return this._isShared&&this._rescc[\"s-maxage\"]||this._rescc[\"max-age\"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error(\"Request headers missing\")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);let t=pk(e.headers[\"cache-control\"]);return t[\"no-cache\"]||/no-cache/.test(e.headers.pragma)||t[\"max-age\"]&&this.age()>t[\"max-age\"]||t[\"min-fresh\"]&&this.timeToLive()<1e3*t[\"min-fresh\"]||this.stale()&&!(t[\"max-stale\"]&&!this._rescc[\"must-revalidate\"]&&(t[\"max-stale\"]===!0||t[\"max-stale\"]>this.age()-this.maxAge()))?!1:this._requestMatches(e,!1)}_requestMatches(e,t){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||t&&e.method===\"HEAD\")&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc[\"must-revalidate\"]||this._rescc.public||this._rescc[\"s-maxage\"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary===\"*\")return!1;let t=this._resHeaders.vary.trim().toLowerCase().split(/\\s*,\\s*/);for(let i of t)if(e.headers[i]!==this._reqHeaders[i])return!1;return!0}_copyWithoutHopByHopHeaders(e){let t={};for(let i in e)Yve[i]||(t[i]=e[i]);if(e.connection){let i=e.connection.trim().split(/\\s*,\\s*/);for(let n of i)delete t[n]}if(t.warning){let i=t.warning.split(/,/).filter(n=>!/^\\s*1[0-9][0-9]/.test(n));i.length?t.warning=i.join(\",\").trim():delete t.warning}return t}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),t=this.age();return t>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(e.warning=(e.warning?`${e.warning}, `:\"\")+'113 - \"rfc7234 5.5.4\"'),e.age=`${Math.round(t)}`,e.date=new Date(this.now()).toUTCString(),e}date(){return this._trustServerDate?this._serverDate():this._responseTime}_serverDate(){let e=Date.parse(this._resHeaders.date);return isFinite(e)&&Math.abs(this._responseTime-e)<288e5?e:this._responseTime}age(){let e=Math.max(0,(this._responseTime-this.date())/1e3);if(this._resHeaders.age){let i=this._ageValue();i>e&&(e=i)}let t=(this.now()-this._responseTime)/1e3;return e+t}_ageValue(){let e=parseInt(this._resHeaders.age);return isFinite(e)?e:0}maxAge(){if(!this.storable()||this._rescc[\"no-cache\"]||this._isShared&&this._resHeaders[\"set-cookie\"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary===\"*\")return 0;if(this._isShared){if(this._rescc[\"proxy-revalidate\"])return 0;if(this._rescc[\"s-maxage\"])return parseInt(this._rescc[\"s-maxage\"],10)}if(this._rescc[\"max-age\"])return parseInt(this._rescc[\"max-age\"],10);let e=this._rescc.immutable?this._immutableMinTtl:0,t=this._serverDate();if(this._resHeaders.expires){let i=Date.parse(this._resHeaders.expires);return Number.isNaN(i)||i<t?0:Math.max(e,(i-t)/1e3)}if(this._resHeaders[\"last-modified\"]){let i=Date.parse(this._resHeaders[\"last-modified\"]);if(isFinite(i)&&t>i)return Math.max(e,(t-i)/1e3*this._cacheHeuristic)}return e}timeToLive(){return Math.max(0,this.maxAge()-this.age())*1e3}stale(){return this.maxAge()<=this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error(\"Reinitialized\");if(!e||e.v!==1)throw Error(\"Invalid serialization\");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm!==void 0?e.imm:24*3600*1e3,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let t=this._copyWithoutHopByHopHeaders(e.headers);if(delete t[\"if-range\"],!this._requestMatches(e,!0)||!this.storable())return delete t[\"if-none-match\"],delete t[\"if-modified-since\"],t;if(this._resHeaders.etag&&(t[\"if-none-match\"]=t[\"if-none-match\"]?`${t[\"if-none-match\"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),t[\"accept-ranges\"]||t[\"if-match\"]||t[\"if-unmodified-since\"]||this._method&&this._method!=\"GET\"){if(delete t[\"if-modified-since\"],t[\"if-none-match\"]){let n=t[\"if-none-match\"].split(/,/).filter(s=>!/^\\s*W\\//.test(s));n.length?t[\"if-none-match\"]=n.join(\",\").trim():delete t[\"if-none-match\"]}}else this._resHeaders[\"last-modified\"]&&!t[\"if-modified-since\"]&&(t[\"if-modified-since\"]=this._resHeaders[\"last-modified\"]);return t}revalidatedPolicy(e,t){if(this._assertRequestHasHeaders(e),!t||!t.headers)throw Error(\"Response headers missing\");let i=!1;if(t.status!==void 0&&t.status!=304?i=!1:t.headers.etag&&!/^\\s*W\\//.test(t.headers.etag)?i=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\\s*W\\//,\"\")===t.headers.etag:this._resHeaders.etag&&t.headers.etag?i=this._resHeaders.etag.replace(/^\\s*W\\//,\"\")===t.headers.etag.replace(/^\\s*W\\//,\"\"):this._resHeaders[\"last-modified\"]?i=this._resHeaders[\"last-modified\"]===t.headers[\"last-modified\"]:!this._resHeaders.etag&&!this._resHeaders[\"last-modified\"]&&!t.headers.etag&&!t.headers[\"last-modified\"]&&(i=!0),!i)return{policy:new this.constructor(e,t),modified:t.status!=304,matches:!1};let n={};for(let o in this._resHeaders)n[o]=o in t.headers&&!jve[o]?t.headers[o]:this._resHeaders[o];let s=Object.assign({},t,{status:this._status,method:this._method,headers:n});return{policy:new this.constructor(e,s,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl,trustServerDate:this._trustServerDate}),modified:!1,matches:!0}}}});var Mw=w((eit,yz)=>{\"use strict\";yz.exports=r=>{let e={};for(let[t,i]of Object.entries(r))e[t.toLowerCase()]=i;return e}});var Bz=w((tit,wz)=>{\"use strict\";var Jve=J(\"stream\").Readable,Wve=Mw(),dk=class extends Jve{constructor(e,t,i,n){if(typeof e!=\"number\")throw new TypeError(\"Argument `statusCode` should be a number\");if(typeof t!=\"object\")throw new TypeError(\"Argument `headers` should be an object\");if(!(i instanceof Buffer))throw new TypeError(\"Argument `body` should be a buffer\");if(typeof n!=\"string\")throw new TypeError(\"Argument `url` should be a string\");super(),this.statusCode=e,this.headers=Wve(t),this.body=i,this.url=n}_read(){this.push(this.body),this.push(null)}};wz.exports=dk});var bz=w((rit,Qz)=>{\"use strict\";var zve=[\"destroy\",\"setTimeout\",\"socket\",\"headers\",\"trailers\",\"rawHeaders\",\"statusCode\",\"httpVersion\",\"httpVersionMinor\",\"httpVersionMajor\",\"rawTrailers\",\"statusMessage\"];Qz.exports=(r,e)=>{let t=new Set(Object.keys(r).concat(zve));for(let i of t)i in e||(e[i]=typeof r[i]==\"function\"?r[i].bind(r):r[i])}});var vz=w((iit,Sz)=>{\"use strict\";var Vve=J(\"stream\").PassThrough,Xve=bz(),_ve=r=>{if(!(r&&r.pipe))throw new TypeError(\"Parameter `response` must be a response stream.\");let e=new Vve;return Xve(r,e),r.pipe(e)};Sz.exports=_ve});var xz=w(Ck=>{Ck.stringify=function r(e){if(typeof e>\"u\")return e;if(e&&Buffer.isBuffer(e))return JSON.stringify(\":base64:\"+e.toString(\"base64\"));if(e&&e.toJSON&&(e=e.toJSON()),e&&typeof e==\"object\"){var t=\"\",i=Array.isArray(e);t=i?\"[\":\"{\";var n=!0;for(var s in e){var o=typeof e[s]==\"function\"||!i&&typeof e[s]>\"u\";Object.hasOwnProperty.call(e,s)&&!o&&(n||(t+=\",\"),n=!1,i?e[s]==null?t+=\"null\":t+=r(e[s]):e[s]!==void 0&&(t+=r(s)+\":\"+r(e[s])))}return t+=i?\"]\":\"}\",t}else return typeof e==\"string\"?JSON.stringify(/^:/.test(e)?\":\"+e:e):typeof e>\"u\"?\"null\":JSON.stringify(e)};Ck.parse=function(r){return JSON.parse(r,function(e,t){return typeof t==\"string\"?/^:base64:/.test(t)?Buffer.from(t.substring(8),\"base64\"):/^:/.test(t)?t.substring(1):t:t})}});var kz=w((sit,Dz)=>{\"use strict\";var Zve=J(\"events\"),Pz=xz(),$ve=r=>{let e={redis:\"@keyv/redis\",mongodb:\"@keyv/mongo\",mongo:\"@keyv/mongo\",sqlite:\"@keyv/sqlite\",postgresql:\"@keyv/postgres\",postgres:\"@keyv/postgres\",mysql:\"@keyv/mysql\"};if(r.adapter||r.uri){let t=r.adapter||/^[^:]*/.exec(r.uri)[0];return new(J(e[t]))(r)}return new Map},mk=class extends Zve{constructor(e,t){if(super(),this.opts=Object.assign({namespace:\"keyv\",serialize:Pz.stringify,deserialize:Pz.parse},typeof e==\"string\"?{uri:e}:e,t),!this.opts.store){let i=Object.assign({},this.opts);this.opts.store=$ve(i)}typeof this.opts.store.on==\"function\"&&this.opts.store.on(\"error\",i=>this.emit(\"error\",i)),this.opts.store.namespace=this.opts.namespace}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}get(e,t){e=this._getKeyPrefix(e);let{store:i}=this.opts;return Promise.resolve().then(()=>i.get(e)).then(n=>typeof n==\"string\"?this.opts.deserialize(n):n).then(n=>{if(n!==void 0){if(typeof n.expires==\"number\"&&Date.now()>n.expires){this.delete(e);return}return t&&t.raw?n:n.value}})}set(e,t,i){e=this._getKeyPrefix(e),typeof i>\"u\"&&(i=this.opts.ttl),i===0&&(i=void 0);let{store:n}=this.opts;return Promise.resolve().then(()=>{let s=typeof i==\"number\"?Date.now()+i:null;return t={value:t,expires:s},this.opts.serialize(t)}).then(s=>n.set(e,s,i)).then(()=>!0)}delete(e){e=this._getKeyPrefix(e);let{store:t}=this.opts;return Promise.resolve().then(()=>t.delete(e))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}};Dz.exports=mk});var Nz=w((oit,Fz)=>{\"use strict\";var exe=J(\"events\"),Kw=J(\"url\"),txe=sz(),rxe=mz(),Ek=Iz(),Rz=Bz(),ixe=Mw(),nxe=vz(),sxe=kz(),ro=class{constructor(e,t){if(typeof e!=\"function\")throw new TypeError(\"Parameter `request` must be a function\");return this.cache=new sxe({uri:typeof t==\"string\"&&t,store:typeof t!=\"string\"&&t,namespace:\"cacheable-request\"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(t,i)=>{let n;if(typeof t==\"string\")n=Ik(Kw.parse(t)),t={};else if(t instanceof Kw.URL)n=Ik(Kw.parse(t.toString())),t={};else{let[g,...f]=(t.path||\"\").split(\"?\"),h=f.length>0?`?${f.join(\"?\")}`:\"\";n=Ik({...t,pathname:g,search:h})}t={headers:{},method:\"GET\",cache:!0,strictTtl:!1,automaticFailover:!1,...t,...oxe(n)},t.headers=ixe(t.headers);let s=new exe,o=txe(Kw.format(n),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),a=`${t.method}:${o}`,l=!1,c=!1,u=g=>{c=!0;let f=!1,h,p=new Promise(y=>{h=()=>{f||(f=!0,y())}}),C=y=>{if(l&&!g.forceRefresh){y.status=y.statusCode;let v=Ek.fromObject(l.cachePolicy).revalidatedPolicy(g,y);if(!v.modified){let D=v.policy.responseHeaders();y=new Rz(l.statusCode,D,l.body,l.url),y.cachePolicy=v.policy,y.fromCache=!0}}y.fromCache||(y.cachePolicy=new Ek(g,y,g),y.fromCache=!1);let B;g.cache&&y.cachePolicy.storable()?(B=nxe(y),(async()=>{try{let v=rxe.buffer(y);if(await Promise.race([p,new Promise(j=>y.once(\"end\",j))]),f)return;let D=await v,L={cachePolicy:y.cachePolicy.toObject(),url:y.url,statusCode:y.fromCache?l.statusCode:y.statusCode,body:D},H=g.strictTtl?y.cachePolicy.timeToLive():void 0;g.maxTtl&&(H=H?Math.min(H,g.maxTtl):g.maxTtl),await this.cache.set(a,L,H)}catch(v){s.emit(\"error\",new ro.CacheError(v))}})()):g.cache&&l&&(async()=>{try{await this.cache.delete(a)}catch(v){s.emit(\"error\",new ro.CacheError(v))}})(),s.emit(\"response\",B||y),typeof i==\"function\"&&i(B||y)};try{let y=e(g,C);y.once(\"error\",h),y.once(\"abort\",h),s.emit(\"request\",y)}catch(y){s.emit(\"error\",new ro.RequestError(y))}};return(async()=>{let g=async h=>{await Promise.resolve();let p=h.cache?await this.cache.get(a):void 0;if(typeof p>\"u\")return u(h);let C=Ek.fromObject(p.cachePolicy);if(C.satisfiesWithoutRevalidation(h)&&!h.forceRefresh){let y=C.responseHeaders(),B=new Rz(p.statusCode,y,p.body,p.url);B.cachePolicy=C,B.fromCache=!0,s.emit(\"response\",B),typeof i==\"function\"&&i(B)}else l=p,h.headers=C.revalidationHeaders(h),u(h)},f=h=>s.emit(\"error\",new ro.CacheError(h));this.cache.once(\"error\",f),s.on(\"response\",()=>this.cache.removeListener(\"error\",f));try{await g(t)}catch(h){t.automaticFailover&&!c&&u(t),s.emit(\"error\",new ro.CacheError(h))}})(),s}}};function oxe(r){let e={...r};return e.path=`${r.pathname||\"/\"}${r.search||\"\"}`,delete e.pathname,delete e.search,e}function Ik(r){return{protocol:r.protocol,auth:r.auth,hostname:r.hostname||r.host||\"localhost\",port:r.port,pathname:r.pathname,search:r.search}}ro.RequestError=class extends Error{constructor(r){super(r.message),this.name=\"RequestError\",Object.assign(this,r)}};ro.CacheError=class extends Error{constructor(r){super(r.message),this.name=\"CacheError\",Object.assign(this,r)}};Fz.exports=ro});var Tz=w((lit,Lz)=>{\"use strict\";var axe=[\"aborted\",\"complete\",\"headers\",\"httpVersion\",\"httpVersionMinor\",\"httpVersionMajor\",\"method\",\"rawHeaders\",\"rawTrailers\",\"setTimeout\",\"socket\",\"statusCode\",\"statusMessage\",\"trailers\",\"url\"];Lz.exports=(r,e)=>{if(e._readableState.autoDestroy)throw new Error(\"The second stream must have the `autoDestroy` option set to `false`\");let t=new Set(Object.keys(r).concat(axe)),i={};for(let n of t)n in e||(i[n]={get(){let s=r[n];return typeof s==\"function\"?s.bind(r):s},set(s){r[n]=s},enumerable:!0,configurable:!1});return Object.defineProperties(e,i),r.once(\"aborted\",()=>{e.destroy(),e.emit(\"aborted\")}),r.once(\"close\",()=>{r.complete&&e.readable?e.once(\"end\",()=>{e.emit(\"close\")}):e.emit(\"close\")}),e}});var Mz=w((cit,Oz)=>{\"use strict\";var{Transform:Axe,PassThrough:lxe}=J(\"stream\"),yk=J(\"zlib\"),cxe=Tz();Oz.exports=r=>{let e=(r.headers[\"content-encoding\"]||\"\").toLowerCase();if(![\"gzip\",\"deflate\",\"br\"].includes(e))return r;let t=e===\"br\";if(t&&typeof yk.createBrotliDecompress!=\"function\")return r.destroy(new Error(\"Brotli is not supported on Node.js < 12\")),r;let i=!0,n=new Axe({transform(a,l,c){i=!1,c(null,a)},flush(a){a()}}),s=new lxe({autoDestroy:!1,destroy(a,l){r.destroy(),l(a)}}),o=t?yk.createBrotliDecompress():yk.createUnzip();return o.once(\"error\",a=>{if(i&&!r.readable){s.end();return}s.destroy(a)}),cxe(r,s),r.pipe(n).pipe(o).pipe(s),s}});var Bk=w((uit,Kz)=>{\"use strict\";var wk=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError(\"`maxSize` must be a number greater than 0\");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,t){if(this.cache.set(e,t),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction==\"function\")for(let[i,n]of this.oldCache.entries())this.onEviction(i,n);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let t=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,t),t}}set(e,t){return this.cache.has(e)?this.cache.set(e,t):this._set(e,t),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let t=this.cache.delete(e);return t&&this._size--,this.oldCache.delete(e)||t}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[t]=e;this.cache.has(t)||(yield e)}}get size(){let e=0;for(let t of this.oldCache.keys())this.cache.has(t)||e++;return Math.min(this._size+e,this.maxSize)}};Kz.exports=wk});var bk=w((git,Yz)=>{\"use strict\";var uxe=J(\"events\"),gxe=J(\"tls\"),fxe=J(\"http2\"),hxe=Bk(),tn=Symbol(\"currentStreamsCount\"),Uz=Symbol(\"request\"),ms=Symbol(\"cachedOriginSet\"),Df=Symbol(\"gracefullyClosing\"),pxe=[\"maxDeflateDynamicTableSize\",\"maxSessionMemory\",\"maxHeaderListPairs\",\"maxOutstandingPings\",\"maxReservedRemoteStreams\",\"maxSendHeaderBlockLength\",\"paddingStrategy\",\"localAddress\",\"path\",\"rejectUnauthorized\",\"minDHSize\",\"ca\",\"cert\",\"clientCertEngine\",\"ciphers\",\"key\",\"pfx\",\"servername\",\"minVersion\",\"maxVersion\",\"secureProtocol\",\"crl\",\"honorCipherOrder\",\"ecdhCurve\",\"dhparam\",\"secureOptions\",\"sessionIdContext\"],dxe=(r,e,t)=>{let i=0,n=r.length;for(;i<n;){let s=i+n>>>1;t(r[s],e)?i=s+1:n=s}return i},Cxe=(r,e)=>r.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,Qk=(r,e)=>{for(let t of r)t[ms].length<e[ms].length&&t[ms].every(i=>e[ms].includes(i))&&t[tn]+e[tn]<=e.remoteSettings.maxConcurrentStreams&&Gz(t)},mxe=(r,e)=>{for(let t of r)e[ms].length<t[ms].length&&e[ms].every(i=>t[ms].includes(i))&&e[tn]+t[tn]<=t.remoteSettings.maxConcurrentStreams&&Gz(e)},Hz=({agent:r,isFree:e})=>{let t={};for(let i in r.sessions){let s=r.sessions[i].filter(o=>{let a=o[jo.kCurrentStreamsCount]<o.remoteSettings.maxConcurrentStreams;return e?a:!a});s.length!==0&&(t[i]=s)}return t},Gz=r=>{r[Df]=!0,r[tn]===0&&r.close()},jo=class extends uxe{constructor({timeout:e=6e4,maxSessions:t=1/0,maxFreeSessions:i=10,maxCachedTlsSessions:n=100}={}){super(),this.sessions={},this.queue={},this.timeout=e,this.maxSessions=t,this.maxFreeSessions=i,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new hxe({maxSize:n})}static normalizeOrigin(e,t){return typeof e==\"string\"&&(e=new URL(e)),t&&e.hostname!==t&&(e.hostname=t),e.origin}normalizeOptions(e){let t=\"\";if(e)for(let i of pxe)e[i]&&(t+=`:${e[i]}`);return t}_tryToCreateNewSession(e,t){if(!(e in this.queue)||!(t in this.queue[e]))return;let i=this.queue[e][t];this._sessionsCount<this.maxSessions&&!i.completed&&(i.completed=!0,i())}getSession(e,t,i){return new Promise((n,s)=>{Array.isArray(i)?(i=[...i],n()):i=[{resolve:n,reject:s}];let o=this.normalizeOptions(t),a=jo.normalizeOrigin(e,t&&t.servername);if(a===void 0){for(let{reject:u}of i)u(new TypeError(\"The `origin` argument needs to be a string or an URL object\"));return}if(o in this.sessions){let u=this.sessions[o],g=-1,f=-1,h;for(let p of u){let C=p.remoteSettings.maxConcurrentStreams;if(C<g)break;if(p[ms].includes(a)){let y=p[tn];if(y>=C||p[Df]||p.destroyed)continue;h||(g=C),y>f&&(h=p,f=y)}}if(h){if(i.length!==1){for(let{reject:p}of i){let C=new Error(`Expected the length of listeners to be 1, got ${i.length}.\nPlease report this to https://github.com/szmarczak/http2-wrapper/`);p(C)}return}i[0].resolve(h);return}}if(o in this.queue){if(a in this.queue[o]){this.queue[o][a].listeners.push(...i),this._tryToCreateNewSession(o,a);return}}else this.queue[o]={};let l=()=>{o in this.queue&&this.queue[o][a]===c&&(delete this.queue[o][a],Object.keys(this.queue[o]).length===0&&delete this.queue[o])},c=()=>{let u=`${a}:${o}`,g=!1;try{let f=fxe.connect(e,{createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(u),...t});f[tn]=0,f[Df]=!1;let h=()=>f[tn]<f.remoteSettings.maxConcurrentStreams,p=!0;f.socket.once(\"session\",y=>{this.tlsSessionCache.set(u,y)}),f.once(\"error\",y=>{for(let{reject:B}of i)B(y);this.tlsSessionCache.delete(u)}),f.setTimeout(this.timeout,()=>{f.destroy()}),f.once(\"close\",()=>{if(g){p&&this._freeSessionsCount--,this._sessionsCount--;let y=this.sessions[o];y.splice(y.indexOf(f),1),y.length===0&&delete this.sessions[o]}else{let y=new Error(\"Session closed without receiving a SETTINGS frame\");y.code=\"HTTP2WRAPPER_NOSETTINGS\";for(let{reject:B}of i)B(y);l()}this._tryToCreateNewSession(o,a)});let C=()=>{if(!(!(o in this.queue)||!h())){for(let y of f[ms])if(y in this.queue[o]){let{listeners:B}=this.queue[o][y];for(;B.length!==0&&h();)B.shift().resolve(f);let v=this.queue[o];if(v[y].listeners.length===0&&(delete v[y],Object.keys(v).length===0)){delete this.queue[o];break}if(!h())break}}};f.on(\"origin\",()=>{f[ms]=f.originSet,h()&&(C(),Qk(this.sessions[o],f))}),f.once(\"remoteSettings\",()=>{if(f.ref(),f.unref(),this._sessionsCount++,c.destroyed){let y=new Error(\"Agent has been destroyed\");for(let B of i)B.reject(y);f.destroy();return}f[ms]=f.originSet;{let y=this.sessions;if(o in y){let B=y[o];B.splice(dxe(B,f,Cxe),0,f)}else y[o]=[f]}this._freeSessionsCount+=1,g=!0,this.emit(\"session\",f),C(),l(),f[tn]===0&&this._freeSessionsCount>this.maxFreeSessions&&f.close(),i.length!==0&&(this.getSession(a,t,i),i.length=0),f.on(\"remoteSettings\",()=>{C(),Qk(this.sessions[o],f)})}),f[Uz]=f.request,f.request=(y,B)=>{if(f[Df])throw new Error(\"The session is gracefully closing. No new streams are allowed.\");let v=f[Uz](y,B);return f.ref(),++f[tn],f[tn]===f.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,v.once(\"close\",()=>{if(p=h(),--f[tn],!f.destroyed&&!f.closed&&(mxe(this.sessions[o],f),h()&&!f.closed)){p||(this._freeSessionsCount++,p=!0);let D=f[tn]===0;D&&f.unref(),D&&(this._freeSessionsCount>this.maxFreeSessions||f[Df])?f.close():(Qk(this.sessions[o],f),C())}}),v}}catch(f){for(let h of i)h.reject(f);l()}};c.listeners=i,c.completed=!1,c.destroyed=!1,this.queue[o][a]=c,this._tryToCreateNewSession(o,a)})}request(e,t,i,n){return new Promise((s,o)=>{this.getSession(e,t,[{reject:o,resolve:a=>{try{s(a.request(i,n))}catch(l){o(l)}}}])})}createConnection(e,t){return jo.connect(e,t)}static connect(e,t){t.ALPNProtocols=[\"h2\"];let i=e.port||443,n=e.hostname||e.host;return typeof t.servername>\"u\"&&(t.servername=n),gxe.connect(i,n,t)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let t of e)t[tn]===0&&t.close()}destroy(e){for(let t of Object.values(this.sessions))for(let i of t)i.destroy(e);for(let t of Object.values(this.queue))for(let i of Object.values(t))i.destroyed=!0;this.queue={}}get freeSessions(){return Hz({agent:this,isFree:!0})}get busySessions(){return Hz({agent:this,isFree:!1})}};jo.kCurrentStreamsCount=tn;jo.kGracefullyClosing=Df;Yz.exports={Agent:jo,globalAgent:new jo}});var vk=w((fit,jz)=>{\"use strict\";var{Readable:Exe}=J(\"stream\"),Sk=class extends Exe{constructor(e,t){super({highWaterMark:t,autoDestroy:!1}),this.statusCode=null,this.statusMessage=\"\",this.httpVersion=\"2.0\",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,t){return this.req.setTimeout(e,t),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners(\"data\"),this.resume())}_read(){this.req&&this.req._request.resume()}};jz.exports=Sk});var xk=w((hit,qz)=>{\"use strict\";qz.exports=r=>{let e={protocol:r.protocol,hostname:typeof r.hostname==\"string\"&&r.hostname.startsWith(\"[\")?r.hostname.slice(1,-1):r.hostname,host:r.host,hash:r.hash,search:r.search,pathname:r.pathname,href:r.href,path:`${r.pathname||\"\"}${r.search||\"\"}`};return typeof r.port==\"string\"&&r.port.length!==0&&(e.port=Number(r.port)),(r.username||r.password)&&(e.auth=`${r.username||\"\"}:${r.password||\"\"}`),e}});var Wz=w((pit,Jz)=>{\"use strict\";Jz.exports=(r,e,t)=>{for(let i of t)r.on(i,(...n)=>e.emit(i,...n))}});var Vz=w((dit,zz)=>{\"use strict\";zz.exports=r=>{switch(r){case\":method\":case\":scheme\":case\":authority\":case\":path\":return!0;default:return!1}}});var _z=w((mit,Xz)=>{\"use strict\";var kf=(r,e,t)=>{Xz.exports[e]=class extends r{constructor(...n){super(typeof t==\"string\"?t:t(n)),this.name=`${super.name} [${e}]`,this.code=e}}};kf(TypeError,\"ERR_INVALID_ARG_TYPE\",r=>{let e=r[0].includes(\".\")?\"property\":\"argument\",t=r[1],i=Array.isArray(t);return i&&(t=`${t.slice(0,-1).join(\", \")} or ${t.slice(-1)}`),`The \"${r[0]}\" ${e} must be ${i?\"one of\":\"of\"} type ${t}. Received ${typeof r[2]}`});kf(TypeError,\"ERR_INVALID_PROTOCOL\",r=>`Protocol \"${r[0]}\" not supported. Expected \"${r[1]}\"`);kf(Error,\"ERR_HTTP_HEADERS_SENT\",r=>`Cannot ${r[0]} headers after they are sent to the client`);kf(TypeError,\"ERR_INVALID_HTTP_TOKEN\",r=>`${r[0]} must be a valid HTTP token [${r[1]}]`);kf(TypeError,\"ERR_HTTP_INVALID_HEADER_VALUE\",r=>`Invalid value \"${r[0]} for header \"${r[1]}\"`);kf(TypeError,\"ERR_INVALID_CHAR\",r=>`Invalid character in ${r[0]} [${r[1]}]`)});var Fk=w((Eit,n5)=>{\"use strict\";var Ixe=J(\"http2\"),{Writable:yxe}=J(\"stream\"),{Agent:Zz,globalAgent:wxe}=bk(),Bxe=vk(),Qxe=xk(),bxe=Wz(),Sxe=Vz(),{ERR_INVALID_ARG_TYPE:Pk,ERR_INVALID_PROTOCOL:vxe,ERR_HTTP_HEADERS_SENT:$z,ERR_INVALID_HTTP_TOKEN:xxe,ERR_HTTP_INVALID_HEADER_VALUE:Pxe,ERR_INVALID_CHAR:Dxe}=_z(),{HTTP2_HEADER_STATUS:e5,HTTP2_HEADER_METHOD:t5,HTTP2_HEADER_PATH:r5,HTTP2_METHOD_CONNECT:kxe}=Ixe.constants,Ki=Symbol(\"headers\"),Dk=Symbol(\"origin\"),kk=Symbol(\"session\"),i5=Symbol(\"options\"),Uw=Symbol(\"flushedHeaders\"),AC=Symbol(\"jobs\"),Rxe=/^[\\^`\\-\\w!#$%&*+.|~]+$/,Fxe=/[^\\t\\u0020-\\u007E\\u0080-\\u00FF]/,Rk=class extends yxe{constructor(e,t,i){super({autoDestroy:!1});let n=typeof e==\"string\"||e instanceof URL;if(n&&(e=Qxe(e instanceof URL?e:new URL(e))),typeof t==\"function\"||t===void 0?(i=t,t=n?e:{...e}):t={...e,...t},t.h2session)this[kk]=t.h2session;else if(t.agent===!1)this.agent=new Zz({maxFreeSessions:0});else if(typeof t.agent>\"u\"||t.agent===null)typeof t.createConnection==\"function\"?(this.agent=new Zz({maxFreeSessions:0}),this.agent.createConnection=t.createConnection):this.agent=wxe;else if(typeof t.agent.request==\"function\")this.agent=t.agent;else throw new Pk(\"options.agent\",[\"Agent-like Object\",\"undefined\",\"false\"],t.agent);if(t.protocol&&t.protocol!==\"https:\")throw new vxe(t.protocol,\"https:\");let s=t.port||t.defaultPort||this.agent&&this.agent.defaultPort||443,o=t.hostname||t.host||\"localhost\";delete t.hostname,delete t.host,delete t.port;let{timeout:a}=t;if(t.timeout=void 0,this[Ki]=Object.create(null),this[AC]=[],this.socket=null,this.connection=null,this.method=t.method||\"GET\",this.path=t.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,t.headers)for(let[l,c]of Object.entries(t.headers))this.setHeader(l,c);t.auth&&!(\"authorization\"in this[Ki])&&(this[Ki].authorization=\"Basic \"+Buffer.from(t.auth).toString(\"base64\")),t.session=t.tlsSession,t.path=t.socketPath,this[i5]=t,s===443?(this[Dk]=`https://${o}`,\":authority\"in this[Ki]||(this[Ki][\":authority\"]=o)):(this[Dk]=`https://${o}:${s}`,\":authority\"in this[Ki]||(this[Ki][\":authority\"]=`${o}:${s}`)),a&&this.setTimeout(a),i&&this.once(\"response\",i),this[Uw]=!1}get method(){return this[Ki][t5]}set method(e){e&&(this[Ki][t5]=e.toUpperCase())}get path(){return this[Ki][r5]}set path(e){e&&(this[Ki][r5]=e)}get _mustNotHaveABody(){return this.method===\"GET\"||this.method===\"HEAD\"||this.method===\"DELETE\"}_write(e,t,i){if(this._mustNotHaveABody){i(new Error(\"The GET, HEAD and DELETE methods must NOT have a body\"));return}this.flushHeaders();let n=()=>this._request.write(e,t,i);this._request?n():this[AC].push(n)}_final(e){if(this.destroyed)return;this.flushHeaders();let t=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?t():this[AC].push(t)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit(\"abort\")),this.aborted=!0,this.destroy())}_destroy(e,t){this.res&&this.res._dump(),this._request&&this._request.destroy(),t(e)}async flushHeaders(){if(this[Uw]||this.destroyed)return;this[Uw]=!0;let e=this.method===kxe,t=i=>{if(this._request=i,this.destroyed){i.destroy();return}e||bxe(i,this,[\"timeout\",\"continue\",\"close\",\"error\"]);let n=o=>(...a)=>{!this.writable&&!this.destroyed?o(...a):this.once(\"finish\",()=>{o(...a)})};i.once(\"response\",n((o,a,l)=>{let c=new Bxe(this.socket,i.readableHighWaterMark);this.res=c,c.req=this,c.statusCode=o[e5],c.headers=o,c.rawHeaders=l,c.once(\"end\",()=>{this.aborted?(c.aborted=!0,c.emit(\"aborted\")):(c.complete=!0,c.socket=null,c.connection=null)}),e?(c.upgrade=!0,this.emit(\"connect\",c,i,Buffer.alloc(0))?this.emit(\"close\"):i.destroy()):(i.on(\"data\",u=>{!c._dumped&&!c.push(u)&&i.pause()}),i.once(\"end\",()=>{c.push(null)}),this.emit(\"response\",c)||c._dump())})),i.once(\"headers\",n(o=>this.emit(\"information\",{statusCode:o[e5]}))),i.once(\"trailers\",n((o,a,l)=>{let{res:c}=this;c.trailers=o,c.rawTrailers=l}));let{socket:s}=i.session;this.socket=s,this.connection=s;for(let o of this[AC])o();this.emit(\"socket\",this.socket)};if(this[kk])try{t(this[kk].request(this[Ki]))}catch(i){this.emit(\"error\",i)}else{this.reusedSocket=!0;try{t(await this.agent.request(this[Dk],this[i5],this[Ki]))}catch(i){this.emit(\"error\",i)}}}getHeader(e){if(typeof e!=\"string\")throw new Pk(\"name\",\"string\",e);return this[Ki][e.toLowerCase()]}get headersSent(){return this[Uw]}removeHeader(e){if(typeof e!=\"string\")throw new Pk(\"name\",\"string\",e);if(this.headersSent)throw new $z(\"remove\");delete this[Ki][e.toLowerCase()]}setHeader(e,t){if(this.headersSent)throw new $z(\"set\");if(typeof e!=\"string\"||!Rxe.test(e)&&!Sxe(e))throw new xxe(\"Header name\",e);if(typeof t>\"u\")throw new Pxe(t,e);if(Fxe.test(t))throw new Dxe(\"header content\",e);this[Ki][e.toLowerCase()]=t}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,t){let i=()=>this._request.setTimeout(e,t);return this._request?i():this[AC].push(i),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};n5.exports=Rk});var o5=w((Iit,s5)=>{\"use strict\";var Nxe=J(\"tls\");s5.exports=(r={})=>new Promise((e,t)=>{let i=Nxe.connect(r,()=>{r.resolveSocket?(i.off(\"error\",t),e({alpnProtocol:i.alpnProtocol,socket:i})):(i.destroy(),e({alpnProtocol:i.alpnProtocol}))});i.on(\"error\",t)})});var A5=w((yit,a5)=>{\"use strict\";var Lxe=J(\"net\");a5.exports=r=>{let e=r.host,t=r.headers&&r.headers.host;return t&&(t.startsWith(\"[\")?t.indexOf(\"]\")===-1?e=t:e=t.slice(1,-1):e=t.split(\":\",1)[0]),Lxe.isIP(e)?\"\":e}});var u5=w((wit,Lk)=>{\"use strict\";var l5=J(\"http\"),Nk=J(\"https\"),Txe=o5(),Oxe=Bk(),Mxe=Fk(),Kxe=A5(),Uxe=xk(),Hw=new Oxe({maxSize:100}),lC=new Map,c5=(r,e,t)=>{e._httpMessage={shouldKeepAlive:!0};let i=()=>{r.emit(\"free\",e,t)};e.on(\"free\",i);let n=()=>{r.removeSocket(e,t)};e.on(\"close\",n);let s=()=>{r.removeSocket(e,t),e.off(\"close\",n),e.off(\"free\",i),e.off(\"agentRemove\",s)};e.on(\"agentRemove\",s),r.emit(\"free\",e,t)},Hxe=async r=>{let e=`${r.host}:${r.port}:${r.ALPNProtocols.sort()}`;if(!Hw.has(e)){if(lC.has(e))return(await lC.get(e)).alpnProtocol;let{path:t,agent:i}=r;r.path=r.socketPath;let n=Txe(r);lC.set(e,n);try{let{socket:s,alpnProtocol:o}=await n;if(Hw.set(e,o),r.path=t,o===\"h2\")s.destroy();else{let{globalAgent:a}=Nk,l=Nk.Agent.prototype.createConnection;i?i.createConnection===l?c5(i,s,r):s.destroy():a.createConnection===l?c5(a,s,r):s.destroy()}return lC.delete(e),o}catch(s){throw lC.delete(e),s}}return Hw.get(e)};Lk.exports=async(r,e,t)=>{if((typeof r==\"string\"||r instanceof URL)&&(r=Uxe(new URL(r))),typeof e==\"function\"&&(t=e,e=void 0),e={ALPNProtocols:[\"h2\",\"http/1.1\"],...r,...e,resolveSocket:!0},!Array.isArray(e.ALPNProtocols)||e.ALPNProtocols.length===0)throw new Error(\"The `ALPNProtocols` option must be an Array with at least one entry\");e.protocol=e.protocol||\"https:\";let i=e.protocol===\"https:\";e.host=e.hostname||e.host||\"localhost\",e.session=e.tlsSession,e.servername=e.servername||Kxe(e),e.port=e.port||(i?443:80),e._defaultAgent=i?Nk.globalAgent:l5.globalAgent;let n=e.agent;if(n){if(n.addRequest)throw new Error(\"The `options.agent` object can contain only `http`, `https` or `http2` properties\");e.agent=n[i?\"https\":\"http\"]}return i&&await Hxe(e)===\"h2\"?(n&&(e.agent=n.http2),new Mxe(e,t)):l5.request(e,t)};Lk.exports.protocolCache=Hw});var f5=w((Bit,g5)=>{\"use strict\";var Gxe=J(\"http2\"),Yxe=bk(),Tk=Fk(),jxe=vk(),qxe=u5(),Jxe=(r,e,t)=>new Tk(r,e,t),Wxe=(r,e,t)=>{let i=new Tk(r,e,t);return i.end(),i};g5.exports={...Gxe,ClientRequest:Tk,IncomingMessage:jxe,...Yxe,request:Jxe,get:Wxe,auto:qxe}});var Mk=w(Ok=>{\"use strict\";Object.defineProperty(Ok,\"__esModule\",{value:!0});var h5=Ta();Ok.default=r=>h5.default.nodeStream(r)&&h5.default.function_(r.getBoundary)});var m5=w(Kk=>{\"use strict\";Object.defineProperty(Kk,\"__esModule\",{value:!0});var d5=J(\"fs\"),C5=J(\"util\"),p5=Ta(),zxe=Mk(),Vxe=C5.promisify(d5.stat);Kk.default=async(r,e)=>{if(e&&\"content-length\"in e)return Number(e[\"content-length\"]);if(!r)return 0;if(p5.default.string(r))return Buffer.byteLength(r);if(p5.default.buffer(r))return r.length;if(zxe.default(r))return C5.promisify(r.getLength.bind(r))();if(r instanceof d5.ReadStream){let{size:t}=await Vxe(r.path);return t===0?void 0:t}}});var Hk=w(Uk=>{\"use strict\";Object.defineProperty(Uk,\"__esModule\",{value:!0});function Xxe(r,e,t){let i={};for(let n of t)i[n]=(...s)=>{e.emit(n,...s)},r.on(n,i[n]);return()=>{for(let n of t)r.off(n,i[n])}}Uk.default=Xxe});var E5=w(Gk=>{\"use strict\";Object.defineProperty(Gk,\"__esModule\",{value:!0});Gk.default=()=>{let r=[];return{once(e,t,i){e.once(t,i),r.push({origin:e,event:t,fn:i})},unhandleAll(){for(let e of r){let{origin:t,event:i,fn:n}=e;t.removeListener(i,n)}r.length=0}}}});var y5=w(cC=>{\"use strict\";Object.defineProperty(cC,\"__esModule\",{value:!0});cC.TimeoutError=void 0;var _xe=J(\"net\"),Zxe=E5(),I5=Symbol(\"reentry\"),$xe=()=>{},Gw=class extends Error{constructor(e,t){super(`Timeout awaiting '${t}' for ${e}ms`),this.event=t,this.name=\"TimeoutError\",this.code=\"ETIMEDOUT\"}};cC.TimeoutError=Gw;cC.default=(r,e,t)=>{if(I5 in r)return $xe;r[I5]=!0;let i=[],{once:n,unhandleAll:s}=Zxe.default(),o=(g,f,h)=>{var p;let C=setTimeout(f,g,g,h);(p=C.unref)===null||p===void 0||p.call(C);let y=()=>{clearTimeout(C)};return i.push(y),y},{host:a,hostname:l}=t,c=(g,f)=>{r.destroy(new Gw(g,f))},u=()=>{for(let g of i)g();s()};if(r.once(\"error\",g=>{if(u(),r.listenerCount(\"error\")===0)throw g}),r.once(\"close\",u),n(r,\"response\",g=>{n(g,\"end\",u)}),typeof e.request<\"u\"&&o(e.request,c,\"request\"),typeof e.socket<\"u\"){let g=()=>{c(e.socket,\"socket\")};r.setTimeout(e.socket,g),i.push(()=>{r.removeListener(\"timeout\",g)})}return n(r,\"socket\",g=>{var f;let{socketPath:h}=r;if(g.connecting){let p=Boolean(h!=null?h:_xe.isIP((f=l!=null?l:a)!==null&&f!==void 0?f:\"\")!==0);if(typeof e.lookup<\"u\"&&!p&&typeof g.address().address>\"u\"){let C=o(e.lookup,c,\"lookup\");n(g,\"lookup\",C)}if(typeof e.connect<\"u\"){let C=()=>o(e.connect,c,\"connect\");p?n(g,\"connect\",C()):n(g,\"lookup\",y=>{y===null&&n(g,\"connect\",C())})}typeof e.secureConnect<\"u\"&&t.protocol===\"https:\"&&n(g,\"connect\",()=>{let C=o(e.secureConnect,c,\"secureConnect\");n(g,\"secureConnect\",C)})}if(typeof e.send<\"u\"){let p=()=>o(e.send,c,\"send\");g.connecting?n(g,\"connect\",()=>{n(r,\"upload-complete\",p())}):n(r,\"upload-complete\",p())}}),typeof e.response<\"u\"&&n(r,\"upload-complete\",()=>{let g=o(e.response,c,\"response\");n(r,\"response\",g)}),u}});var B5=w(Yk=>{\"use strict\";Object.defineProperty(Yk,\"__esModule\",{value:!0});var w5=Ta();Yk.default=r=>{r=r;let e={protocol:r.protocol,hostname:w5.default.string(r.hostname)&&r.hostname.startsWith(\"[\")?r.hostname.slice(1,-1):r.hostname,host:r.host,hash:r.hash,search:r.search,pathname:r.pathname,href:r.href,path:`${r.pathname||\"\"}${r.search||\"\"}`};return w5.default.string(r.port)&&r.port.length>0&&(e.port=Number(r.port)),(r.username||r.password)&&(e.auth=`${r.username||\"\"}:${r.password||\"\"}`),e}});var Q5=w(jk=>{\"use strict\";Object.defineProperty(jk,\"__esModule\",{value:!0});var ePe=J(\"url\"),tPe=[\"protocol\",\"host\",\"hostname\",\"port\",\"pathname\",\"search\"];jk.default=(r,e)=>{var t,i;if(e.path){if(e.pathname)throw new TypeError(\"Parameters `path` and `pathname` are mutually exclusive.\");if(e.search)throw new TypeError(\"Parameters `path` and `search` are mutually exclusive.\");if(e.searchParams)throw new TypeError(\"Parameters `path` and `searchParams` are mutually exclusive.\")}if(e.search&&e.searchParams)throw new TypeError(\"Parameters `search` and `searchParams` are mutually exclusive.\");if(!r){if(!e.protocol)throw new TypeError(\"No URL protocol specified\");r=`${e.protocol}//${(i=(t=e.hostname)!==null&&t!==void 0?t:e.host)!==null&&i!==void 0?i:\"\"}`}let n=new ePe.URL(r);if(e.path){let s=e.path.indexOf(\"?\");s===-1?e.pathname=e.path:(e.pathname=e.path.slice(0,s),e.search=e.path.slice(s+1)),delete e.path}for(let s of tPe)e[s]&&(n[s]=e[s].toString());return n}});var b5=w(Jk=>{\"use strict\";Object.defineProperty(Jk,\"__esModule\",{value:!0});var qk=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,t){typeof e==\"object\"?this.weakMap.set(e,t):this.map.set(e,t)}get(e){return typeof e==\"object\"?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e==\"object\"?this.weakMap.has(e):this.map.has(e)}};Jk.default=qk});var zk=w(Wk=>{\"use strict\";Object.defineProperty(Wk,\"__esModule\",{value:!0});var rPe=async r=>{let e=[],t=0;for await(let i of r)e.push(i),t+=Buffer.byteLength(i);return Buffer.isBuffer(e[0])?Buffer.concat(e,t):Buffer.from(e.join(\"\"))};Wk.default=rPe});var v5=w(Bc=>{\"use strict\";Object.defineProperty(Bc,\"__esModule\",{value:!0});Bc.dnsLookupIpVersionToFamily=Bc.isDnsLookupIpVersion=void 0;var S5={auto:0,ipv4:4,ipv6:6};Bc.isDnsLookupIpVersion=r=>r in S5;Bc.dnsLookupIpVersionToFamily=r=>{if(Bc.isDnsLookupIpVersion(r))return S5[r];throw new Error(\"Invalid DNS lookup IP version\")}});var Vk=w(Yw=>{\"use strict\";Object.defineProperty(Yw,\"__esModule\",{value:!0});Yw.isResponseOk=void 0;Yw.isResponseOk=r=>{let{statusCode:e}=r,t=r.request.options.followRedirect?299:399;return e>=200&&e<=t||e===304}});var P5=w(Xk=>{\"use strict\";Object.defineProperty(Xk,\"__esModule\",{value:!0});var x5=new Set;Xk.default=r=>{x5.has(r)||(x5.add(r),process.emitWarning(`Got: ${r}`,{type:\"DeprecationWarning\"}))}});var D5=w(_k=>{\"use strict\";Object.defineProperty(_k,\"__esModule\",{value:!0});var mr=Ta(),iPe=(r,e)=>{if(mr.default.null_(r.encoding))throw new TypeError(\"To get a Buffer, set `options.responseType` to `buffer` instead\");mr.assert.any([mr.default.string,mr.default.undefined],r.encoding),mr.assert.any([mr.default.boolean,mr.default.undefined],r.resolveBodyOnly),mr.assert.any([mr.default.boolean,mr.default.undefined],r.methodRewriting),mr.assert.any([mr.default.boolean,mr.default.undefined],r.isStream),mr.assert.any([mr.default.string,mr.default.undefined],r.responseType),r.responseType===void 0&&(r.responseType=\"text\");let{retry:t}=r;if(e?r.retry={...e.retry}:r.retry={calculateDelay:i=>i.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},mr.default.object(t)?(r.retry={...r.retry,...t},r.retry.methods=[...new Set(r.retry.methods.map(i=>i.toUpperCase()))],r.retry.statusCodes=[...new Set(r.retry.statusCodes)],r.retry.errorCodes=[...new Set(r.retry.errorCodes)]):mr.default.number(t)&&(r.retry.limit=t),mr.default.undefined(r.retry.maxRetryAfter)&&(r.retry.maxRetryAfter=Math.min(...[r.timeout.request,r.timeout.connect].filter(mr.default.number))),mr.default.object(r.pagination)){e&&(r.pagination={...e.pagination,...r.pagination});let{pagination:i}=r;if(!mr.default.function_(i.transform))throw new Error(\"`options.pagination.transform` must be implemented\");if(!mr.default.function_(i.shouldContinue))throw new Error(\"`options.pagination.shouldContinue` must be implemented\");if(!mr.default.function_(i.filter))throw new TypeError(\"`options.pagination.filter` must be implemented\");if(!mr.default.function_(i.paginate))throw new Error(\"`options.pagination.paginate` must be implemented\")}return r.responseType===\"json\"&&r.headers.accept===void 0&&(r.headers.accept=\"application/json\"),r};_k.default=iPe});var k5=w(uC=>{\"use strict\";Object.defineProperty(uC,\"__esModule\",{value:!0});uC.retryAfterStatusCodes=void 0;uC.retryAfterStatusCodes=new Set([413,429,503]);var nPe=({attemptCount:r,retryOptions:e,error:t,retryAfter:i})=>{if(r>e.limit)return 0;let n=e.methods.includes(t.options.method),s=e.errorCodes.includes(t.code),o=t.response&&e.statusCodes.includes(t.response.statusCode);if(!n||!s&&!o)return 0;if(t.response){if(i)return e.maxRetryAfter===void 0||i>e.maxRetryAfter?0:i;if(t.response.statusCode===413)return 0}let a=Math.random()*100;return 2**(r-1)*1e3+a};uC.default=nPe});var hC=w(Yt=>{\"use strict\";Object.defineProperty(Yt,\"__esModule\",{value:!0});Yt.UnsupportedProtocolError=Yt.ReadError=Yt.TimeoutError=Yt.UploadError=Yt.CacheError=Yt.HTTPError=Yt.MaxRedirectsError=Yt.RequestError=Yt.setNonEnumerableProperties=Yt.knownHookEvents=Yt.withoutBody=Yt.kIsNormalizedAlready=void 0;var R5=J(\"util\"),F5=J(\"stream\"),sPe=J(\"fs\"),UA=J(\"url\"),N5=J(\"http\"),Zk=J(\"http\"),oPe=J(\"https\"),aPe=V8(),APe=rz(),L5=Nz(),lPe=Mz(),cPe=f5(),uPe=Mw(),Ee=Ta(),gPe=m5(),T5=Mk(),fPe=Hk(),O5=y5(),hPe=B5(),M5=Q5(),pPe=b5(),dPe=zk(),K5=v5(),CPe=Vk(),HA=P5(),mPe=D5(),EPe=k5(),$k,xi=Symbol(\"request\"),Jw=Symbol(\"response\"),Rf=Symbol(\"responseSize\"),Ff=Symbol(\"downloadedSize\"),Nf=Symbol(\"bodySize\"),Lf=Symbol(\"uploadedSize\"),jw=Symbol(\"serverResponsesPiped\"),U5=Symbol(\"unproxyEvents\"),H5=Symbol(\"isFromCache\"),eR=Symbol(\"cancelTimeouts\"),G5=Symbol(\"startedReading\"),Tf=Symbol(\"stopReading\"),qw=Symbol(\"triggerRead\"),GA=Symbol(\"body\"),gC=Symbol(\"jobs\"),Y5=Symbol(\"originalResponse\"),j5=Symbol(\"retryTimeout\");Yt.kIsNormalizedAlready=Symbol(\"isNormalizedAlready\");var IPe=Ee.default.string(process.versions.brotli);Yt.withoutBody=new Set([\"GET\",\"HEAD\"]);Yt.knownHookEvents=[\"init\",\"beforeRequest\",\"beforeRedirect\",\"beforeError\",\"beforeRetry\",\"afterResponse\"];function yPe(r){for(let e in r){let t=r[e];if(!Ee.default.string(t)&&!Ee.default.number(t)&&!Ee.default.boolean(t)&&!Ee.default.null_(t)&&!Ee.default.undefined(t))throw new TypeError(`The \\`searchParams\\` value '${String(t)}' must be a string, number, boolean or null`)}}function wPe(r){return Ee.default.object(r)&&!(\"statusCode\"in r)}var tR=new pPe.default,BPe=async r=>new Promise((e,t)=>{let i=n=>{t(n)};r.pending||e(),r.once(\"error\",i),r.once(\"ready\",()=>{r.off(\"error\",i),e()})}),QPe=new Set([300,301,302,303,304,307,308]),bPe=[\"context\",\"body\",\"json\",\"form\"];Yt.setNonEnumerableProperties=(r,e)=>{let t={};for(let i of r)if(!!i)for(let n of bPe)n in i&&(t[n]={writable:!0,configurable:!0,enumerable:!1,value:i[n]});Object.defineProperties(e,t)};var ei=class extends Error{constructor(e,t,i){var n;if(super(e),Error.captureStackTrace(this,this.constructor),this.name=\"RequestError\",this.code=t.code,i instanceof $w?(Object.defineProperty(this,\"request\",{enumerable:!1,value:i}),Object.defineProperty(this,\"response\",{enumerable:!1,value:i[Jw]}),Object.defineProperty(this,\"options\",{enumerable:!1,value:i.options})):Object.defineProperty(this,\"options\",{enumerable:!1,value:i}),this.timings=(n=this.request)===null||n===void 0?void 0:n.timings,Ee.default.string(t.stack)&&Ee.default.string(this.stack)){let s=this.stack.indexOf(this.message)+this.message.length,o=this.stack.slice(s).split(`\n`).reverse(),a=t.stack.slice(t.stack.indexOf(t.message)+t.message.length).split(`\n`).reverse();for(;a.length!==0&&a[0]===o[0];)o.shift();this.stack=`${this.stack.slice(0,s)}${o.reverse().join(`\n`)}${a.reverse().join(`\n`)}`}}};Yt.RequestError=ei;var Ww=class extends ei{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e),this.name=\"MaxRedirectsError\"}};Yt.MaxRedirectsError=Ww;var zw=class extends ei{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request),this.name=\"HTTPError\"}};Yt.HTTPError=zw;var Vw=class extends ei{constructor(e,t){super(e.message,e,t),this.name=\"CacheError\"}};Yt.CacheError=Vw;var Xw=class extends ei{constructor(e,t){super(e.message,e,t),this.name=\"UploadError\"}};Yt.UploadError=Xw;var _w=class extends ei{constructor(e,t,i){super(e.message,e,i),this.name=\"TimeoutError\",this.event=e.event,this.timings=t}};Yt.TimeoutError=_w;var fC=class extends ei{constructor(e,t){super(e.message,e,t),this.name=\"ReadError\"}};Yt.ReadError=fC;var Zw=class extends ei{constructor(e){super(`Unsupported protocol \"${e.url.protocol}\"`,{},e),this.name=\"UnsupportedProtocolError\"}};Yt.UnsupportedProtocolError=Zw;var SPe=[\"socket\",\"connect\",\"continue\",\"information\",\"upgrade\",\"timeout\"],$w=class extends F5.Duplex{constructor(e,t={},i){super({autoDestroy:!1,highWaterMark:0}),this[Ff]=0,this[Lf]=0,this.requestInitialized=!1,this[jw]=new Set,this.redirects=[],this[Tf]=!1,this[qw]=!1,this[gC]=[],this.retryCount=0,this._progressCallbacks=[];let n=()=>this._unlockWrite(),s=()=>this._lockWrite();this.on(\"pipe\",c=>{c.prependListener(\"data\",n),c.on(\"data\",s),c.prependListener(\"end\",n),c.on(\"end\",s)}),this.on(\"unpipe\",c=>{c.off(\"data\",n),c.off(\"data\",s),c.off(\"end\",n),c.off(\"end\",s)}),this.on(\"pipe\",c=>{c instanceof Zk.IncomingMessage&&(this.options.headers={...c.headers,...this.options.headers})});let{json:o,body:a,form:l}=t;if((o||a||l)&&this._lockWrite(),Yt.kIsNormalizedAlready in t)this.options=t;else try{this.options=this.constructor.normalizeArguments(e,t,i)}catch(c){Ee.default.nodeStream(t.body)&&t.body.destroy(),this.destroy(c);return}(async()=>{var c;try{this.options.body instanceof sPe.ReadStream&&await BPe(this.options.body);let{url:u}=this.options;if(!u)throw new TypeError(\"Missing `url` property\");if(this.requestUrl=u.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(c=this[xi])===null||c===void 0||c.destroy();return}for(let g of this[gC])g();this[gC].length=0,this.requestInitialized=!0}catch(u){if(u instanceof ei){this._beforeError(u);return}this.destroyed||this.destroy(u)}})()}static normalizeArguments(e,t,i){var n,s,o,a,l;let c=t;if(Ee.default.object(e)&&!Ee.default.urlInstance(e))t={...i,...e,...t};else{if(e&&t&&t.url!==void 0)throw new TypeError(\"The `url` option is mutually exclusive with the `input` argument\");t={...i,...t},e!==void 0&&(t.url=e),Ee.default.urlInstance(t.url)&&(t.url=new UA.URL(t.url.toString()))}if(t.cache===!1&&(t.cache=void 0),t.dnsCache===!1&&(t.dnsCache=void 0),Ee.assert.any([Ee.default.string,Ee.default.undefined],t.method),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.headers),Ee.assert.any([Ee.default.string,Ee.default.urlInstance,Ee.default.undefined],t.prefixUrl),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.cookieJar),Ee.assert.any([Ee.default.object,Ee.default.string,Ee.default.undefined],t.searchParams),Ee.assert.any([Ee.default.object,Ee.default.string,Ee.default.undefined],t.cache),Ee.assert.any([Ee.default.object,Ee.default.number,Ee.default.undefined],t.timeout),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.context),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.hooks),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.decompress),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.ignoreInvalidCookies),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.followRedirect),Ee.assert.any([Ee.default.number,Ee.default.undefined],t.maxRedirects),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.throwHttpErrors),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.http2),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.allowGetBody),Ee.assert.any([Ee.default.string,Ee.default.undefined],t.localAddress),Ee.assert.any([K5.isDnsLookupIpVersion,Ee.default.undefined],t.dnsLookupIpVersion),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.https),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.rejectUnauthorized),t.https&&(Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.https.rejectUnauthorized),Ee.assert.any([Ee.default.function_,Ee.default.undefined],t.https.checkServerIdentity),Ee.assert.any([Ee.default.string,Ee.default.object,Ee.default.array,Ee.default.undefined],t.https.certificateAuthority),Ee.assert.any([Ee.default.string,Ee.default.object,Ee.default.array,Ee.default.undefined],t.https.key),Ee.assert.any([Ee.default.string,Ee.default.object,Ee.default.array,Ee.default.undefined],t.https.certificate),Ee.assert.any([Ee.default.string,Ee.default.undefined],t.https.passphrase),Ee.assert.any([Ee.default.string,Ee.default.buffer,Ee.default.array,Ee.default.undefined],t.https.pfx)),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.cacheOptions),Ee.default.string(t.method)?t.method=t.method.toUpperCase():t.method=\"GET\",t.headers===(i==null?void 0:i.headers)?t.headers={...t.headers}:t.headers=uPe({...i==null?void 0:i.headers,...t.headers}),\"slashes\"in t)throw new TypeError(\"The legacy `url.Url` has been deprecated. Use `URL` instead.\");if(\"auth\"in t)throw new TypeError(\"Parameter `auth` is deprecated. Use `username` / `password` instead.\");if(\"searchParams\"in t&&t.searchParams&&t.searchParams!==(i==null?void 0:i.searchParams)){let h;if(Ee.default.string(t.searchParams)||t.searchParams instanceof UA.URLSearchParams)h=new UA.URLSearchParams(t.searchParams);else{yPe(t.searchParams),h=new UA.URLSearchParams;for(let p in t.searchParams){let C=t.searchParams[p];C===null?h.append(p,\"\"):C!==void 0&&h.append(p,C)}}(n=i==null?void 0:i.searchParams)===null||n===void 0||n.forEach((p,C)=>{h.has(C)||h.append(C,p)}),t.searchParams=h}if(t.username=(s=t.username)!==null&&s!==void 0?s:\"\",t.password=(o=t.password)!==null&&o!==void 0?o:\"\",Ee.default.undefined(t.prefixUrl)?t.prefixUrl=(a=i==null?void 0:i.prefixUrl)!==null&&a!==void 0?a:\"\":(t.prefixUrl=t.prefixUrl.toString(),t.prefixUrl!==\"\"&&!t.prefixUrl.endsWith(\"/\")&&(t.prefixUrl+=\"/\")),Ee.default.string(t.url)){if(t.url.startsWith(\"/\"))throw new Error(\"`input` must not start with a slash when using `prefixUrl`\");t.url=M5.default(t.prefixUrl+t.url,t)}else(Ee.default.undefined(t.url)&&t.prefixUrl!==\"\"||t.protocol)&&(t.url=M5.default(t.prefixUrl,t));if(t.url){\"port\"in t&&delete t.port;let{prefixUrl:h}=t;Object.defineProperty(t,\"prefixUrl\",{set:C=>{let y=t.url;if(!y.href.startsWith(C))throw new Error(`Cannot change \\`prefixUrl\\` from ${h} to ${C}: ${y.href}`);t.url=new UA.URL(C+y.href.slice(h.length)),h=C},get:()=>h});let{protocol:p}=t.url;if(p===\"unix:\"&&(p=\"http:\",t.url=new UA.URL(`http://unix${t.url.pathname}${t.url.search}`)),t.searchParams&&(t.url.search=t.searchParams.toString()),p!==\"http:\"&&p!==\"https:\")throw new Zw(t);t.username===\"\"?t.username=t.url.username:t.url.username=t.username,t.password===\"\"?t.password=t.url.password:t.url.password=t.password}let{cookieJar:u}=t;if(u){let{setCookie:h,getCookieString:p}=u;Ee.assert.function_(h),Ee.assert.function_(p),h.length===4&&p.length===0&&(h=R5.promisify(h.bind(t.cookieJar)),p=R5.promisify(p.bind(t.cookieJar)),t.cookieJar={setCookie:h,getCookieString:p})}let{cache:g}=t;if(g&&(tR.has(g)||tR.set(g,new L5((h,p)=>{let C=h[xi](h,p);return Ee.default.promise(C)&&(C.once=(y,B)=>{if(y===\"error\")C.catch(B);else if(y===\"abort\")(async()=>{try{(await C).once(\"abort\",B)}catch{}})();else throw new Error(`Unknown HTTP2 promise event: ${y}`);return C}),C},g))),t.cacheOptions={...t.cacheOptions},t.dnsCache===!0)$k||($k=new APe.default),t.dnsCache=$k;else if(!Ee.default.undefined(t.dnsCache)&&!t.dnsCache.lookup)throw new TypeError(`Parameter \\`dnsCache\\` must be a CacheableLookup instance or a boolean, got ${Ee.default(t.dnsCache)}`);Ee.default.number(t.timeout)?t.timeout={request:t.timeout}:i&&t.timeout!==i.timeout?t.timeout={...i.timeout,...t.timeout}:t.timeout={...t.timeout},t.context||(t.context={});let f=t.hooks===(i==null?void 0:i.hooks);t.hooks={...t.hooks};for(let h of Yt.knownHookEvents)if(h in t.hooks)if(Ee.default.array(t.hooks[h]))t.hooks[h]=[...t.hooks[h]];else throw new TypeError(`Parameter \\`${h}\\` must be an Array, got ${Ee.default(t.hooks[h])}`);else t.hooks[h]=[];if(i&&!f)for(let h of Yt.knownHookEvents)i.hooks[h].length>0&&(t.hooks[h]=[...i.hooks[h],...t.hooks[h]]);if(\"family\"in t&&HA.default('\"options.family\" was never documented, please use \"options.dnsLookupIpVersion\"'),i!=null&&i.https&&(t.https={...i.https,...t.https}),\"rejectUnauthorized\"in t&&HA.default('\"options.rejectUnauthorized\" is now deprecated, please use \"options.https.rejectUnauthorized\"'),\"checkServerIdentity\"in t&&HA.default('\"options.checkServerIdentity\" was never documented, please use \"options.https.checkServerIdentity\"'),\"ca\"in t&&HA.default('\"options.ca\" was never documented, please use \"options.https.certificateAuthority\"'),\"key\"in t&&HA.default('\"options.key\" was never documented, please use \"options.https.key\"'),\"cert\"in t&&HA.default('\"options.cert\" was never documented, please use \"options.https.certificate\"'),\"passphrase\"in t&&HA.default('\"options.passphrase\" was never documented, please use \"options.https.passphrase\"'),\"pfx\"in t&&HA.default('\"options.pfx\" was never documented, please use \"options.https.pfx\"'),\"followRedirects\"in t)throw new TypeError(\"The `followRedirects` option does not exist. Use `followRedirect` instead.\");if(t.agent){for(let h in t.agent)if(h!==\"http\"&&h!==\"https\"&&h!==\"http2\")throw new TypeError(`Expected the \\`options.agent\\` properties to be \\`http\\`, \\`https\\` or \\`http2\\`, got \\`${h}\\``)}return t.maxRedirects=(l=t.maxRedirects)!==null&&l!==void 0?l:0,Yt.setNonEnumerableProperties([i,c],t),mPe.default(t,i)}_lockWrite(){let e=()=>{throw new TypeError(\"The payload has been already provided\")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:e}=this,{headers:t}=e,i=!Ee.default.undefined(e.form),n=!Ee.default.undefined(e.json),s=!Ee.default.undefined(e.body),o=i||n||s,a=Yt.withoutBody.has(e.method)&&!(e.method===\"GET\"&&e.allowGetBody);if(this._cannotHaveBody=a,o){if(a)throw new TypeError(`The \\`${e.method}\\` method cannot be used with a body`);if([s,i,n].filter(l=>l).length>1)throw new TypeError(\"The `body`, `json` and `form` options are mutually exclusive\");if(s&&!(e.body instanceof F5.Readable)&&!Ee.default.string(e.body)&&!Ee.default.buffer(e.body)&&!T5.default(e.body))throw new TypeError(\"The `body` option must be a stream.Readable, string or Buffer\");if(i&&!Ee.default.object(e.form))throw new TypeError(\"The `form` option must be an Object\");{let l=!Ee.default.string(t[\"content-type\"]);s?(T5.default(e.body)&&l&&(t[\"content-type\"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[GA]=e.body):i?(l&&(t[\"content-type\"]=\"application/x-www-form-urlencoded\"),this[GA]=new UA.URLSearchParams(e.form).toString()):(l&&(t[\"content-type\"]=\"application/json\"),this[GA]=e.stringifyJson(e.json));let c=await gPe.default(this[GA],e.headers);Ee.default.undefined(t[\"content-length\"])&&Ee.default.undefined(t[\"transfer-encoding\"])&&!a&&!Ee.default.undefined(c)&&(t[\"content-length\"]=String(c))}}else a?this._lockWrite():this._unlockWrite();this[Nf]=Number(t[\"content-length\"])||void 0}async _onResponseBase(e){let{options:t}=this,{url:i}=t;this[Y5]=e,t.decompress&&(e=lPe(e));let n=e.statusCode,s=e;s.statusMessage=s.statusMessage?s.statusMessage:N5.STATUS_CODES[n],s.url=t.url.toString(),s.requestUrl=this.requestUrl,s.redirectUrls=this.redirects,s.request=this,s.isFromCache=e.fromCache||!1,s.ip=this.ip,s.retryCount=this.retryCount,this[H5]=s.isFromCache,this[Rf]=Number(e.headers[\"content-length\"])||void 0,this[Jw]=e,e.once(\"end\",()=>{this[Rf]=this[Ff],this.emit(\"downloadProgress\",this.downloadProgress)}),e.once(\"error\",a=>{e.destroy(),this._beforeError(new fC(a,this))}),e.once(\"aborted\",()=>{this._beforeError(new fC({name:\"Error\",message:\"The server aborted pending request\",code:\"ECONNRESET\"},this))}),this.emit(\"downloadProgress\",this.downloadProgress);let o=e.headers[\"set-cookie\"];if(Ee.default.object(t.cookieJar)&&o){let a=o.map(async l=>t.cookieJar.setCookie(l,i.toString()));t.ignoreInvalidCookies&&(a=a.map(async l=>l.catch(()=>{})));try{await Promise.all(a)}catch(l){this._beforeError(l);return}}if(t.followRedirect&&e.headers.location&&QPe.has(n)){if(e.resume(),this[xi]&&(this[eR](),delete this[xi],this[U5]()),(n===303&&t.method!==\"GET\"&&t.method!==\"HEAD\"||!t.methodRewriting)&&(t.method=\"GET\",\"body\"in t&&delete t.body,\"json\"in t&&delete t.json,\"form\"in t&&delete t.form,this[GA]=void 0,delete t.headers[\"content-length\"]),this.redirects.length>=t.maxRedirects){this._beforeError(new Ww(this));return}try{let l=Buffer.from(e.headers.location,\"binary\").toString(),c=new UA.URL(l,i),u=c.toString();decodeURI(u),c.hostname!==i.hostname||c.port!==i.port?(\"host\"in t.headers&&delete t.headers.host,\"cookie\"in t.headers&&delete t.headers.cookie,\"authorization\"in t.headers&&delete t.headers.authorization,(t.username||t.password)&&(t.username=\"\",t.password=\"\")):(c.username=t.username,c.password=t.password),this.redirects.push(u),t.url=c;for(let g of t.hooks.beforeRedirect)await g(t,s);this.emit(\"redirect\",s,t),await this._makeRequest()}catch(l){this._beforeError(l);return}return}if(t.isStream&&t.throwHttpErrors&&!CPe.isResponseOk(s)){this._beforeError(new zw(s));return}e.on(\"readable\",()=>{this[qw]&&this._read()}),this.on(\"resume\",()=>{e.resume()}),this.on(\"pause\",()=>{e.pause()}),e.once(\"end\",()=>{this.push(null)}),this.emit(\"response\",e);for(let a of this[jw])if(!a.headersSent){for(let l in e.headers){let c=t.decompress?l!==\"content-encoding\":!0,u=e.headers[l];c&&a.setHeader(l,u)}a.statusCode=n}}async _onResponse(e){try{await this._onResponseBase(e)}catch(t){this._beforeError(t)}}_onRequest(e){let{options:t}=this,{timeout:i,url:n}=t;aPe.default(e),this[eR]=O5.default(e,i,n);let s=t.cache?\"cacheableResponse\":\"response\";e.once(s,l=>{this._onResponse(l)}),e.once(\"error\",l=>{var c;e.destroy(),(c=e.res)===null||c===void 0||c.removeAllListeners(\"end\"),l=l instanceof O5.TimeoutError?new _w(l,this.timings,this):new ei(l.message,l,this),this._beforeError(l)}),this[U5]=fPe.default(e,this,SPe),this[xi]=e,this.emit(\"uploadProgress\",this.uploadProgress);let o=this[GA],a=this.redirects.length===0?this:e;Ee.default.nodeStream(o)?(o.pipe(a),o.once(\"error\",l=>{this._beforeError(new Xw(l,this))})):(this._unlockWrite(),Ee.default.undefined(o)?(this._cannotHaveBody||this._noPipe)&&(a.end(),this._lockWrite()):(this._writeRequest(o,void 0,()=>{}),a.end(),this._lockWrite())),this.emit(\"request\",e)}async _createCacheableRequest(e,t){return new Promise((i,n)=>{Object.assign(t,hPe.default(e)),delete t.url;let s,o=tR.get(t.cache)(t,async a=>{a._readableState.autoDestroy=!1,s&&(await s).emit(\"cacheableResponse\",a),i(a)});t.url=e,o.once(\"error\",n),o.once(\"request\",async a=>{s=a,i(s)})})}async _makeRequest(){var e,t,i,n,s;let{options:o}=this,{headers:a}=o;for(let B in a)if(Ee.default.undefined(a[B]))delete a[B];else if(Ee.default.null_(a[B]))throw new TypeError(`Use \\`undefined\\` instead of \\`null\\` to delete the \\`${B}\\` header`);if(o.decompress&&Ee.default.undefined(a[\"accept-encoding\"])&&(a[\"accept-encoding\"]=IPe?\"gzip, deflate, br\":\"gzip, deflate\"),o.cookieJar){let B=await o.cookieJar.getCookieString(o.url.toString());Ee.default.nonEmptyString(B)&&(o.headers.cookie=B)}for(let B of o.hooks.beforeRequest){let v=await B(o);if(!Ee.default.undefined(v)){o.request=()=>v;break}}o.body&&this[GA]!==o.body&&(this[GA]=o.body);let{agent:l,request:c,timeout:u,url:g}=o;if(o.dnsCache&&!(\"lookup\"in o)&&(o.lookup=o.dnsCache.lookup),g.hostname===\"unix\"){let B=/(?<socketPath>.+?):(?<path>.+)/.exec(`${g.pathname}${g.search}`);if(B!=null&&B.groups){let{socketPath:v,path:D}=B.groups;Object.assign(o,{socketPath:v,path:D,host:\"\"})}}let f=g.protocol===\"https:\",h;o.http2?h=cPe.auto:h=f?oPe.request:N5.request;let p=(e=o.request)!==null&&e!==void 0?e:h,C=o.cache?this._createCacheableRequest:p;l&&!o.http2&&(o.agent=l[f?\"https\":\"http\"]),o[xi]=p,delete o.request,delete o.timeout;let y=o;if(y.shared=(t=o.cacheOptions)===null||t===void 0?void 0:t.shared,y.cacheHeuristic=(i=o.cacheOptions)===null||i===void 0?void 0:i.cacheHeuristic,y.immutableMinTimeToLive=(n=o.cacheOptions)===null||n===void 0?void 0:n.immutableMinTimeToLive,y.ignoreCargoCult=(s=o.cacheOptions)===null||s===void 0?void 0:s.ignoreCargoCult,o.dnsLookupIpVersion!==void 0)try{y.family=K5.dnsLookupIpVersionToFamily(o.dnsLookupIpVersion)}catch{throw new Error(\"Invalid `dnsLookupIpVersion` option value\")}o.https&&(\"rejectUnauthorized\"in o.https&&(y.rejectUnauthorized=o.https.rejectUnauthorized),o.https.checkServerIdentity&&(y.checkServerIdentity=o.https.checkServerIdentity),o.https.certificateAuthority&&(y.ca=o.https.certificateAuthority),o.https.certificate&&(y.cert=o.https.certificate),o.https.key&&(y.key=o.https.key),o.https.passphrase&&(y.passphrase=o.https.passphrase),o.https.pfx&&(y.pfx=o.https.pfx));try{let B=await C(g,y);Ee.default.undefined(B)&&(B=h(g,y)),o.request=c,o.timeout=u,o.agent=l,o.https&&(\"rejectUnauthorized\"in o.https&&delete y.rejectUnauthorized,o.https.checkServerIdentity&&delete y.checkServerIdentity,o.https.certificateAuthority&&delete y.ca,o.https.certificate&&delete y.cert,o.https.key&&delete y.key,o.https.passphrase&&delete y.passphrase,o.https.pfx&&delete y.pfx),wPe(B)?this._onRequest(B):this.writable?(this.once(\"finish\",()=>{this._onResponse(B)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(B)}catch(B){throw B instanceof L5.CacheError?new Vw(B,this):new ei(B.message,B,this)}}async _error(e){try{for(let t of this.options.hooks.beforeError)e=await t(e)}catch(t){e=new ei(t.message,t,this)}this.destroy(e)}_beforeError(e){if(this[Tf])return;let{options:t}=this,i=this.retryCount+1;this[Tf]=!0,e instanceof ei||(e=new ei(e.message,e,this));let n=e,{response:s}=n;(async()=>{if(s&&!s.body){s.setEncoding(this._readableState.encoding);try{s.rawBody=await dPe.default(s),s.body=s.rawBody.toString()}catch{}}if(this.listenerCount(\"retry\")!==0){let o;try{let a;s&&\"retry-after\"in s.headers&&(a=Number(s.headers[\"retry-after\"]),Number.isNaN(a)?(a=Date.parse(s.headers[\"retry-after\"])-Date.now(),a<=0&&(a=1)):a*=1e3),o=await t.retry.calculateDelay({attemptCount:i,retryOptions:t.retry,error:n,retryAfter:a,computedValue:EPe.default({attemptCount:i,retryOptions:t.retry,error:n,retryAfter:a,computedValue:0})})}catch(a){this._error(new ei(a.message,a,this));return}if(o){let a=async()=>{try{for(let l of this.options.hooks.beforeRetry)await l(this.options,n,i)}catch(l){this._error(new ei(l.message,e,this));return}this.destroyed||(this.destroy(),this.emit(\"retry\",i,e))};this[j5]=setTimeout(a,o);return}}this._error(n)})()}_read(){this[qw]=!0;let e=this[Jw];if(e&&!this[Tf]){e.readableLength&&(this[qw]=!1);let t;for(;(t=e.read())!==null;){this[Ff]+=t.length,this[G5]=!0;let i=this.downloadProgress;i.percent<1&&this.emit(\"downloadProgress\",i),this.push(t)}}}_write(e,t,i){let n=()=>{this._writeRequest(e,t,i)};this.requestInitialized?n():this[gC].push(n)}_writeRequest(e,t,i){this[xi].destroyed||(this._progressCallbacks.push(()=>{this[Lf]+=Buffer.byteLength(e,t);let n=this.uploadProgress;n.percent<1&&this.emit(\"uploadProgress\",n)}),this[xi].write(e,t,n=>{!n&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),i(n)}))}_final(e){let t=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(xi in this)){e();return}if(this[xi].destroyed){e();return}this[xi].end(i=>{i||(this[Nf]=this[Lf],this.emit(\"uploadProgress\",this.uploadProgress),this[xi].emit(\"upload-complete\")),e(i)})};this.requestInitialized?t():this[gC].push(t)}_destroy(e,t){var i;this[Tf]=!0,clearTimeout(this[j5]),xi in this&&(this[eR](),!((i=this[Jw])===null||i===void 0)&&i.complete||this[xi].destroy()),e!==null&&!Ee.default.undefined(e)&&!(e instanceof ei)&&(e=new ei(e.message,e,this)),t(e)}get _isAboutToError(){return this[Tf]}get ip(){var e;return(e=this.socket)===null||e===void 0?void 0:e.remoteAddress}get aborted(){var e,t,i;return((t=(e=this[xi])===null||e===void 0?void 0:e.destroyed)!==null&&t!==void 0?t:this.destroyed)&&!(!((i=this[Y5])===null||i===void 0)&&i.complete)}get socket(){var e,t;return(t=(e=this[xi])===null||e===void 0?void 0:e.socket)!==null&&t!==void 0?t:void 0}get downloadProgress(){let e;return this[Rf]?e=this[Ff]/this[Rf]:this[Rf]===this[Ff]?e=1:e=0,{percent:e,transferred:this[Ff],total:this[Rf]}}get uploadProgress(){let e;return this[Nf]?e=this[Lf]/this[Nf]:this[Nf]===this[Lf]?e=1:e=0,{percent:e,transferred:this[Lf],total:this[Nf]}}get timings(){var e;return(e=this[xi])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[H5]}pipe(e,t){if(this[G5])throw new Error(\"Failed to pipe. The response has been emitted already.\");return e instanceof Zk.ServerResponse&&this[jw].add(e),super.pipe(e,t)}unpipe(e){return e instanceof Zk.ServerResponse&&this[jw].delete(e),super.unpipe(e),this}};Yt.default=$w});var pC=w(io=>{\"use strict\";var vPe=io&&io.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),xPe=io&&io.__exportStar||function(r,e){for(var t in r)t!==\"default\"&&!Object.prototype.hasOwnProperty.call(e,t)&&vPe(e,r,t)};Object.defineProperty(io,\"__esModule\",{value:!0});io.CancelError=io.ParseError=void 0;var q5=hC(),rR=class extends q5.RequestError{constructor(e,t){let{options:i}=t.request;super(`${e.message} in \"${i.url.toString()}\"`,e,t.request),this.name=\"ParseError\"}};io.ParseError=rR;var iR=class extends q5.RequestError{constructor(e){super(\"Promise was canceled\",{},e),this.name=\"CancelError\"}get isCanceled(){return!0}};io.CancelError=iR;xPe(hC(),io)});var W5=w(nR=>{\"use strict\";Object.defineProperty(nR,\"__esModule\",{value:!0});var J5=pC(),PPe=(r,e,t,i)=>{let{rawBody:n}=r;try{if(e===\"text\")return n.toString(i);if(e===\"json\")return n.length===0?\"\":t(n.toString());if(e===\"buffer\")return n;throw new J5.ParseError({message:`Unknown body type '${e}'`,name:\"Error\"},r)}catch(s){throw new J5.ParseError(s,r)}};nR.default=PPe});var sR=w(YA=>{\"use strict\";var DPe=YA&&YA.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),kPe=YA&&YA.__exportStar||function(r,e){for(var t in r)t!==\"default\"&&!Object.prototype.hasOwnProperty.call(e,t)&&DPe(e,r,t)};Object.defineProperty(YA,\"__esModule\",{value:!0});var RPe=J(\"events\"),FPe=Ta(),NPe=W8(),eB=pC(),z5=W5(),V5=hC(),LPe=Hk(),TPe=zk(),X5=Vk(),OPe=[\"request\",\"response\",\"redirect\",\"uploadProgress\",\"downloadProgress\"];function _5(r){let e,t,i=new RPe.EventEmitter,n=new NPe((o,a,l)=>{let c=u=>{let g=new V5.default(void 0,r);g.retryCount=u,g._noPipe=!0,l(()=>g.destroy()),l.shouldReject=!1,l(()=>a(new eB.CancelError(g))),e=g,g.once(\"response\",async p=>{var C;if(p.retryCount=u,p.request.aborted)return;let y;try{y=await TPe.default(g),p.rawBody=y}catch{return}if(g._isAboutToError)return;let B=((C=p.headers[\"content-encoding\"])!==null&&C!==void 0?C:\"\").toLowerCase(),v=[\"gzip\",\"deflate\",\"br\"].includes(B),{options:D}=g;if(v&&!D.decompress)p.body=y;else try{p.body=z5.default(p,D.responseType,D.parseJson,D.encoding)}catch(L){if(p.body=y.toString(),X5.isResponseOk(p)){g._beforeError(L);return}}try{for(let[L,H]of D.hooks.afterResponse.entries())p=await H(p,async j=>{let $=V5.default.normalizeArguments(void 0,{...j,retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1},D);$.hooks.afterResponse=$.hooks.afterResponse.slice(0,L);for(let W of $.hooks.beforeRetry)await W($);let V=_5($);return l(()=>{V.catch(()=>{}),V.cancel()}),V})}catch(L){g._beforeError(new eB.RequestError(L.message,L,g));return}if(!X5.isResponseOk(p)){g._beforeError(new eB.HTTPError(p));return}t=p,o(g.options.resolveBodyOnly?p.body:p)});let f=p=>{if(n.isCanceled)return;let{options:C}=g;if(p instanceof eB.HTTPError&&!C.throwHttpErrors){let{response:y}=p;o(g.options.resolveBodyOnly?y.body:y);return}a(p)};g.once(\"error\",f);let h=g.options.body;g.once(\"retry\",(p,C)=>{var y,B;if(h===((y=C.request)===null||y===void 0?void 0:y.options.body)&&FPe.default.nodeStream((B=C.request)===null||B===void 0?void 0:B.options.body)){f(C);return}c(p)}),LPe.default(g,i,OPe)};c(0)});n.on=(o,a)=>(i.on(o,a),n);let s=o=>{let a=(async()=>{await n;let{options:l}=t.request;return z5.default(t,o,l.parseJson,l.encoding)})();return Object.defineProperties(a,Object.getOwnPropertyDescriptors(n)),a};return n.json=()=>{let{headers:o}=e.options;return!e.writableFinished&&o.accept===void 0&&(o.accept=\"application/json\"),s(\"json\")},n.buffer=()=>s(\"buffer\"),n.text=()=>s(\"text\"),n}YA.default=_5;kPe(pC(),YA)});var Z5=w(oR=>{\"use strict\";Object.defineProperty(oR,\"__esModule\",{value:!0});var MPe=pC();function KPe(r,...e){let t=(async()=>{if(r instanceof MPe.RequestError)try{for(let n of e)if(n)for(let s of n)r=await s(r)}catch(n){r=n}throw r})(),i=()=>t;return t.json=i,t.text=i,t.buffer=i,t.on=i,t}oR.default=KPe});var tV=w(aR=>{\"use strict\";Object.defineProperty(aR,\"__esModule\",{value:!0});var $5=Ta();function eV(r){for(let e of Object.values(r))($5.default.plainObject(e)||$5.default.array(e))&&eV(e);return Object.freeze(r)}aR.default=eV});var iV=w(rV=>{\"use strict\";Object.defineProperty(rV,\"__esModule\",{value:!0})});var AR=w(Is=>{\"use strict\";var UPe=Is&&Is.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),HPe=Is&&Is.__exportStar||function(r,e){for(var t in r)t!==\"default\"&&!Object.prototype.hasOwnProperty.call(e,t)&&UPe(e,r,t)};Object.defineProperty(Is,\"__esModule\",{value:!0});Is.defaultHandler=void 0;var nV=Ta(),Es=sR(),GPe=Z5(),rB=hC(),YPe=tV(),jPe={RequestError:Es.RequestError,CacheError:Es.CacheError,ReadError:Es.ReadError,HTTPError:Es.HTTPError,MaxRedirectsError:Es.MaxRedirectsError,TimeoutError:Es.TimeoutError,ParseError:Es.ParseError,CancelError:Es.CancelError,UnsupportedProtocolError:Es.UnsupportedProtocolError,UploadError:Es.UploadError},qPe=async r=>new Promise(e=>{setTimeout(e,r)}),{normalizeArguments:tB}=rB.default,sV=(...r)=>{let e;for(let t of r)e=tB(void 0,t,e);return e},JPe=r=>r.isStream?new rB.default(void 0,r):Es.default(r),WPe=r=>\"defaults\"in r&&\"options\"in r.defaults,zPe=[\"get\",\"post\",\"put\",\"patch\",\"head\",\"delete\"];Is.defaultHandler=(r,e)=>e(r);var oV=(r,e)=>{if(r)for(let t of r)t(e)},aV=r=>{r._rawHandlers=r.handlers,r.handlers=r.handlers.map(i=>(n,s)=>{let o,a=i(n,l=>(o=s(l),o));if(a!==o&&!n.isStream&&o){let l=a,{then:c,catch:u,finally:g}=l;Object.setPrototypeOf(l,Object.getPrototypeOf(o)),Object.defineProperties(l,Object.getOwnPropertyDescriptors(o)),l.then=c,l.catch=u,l.finally=g}return a});let e=(i,n={},s)=>{var o,a;let l=0,c=u=>r.handlers[l++](u,l===r.handlers.length?JPe:c);if(nV.default.plainObject(i)){let u={...i,...n};rB.setNonEnumerableProperties([i,n],u),n=u,i=void 0}try{let u;try{oV(r.options.hooks.init,n),oV((o=n.hooks)===null||o===void 0?void 0:o.init,n)}catch(f){u=f}let g=tB(i,n,s!=null?s:r.options);if(g[rB.kIsNormalizedAlready]=!0,u)throw new Es.RequestError(u.message,u,g);return c(g)}catch(u){if(n.isStream)throw u;return GPe.default(u,r.options.hooks.beforeError,(a=n.hooks)===null||a===void 0?void 0:a.beforeError)}};e.extend=(...i)=>{let n=[r.options],s=[...r._rawHandlers],o;for(let a of i)WPe(a)?(n.push(a.defaults.options),s.push(...a.defaults._rawHandlers),o=a.defaults.mutableDefaults):(n.push(a),\"handlers\"in a&&s.push(...a.handlers),o=a.mutableDefaults);return s=s.filter(a=>a!==Is.defaultHandler),s.length===0&&s.push(Is.defaultHandler),aV({options:sV(...n),handlers:s,mutableDefaults:Boolean(o)})};let t=async function*(i,n){let s=tB(i,n,r.options);s.resolveBodyOnly=!1;let o=s.pagination;if(!nV.default.object(o))throw new TypeError(\"`options.pagination` must be implemented\");let a=[],{countLimit:l}=o,c=0;for(;c<o.requestLimit;){c!==0&&await qPe(o.backoff);let u=await e(void 0,void 0,s),g=await o.transform(u),f=[];for(let p of g)if(o.filter(p,a,f)&&(!o.shouldContinue(p,a,f)||(yield p,o.stackAllItems&&a.push(p),f.push(p),--l<=0)))return;let h=o.paginate(u,a,f);if(h===!1)return;h===u.request.options?s=u.request.options:h!==void 0&&(s=tB(void 0,h,s)),c++}};e.paginate=t,e.paginate.all=async(i,n)=>{let s=[];for await(let o of t(i,n))s.push(o);return s},e.paginate.each=t,e.stream=(i,n)=>e(i,{...n,isStream:!0});for(let i of zPe)e[i]=(n,s)=>e(n,{...s,method:i}),e.stream[i]=(n,s)=>e(n,{...s,method:i,isStream:!0});return Object.assign(e,jPe),Object.defineProperty(e,\"defaults\",{value:r.mutableDefaults?r:YPe.default(r),writable:r.mutableDefaults,configurable:r.mutableDefaults,enumerable:!0}),e.mergeOptions=sV,e};Is.default=aV;HPe(iV(),Is)});var nB=w((Oa,iB)=>{\"use strict\";var VPe=Oa&&Oa.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),AV=Oa&&Oa.__exportStar||function(r,e){for(var t in r)t!==\"default\"&&!Object.prototype.hasOwnProperty.call(e,t)&&VPe(e,r,t)};Object.defineProperty(Oa,\"__esModule\",{value:!0});var XPe=J(\"url\"),lV=AR(),_Pe={options:{method:\"GET\",retry:{limit:2,methods:[\"GET\",\"PUT\",\"HEAD\",\"DELETE\",\"OPTIONS\",\"TRACE\"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:[\"ETIMEDOUT\",\"ECONNRESET\",\"EADDRINUSE\",\"ECONNREFUSED\",\"EPIPE\",\"ENOTFOUND\",\"ENETUNREACH\",\"EAI_AGAIN\"],maxRetryAfter:void 0,calculateDelay:({computedValue:r})=>r},timeout:{},headers:{\"user-agent\":\"got (https://github.com/sindresorhus/got)\"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:\"text\",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:\"\",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:r=>r.request.options.responseType===\"json\"?r.body:JSON.parse(r.body),paginate:r=>{if(!Reflect.has(r.headers,\"link\"))return!1;let e=r.headers.link.split(\",\"),t;for(let i of e){let n=i.split(\";\");if(n[1].includes(\"next\")){t=n[0].trimStart().trim(),t=t.slice(1,-1);break}}return t?{url:new XPe.URL(t)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:1/0,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:r=>JSON.parse(r),stringifyJson:r=>JSON.stringify(r),cacheOptions:{}},handlers:[lV.defaultHandler],mutableDefaults:!1},lR=lV.default(_Pe);Oa.default=lR;iB.exports=lR;iB.exports.default=lR;iB.exports.__esModule=!0;AV(AR(),Oa);AV(sR(),Oa)});var fV=w(Of=>{\"use strict\";var Jit=J(\"net\"),ZPe=J(\"tls\"),cR=J(\"http\"),cV=J(\"https\"),$Pe=J(\"events\"),Wit=J(\"assert\"),eDe=J(\"util\");Of.httpOverHttp=tDe;Of.httpsOverHttp=rDe;Of.httpOverHttps=iDe;Of.httpsOverHttps=nDe;function tDe(r){var e=new Ma(r);return e.request=cR.request,e}function rDe(r){var e=new Ma(r);return e.request=cR.request,e.createSocket=uV,e.defaultPort=443,e}function iDe(r){var e=new Ma(r);return e.request=cV.request,e}function nDe(r){var e=new Ma(r);return e.request=cV.request,e.createSocket=uV,e.defaultPort=443,e}function Ma(r){var e=this;e.options=r||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||cR.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on(\"free\",function(i,n,s,o){for(var a=gV(n,s,o),l=0,c=e.requests.length;l<c;++l){var u=e.requests[l];if(u.host===a.host&&u.port===a.port){e.requests.splice(l,1),u.request.onSocket(i);return}}i.destroy(),e.removeSocket(i)})}eDe.inherits(Ma,$Pe.EventEmitter);Ma.prototype.addRequest=function(e,t,i,n){var s=this,o=uR({request:e},s.options,gV(t,i,n));if(s.sockets.length>=this.maxSockets){s.requests.push(o);return}s.createSocket(o,function(a){a.on(\"free\",l),a.on(\"close\",c),a.on(\"agentRemove\",c),e.onSocket(a);function l(){s.emit(\"free\",a,o)}function c(u){s.removeSocket(a),a.removeListener(\"free\",l),a.removeListener(\"close\",c),a.removeListener(\"agentRemove\",c)}})};Ma.prototype.createSocket=function(e,t){var i=this,n={};i.sockets.push(n);var s=uR({},i.proxyOptions,{method:\"CONNECT\",path:e.host+\":\"+e.port,agent:!1,headers:{host:e.host+\":\"+e.port}});e.localAddress&&(s.localAddress=e.localAddress),s.proxyAuth&&(s.headers=s.headers||{},s.headers[\"Proxy-Authorization\"]=\"Basic \"+new Buffer(s.proxyAuth).toString(\"base64\")),jA(\"making CONNECT request\");var o=i.request(s);o.useChunkedEncodingByDefault=!1,o.once(\"response\",a),o.once(\"upgrade\",l),o.once(\"connect\",c),o.once(\"error\",u),o.end();function a(g){g.upgrade=!0}function l(g,f,h){process.nextTick(function(){c(g,f,h)})}function c(g,f,h){if(o.removeAllListeners(),f.removeAllListeners(),g.statusCode!==200){jA(\"tunneling socket could not be established, statusCode=%d\",g.statusCode),f.destroy();var p=new Error(\"tunneling socket could not be established, statusCode=\"+g.statusCode);p.code=\"ECONNRESET\",e.request.emit(\"error\",p),i.removeSocket(n);return}if(h.length>0){jA(\"got illegal response body from proxy\"),f.destroy();var p=new Error(\"got illegal response body from proxy\");p.code=\"ECONNRESET\",e.request.emit(\"error\",p),i.removeSocket(n);return}return jA(\"tunneling connection has established\"),i.sockets[i.sockets.indexOf(n)]=f,t(f)}function u(g){o.removeAllListeners(),jA(`tunneling socket could not be established, cause=%s\n`,g.message,g.stack);var f=new Error(\"tunneling socket could not be established, cause=\"+g.message);f.code=\"ECONNRESET\",e.request.emit(\"error\",f),i.removeSocket(n)}};Ma.prototype.removeSocket=function(e){var t=this.sockets.indexOf(e);if(t!==-1){this.sockets.splice(t,1);var i=this.requests.shift();i&&this.createSocket(i,function(n){i.request.onSocket(n)})}};function uV(r,e){var t=this;Ma.prototype.createSocket.call(t,r,function(i){var n=r.request.getHeader(\"host\"),s=uR({},t.options,{socket:i,servername:n?n.replace(/:.*$/,\"\"):r.host}),o=ZPe.connect(0,s);t.sockets[t.sockets.indexOf(i)]=o,e(o)})}function gV(r,e,t){return typeof r==\"string\"?{host:r,port:e,localAddress:t}:r}function uR(r){for(var e=1,t=arguments.length;e<t;++e){var i=arguments[e];if(typeof i==\"object\")for(var n=Object.keys(i),s=0,o=n.length;s<o;++s){var a=n[s];i[a]!==void 0&&(r[a]=i[a])}}return r}var jA;process.env.NODE_DEBUG&&/\\btunnel\\b/.test(process.env.NODE_DEBUG)?jA=function(){var r=Array.prototype.slice.call(arguments);typeof r[0]==\"string\"?r[0]=\"TUNNEL: \"+r[0]:r.unshift(\"TUNNEL:\"),console.error.apply(console,r)}:jA=function(){};Of.debug=jA});var pV=w((Vit,hV)=>{hV.exports=fV()});var SV=w((aB,CR)=>{var bV=Object.assign({},J(\"fs\")),dR=function(){var r=typeof document<\"u\"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<\"u\"&&(r=r||__filename),function(e){e=e||{};var t=typeof e<\"u\"?e:{},i,n;t.ready=new Promise(function(d,E){i=d,n=E});var s={},o;for(o in t)t.hasOwnProperty(o)&&(s[o]=t[o]);var a=[],l=\"./this.program\",c=function(d,E){throw E},u=!1,g=!0,f=\"\";function h(d){return t.locateFile?t.locateFile(d,f):f+d}var p,C,y,B;g&&(u?f=J(\"path\").dirname(f)+\"/\":f=__dirname+\"/\",p=function(E,I){var k=ca(E);return k?I?k:k.toString():(y||(y=bV),B||(B=J(\"path\")),E=B.normalize(E),y.readFileSync(E,I?null:\"utf8\"))},C=function(E){var I=p(E,!0);return I.buffer||(I=new Uint8Array(I)),re(I.buffer),I},process.argv.length>1&&(l=process.argv[1].replace(/\\\\/g,\"/\")),a=process.argv.slice(2),c=function(d){process.exit(d)},t.inspect=function(){return\"[Emscripten Module object]\"});var v=t.print||console.log.bind(console),D=t.printErr||console.warn.bind(console);for(o in s)s.hasOwnProperty(o)&&(t[o]=s[o]);s=null,t.arguments&&(a=t.arguments),t.thisProgram&&(l=t.thisProgram),t.quit&&(c=t.quit);var L=16;function H(d,E){return E||(E=L),Math.ceil(d/E)*E}var j=0,$=function(d){j=d},V;t.wasmBinary&&(V=t.wasmBinary);var W=t.noExitRuntime||!0;typeof WebAssembly!=\"object\"&&wr(\"no native wasm support detected\");function Z(d,E,I){switch(E=E||\"i8\",E.charAt(E.length-1)===\"*\"&&(E=\"i32\"),E){case\"i1\":return ne[d>>0];case\"i8\":return ne[d>>0];case\"i16\":return pe[d>>1];case\"i32\":return de[d>>2];case\"i64\":return de[d>>2];case\"float\":return Pt[d>>2];case\"double\":return It[d>>3];default:wr(\"invalid type for getValue: \"+E)}return null}var A,ae=!1,ge;function re(d,E){d||wr(\"Assertion failed: \"+E)}function O(d){var E=t[\"_\"+d];return re(E,\"Cannot call unknown function \"+d+\", make sure it is exported\"),E}function F(d,E,I,k,T){var _={string:function(it){var Et=0;if(it!=null&&it!==0){var Qe=(it.length<<2)+1;Et=Q(Qe),oe(it,Et,Qe)}return Et},array:function(it){var Et=Q(it.length);return fe(it,Et),Et}};function te(it){return E===\"string\"?Fe(it):E===\"boolean\"?Boolean(it):it}var Be=O(d),me=[],Je=0;if(k)for(var nt=0;nt<k.length;nt++){var wt=_[I[nt]];wt?(Je===0&&(Je=kE()),me[nt]=wt(k[nt])):me[nt]=k[nt]}var lt=Be.apply(null,me);return lt=te(lt),Je!==0&&RE(Je),lt}function ue(d,E,I,k){I=I||[];var T=I.every(function(te){return te===\"number\"}),_=E!==\"string\";return _&&T&&!k?O(d):function(){return F(d,E,I,arguments,k)}}var he=typeof TextDecoder<\"u\"?new TextDecoder(\"utf8\"):void 0;function ke(d,E,I){for(var k=E+I,T=E;d[T]&&!(T>=k);)++T;if(T-E>16&&d.subarray&&he)return he.decode(d.subarray(E,T));for(var _=\"\";E<T;){var te=d[E++];if(!(te&128)){_+=String.fromCharCode(te);continue}var Be=d[E++]&63;if((te&224)==192){_+=String.fromCharCode((te&31)<<6|Be);continue}var me=d[E++]&63;if((te&240)==224?te=(te&15)<<12|Be<<6|me:te=(te&7)<<18|Be<<12|me<<6|d[E++]&63,te<65536)_+=String.fromCharCode(te);else{var Je=te-65536;_+=String.fromCharCode(55296|Je>>10,56320|Je&1023)}}return _}function Fe(d,E){return d?ke(Y,d,E):\"\"}function Ne(d,E,I,k){if(!(k>0))return 0;for(var T=I,_=I+k-1,te=0;te<d.length;++te){var Be=d.charCodeAt(te);if(Be>=55296&&Be<=57343){var me=d.charCodeAt(++te);Be=65536+((Be&1023)<<10)|me&1023}if(Be<=127){if(I>=_)break;E[I++]=Be}else if(Be<=2047){if(I+1>=_)break;E[I++]=192|Be>>6,E[I++]=128|Be&63}else if(Be<=65535){if(I+2>=_)break;E[I++]=224|Be>>12,E[I++]=128|Be>>6&63,E[I++]=128|Be&63}else{if(I+3>=_)break;E[I++]=240|Be>>18,E[I++]=128|Be>>12&63,E[I++]=128|Be>>6&63,E[I++]=128|Be&63}}return E[I]=0,I-T}function oe(d,E,I){return Ne(d,Y,E,I)}function le(d){for(var E=0,I=0;I<d.length;++I){var k=d.charCodeAt(I);k>=55296&&k<=57343&&(k=65536+((k&1023)<<10)|d.charCodeAt(++I)&1023),k<=127?++E:k<=2047?E+=2:k<=65535?E+=3:E+=4}return E}function we(d){var E=le(d)+1,I=dt(E);return I&&Ne(d,ne,I,E),I}function fe(d,E){ne.set(d,E)}function Ae(d,E){return d%E>0&&(d+=E-d%E),d}var qe,ne,Y,pe,ie,de,tt,Pt,It;function Or(d){qe=d,t.HEAP8=ne=new Int8Array(d),t.HEAP16=pe=new Int16Array(d),t.HEAP32=de=new Int32Array(d),t.HEAPU8=Y=new Uint8Array(d),t.HEAPU16=ie=new Uint16Array(d),t.HEAPU32=tt=new Uint32Array(d),t.HEAPF32=Pt=new Float32Array(d),t.HEAPF64=It=new Float64Array(d)}var ii=t.INITIAL_MEMORY||16777216,gi,hr=[],fi=[],ni=[],Ls=!1;function pr(){if(t.preRun)for(typeof t.preRun==\"function\"&&(t.preRun=[t.preRun]);t.preRun.length;)oa(t.preRun.shift());Co(hr)}function Ei(){Ls=!0,!t.noFSInit&&!S.init.initialized&&S.init(),$n.init(),Co(fi)}function _n(){if(t.postRun)for(typeof t.postRun==\"function\"&&(t.postRun=[t.postRun]);t.postRun.length;)eg(t.postRun.shift());Co(ni)}function oa(d){hr.unshift(d)}function aA(d){fi.unshift(d)}function eg(d){ni.unshift(d)}var Zn=0,AA=null,aa=null;function up(d){return d}function lA(d){Zn++,t.monitorRunDependencies&&t.monitorRunDependencies(Zn)}function cA(d){if(Zn--,t.monitorRunDependencies&&t.monitorRunDependencies(Zn),Zn==0&&(AA!==null&&(clearInterval(AA),AA=null),aa)){var E=aa;aa=null,E()}}t.preloadedImages={},t.preloadedAudios={};function wr(d){t.onAbort&&t.onAbort(d),d+=\"\",D(d),ae=!0,ge=1,d=\"abort(\"+d+\"). Build with -s ASSERTIONS=1 for more info.\";var E=new WebAssembly.RuntimeError(d);throw n(E),E}var wl=\"data:application/octet-stream;base64,\";function tg(d){return d.startsWith(wl)}var po=\"data:application/octet-stream;base64,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ACgCFC0AAiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQADIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAQgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABSAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAGIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAcgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAJIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAogACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACyAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAMIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAA0gACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ADiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAPIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhRBEGo2AhQgACAAKAIIQQFrIgE2AgggAQ0ACyAAIAAoAhhB8f8DcDYCGCAAIAAoAgxB8f8DcDYCDAwBCwsgACgCEARAA0AgACgCEEEQTwRAIAAgACgCEEEQazYCECAAIAAoAhQtAAAgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AASAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQACIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAMgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAFIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAYgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AByAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAIIAAoAhhqNgIYIAAgACgCGCAAKAIMajYC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NgIYIAEoAgxCADcDICABKAIMQgA3AyggASgCDEEANgIwIAEoAgxBADYCNCABKAIMQQA2AjggASgCDEEANgI8IAEoAgxBADsBQCABKAIMQYCA2I14NgJEIAEoAgxCADcDSCABKAIMQQA7AVAgASgCDEEAOwFSIAEoAgxBADYCVAvSEwEBfyMAQbABayIDJAAgAyAANgKoASADIAE2AqQBIAMgAjYCoAEgA0EANgKQASADIAMoAqQBKAIwQQAQOjYClAEgAyADKAKkASgCOEEAEDo2ApgBAkACQAJAAkAgAygClAFBAkYEQCADKAKYAUEBRg0BCyADKAKUAUEBRgRAIAMoApgBQQJGDQELIAMoApQBQQJHDQEgAygCmAFBAkcNAQsgAygCpAEiACAALwEMQYAQcjsBDAwBCyADKAKkASIAIAAvAQxB/+8DcTsBDCADKAKUAUECRgRAIANB9eABIAMoAqQBKAIwIAMoAqgBQQhqEI4BNgKQASADKAKQAUUEQCADQX82AqwBDAMLCwJAIAMoAqABQYACcQ0AIAMoApgBQQJHDQAgA0H1xgEgAygCpAEoAjggAygCqAFBCGoQjgE2AkggAygCSEUEQCADKAKQARAjIANBfzYCrAEMAwsgAygCSCADKAKQATYCACADIAMoAkg2ApABCwsCQCADKAKkAS8BUkUEQCADKAKkASIAIAAvAQxB/v8DcTsBDAwBCyADKAKkASIAIAAvAQxBAXI7AQwLIAMgAygCpAEgAygCoAEQZUEBcToAhgEgAyADKAKgAUGACnFBgApHBH8gAy0AhgEFQQELQQFxOgCHASADAn9BASADKAKkAS8BUkGBAkYNABpBASADKAKkAS8BUkGCAkYNABogAygCpAEvAVJBgwJGC0EBcToAhQEgAy0AhwFBAXEEQCADIANBIGpCHBApNgIcIAMoAhxFBEAgAygCqAFBCGpBDkEAEBQgAygCkAEQIyADQX82AqwBDAILAkAgAygCoAFBgAJxBEACQCADKAKgAUGACHENACADKAKkASkDIEL/////D1YNACADKAKkASkDKEL/////D1gNAgsgAygCHCADKAKkASkDKBAtIAMoAhwgAygCpAEpAyAQLQwBCwJAAkAgAygCoAFBgAhxDQAgAygCpAEpAyBC/////w9WDQAgAygCpAEpAyhC/////w9WDQAgAygCpAEpA0hC/////w9YDQELIAMoAqQBKQMoQv////8PWgRAIAMoAhwgAygCpAEpAygQLQsgAygCpAEpAyBC/////w9aBEAgAygCHCADKAKkASkDIBAtCyADKAKkASkDSEL/////D1oEQCADKAIcIAMoAqQBKQNIEC0LCwsCfyMAQRBrIgAgAygCHDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIcEBYgAygCkAEQIyADQX82AqwBDAILIANBAQJ/IwBBEGsiACADKAIcNgIMAn4gACgCDC0AAEEBcQRAIAAoAgwpAxAMAQtCAAunQf//A3ELIANBIGpBgAYQVTYCjAEgAygCHBAWIAMoAowBIAMoApABNgIAIAMgAygCjAE2ApABCyADLQCFAUEBcQRAIAMgA0EVakIHECk2AhAgAygCEEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAgsgAygCEEECEB8gAygCEEG9EkECEEEgAygCECADKAKkAS8BUkH/AXEQlgEgAygCECADKAKkASgCEEH//wNxEB8CfyMAQRBrIgAgAygCEDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIQEBYgAygCkAEQIyADQX82AqwBDAILIANBgbICQQcgA0EVakGABhBVNgIMIAMoAhAQFiADKAIMIAMoApABNgIAIAMgAygCDDYCkAELIAMgA0HQAGpCLhApIgA2AkwgAEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAQsgAygCTEHxEkH2EiADKAKgAUGAAnEbQQQQQSADKAKgAUGAAnFFBEAgAygCTCADLQCGAUEBcQR/QS0FIAMoAqQBLwEIC0H//wNxEB8LIAMoAkwgAy0AhgFBAXEEf0EtBSADKAKkAS8BCgtB//8DcRAfIAMoAkwgAygCpAEvAQwQHwJAIAMtAIUBQQFxBEAgAygCTEHjABAfDAELIAMoAkwgAygCpAEoAhBB//8DcRAfCyADKAKkASgCFCADQZ4BaiADQZwBahCNASADKAJMIAMvAZ4BEB8gAygCTCADLwGcARAfAkACQCADLQCFAUEBcUUNACADKAKkASkDKEIUWg0AIAMoAkxBABAhDAELIAMoAkwgAygCpAEoAhgQIQsCQAJAIAMoAqABQYACcUGAAkcNACADKAKkASkDIEL/////D1QEQCADKAKkASkDKEL/////D1QNAQsgAygCTEF/ECEgAygCTEF/ECEMAQsCQCADKAKkASkDIEL/////D1QEQCADKAJMIAMoAqQBKQMgpxAhDAELIAMoAkxBfxAhCwJAIAMoAqQBKQMoQv////8PVARAIAMoAkwgAygCpAEpAyinECEMAQsgAygCTEF/ECELCyADKAJMIAMoAqQBKAIwEFFB//8DcRAfIAMgAygCpAEoAjQgAygCoAEQkgFB//8DcSADKAKQAUGABhCSAUH//wNxajYCiAEgAygCTCADKAKIAUH//wNxEB8gAygCoAFBgAJxRQRAIAMoAkwgAygCpAEoAjgQUUH//wNxEB8gAygCTCADKAKkASgCPEH//wNxEB8gAygCTCADKAKkAS8BQBAfIAMoAkwgAygCpAEoAkQQIQJAIAMoAqQBKQNIQv////8PVARAIAMoAkwgAygCpAEpA0inECEMAQsgAygCTEF/ECELCwJ/IwBBEGsiACADKAJMNgIMIAAoAgwtAABBAXFFCwRAIAMoAqgBQQhqQRRBABAUIAMoAkwQFiADKAKQARAjIANBfzYCrAEMAQsgAygCqAEgA0HQAGoCfiMAQRBrIgAgAygCTDYCDAJ+IAAoAgwtAABBAXEEQCAAKAIMKQMQDAELQgALCxA2QQBIBEAgAygCTBAWIAMoApABECMgA0F/NgKsAQwBCyADKAJMEBYgAygCpAEoAjAEQCADKAKoASADKAKkASgCMBCFAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEEQCADKAKoASADKAKQAUGABhCRAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEQIyADKAKkASgCNARAIAMoAqgBIAMoAqQBKAI0IAMoAqABEJEBQQBIBEAgA0F/NgKsAQwCCwsgAygCoAFBgAJxRQRAIAMoAqQBKAI4BEAgAygCqAEgAygCpAEoAjgQhQFBAEgEQCADQX82AqwBDAMLCwsgAyADLQCHAUEBcTYCrAELIAMoAqwBIQAgA0GwAWokACAAC+ACAQF/IwBBIGsiBCQAIAQgADsBGiAEIAE7ARggBCACNgIUIAQgAzYCECAEQRAQGCIANgIMAkAg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AAAgAygCHEHcFmogAygCDEECdGooAgAgAygCHEHYKGpqLQAASg0ADAELIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhxB3BZqIAMoAgxBAnRqKAIANgIAIAMgAygCDDYCFCADIAMoAgxBAXQ2AgwMAQsLIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhA2AgAL1xMBA38jAEEwayICJAAgAiAANgIsIAIgATYCKCACIAIoAigoAgA2AiQgAiACKAIoKAIIKAIANgIgIAIgAigCKCgCCCgCDDYCHCACQX82AhAgAigCLEEANgLQKCACKAIsQb0ENgLUKCACQQA2AhgDQCACKAIYIAIoAhxIBEACQCACKAIkIAIoAhhBAnRqLwEABEAgAiACKAIYIgE2AhAgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQAgBCAANgLQKCAAQQJ0IANqIAE2AgAgAigCGCACKAIsQdgoampBADoAAAwBCyACKAIkIAIoAhhBAnRqQQA7AQILIAIgAigCGEEBajYCGAwBCwsDQCACKAIsKALQKEECSARAAkAgAigCEEECSARAIAIgAigCEEEBaiIANgIQDAELQQAhAAsgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQEgBCABNgLQKCABQQJ0IANqIAA2AgAgAiAANgIMIAIoAiQgAigCDEECdGpBATsBACACKAIMIAIoAixB2ChqakEAOgAAIAIoAiwiACAAKAKoLUEBazYCqC0gAigCIARAIAIoAiwiACAAKAKsLSACKAIgIAIoAgxBAnRqLwECazYCrC0LDAELCyACKAIoIAIoAhA2AgQgAiACKAIsKALQKEECbTYCGANAIAIoAhhBAU4EQCACKAIsIAIoAiQgAigCGBB5IAIgAigCGEEBazYCGAwBCwsgAiACKAIcNgIMA0AgAiACKAIsKALgFjYCGCACKAIsQdwWaiEBIAIoAiwiAygC0CghACADIABBAWs2AtAoIAIoAiwgAEECdCABaigCADYC4BYgAigCLCACKAIkQQEQeSACIAIoAiwoAuAWNgIUIAIoAhghASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBAWshACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIUIQEgAigCLEHcFmohAyACKAIsIgQoAtQoQQFrIQAgBCAANgLUKCAA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AQsgAigCCEEANgIAIAIoAghCADcDECACKAIIQgA3AwggAigCCEIANwMgIAIoAghCADcDGCACKAIIQQA2AiggAigCCEEAOgAsIAIoAgggAikDECACKAIMEI8BQQFxRQRAIAIoAggQJSACQQA2AhwMAQsgAiACKAIINgIcCyACKAIcIQEgAkEgaiQAIAEL1gIBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAyADQQxqQgQQKTYCCAJAIAMoAghFBEAgA0F/NgIcDAELA0AgAygCFARAIAMoAhQoAgQgAygCEHFBgAZxBEAgAygCCEIAECwaIAMoAgggAygCFC8BCBAfIAMoAgggAygCFC8BChAfAn8jAEEQayIAIAMoAgg2AgwgACgCDC0AAEEBcUULBEAgAygCGEEIakEUQQAQFCADKAIIEBYgA0F/NgIcDAQLIAMoAhggA0EMakIEEDZBAEgEQCADKAIIEBYgA0F/NgIcDAQLIAMoAhQvAQoEQCADKAIYIAMoAhQoAgwgAygCFC8BCq0QNkEASARAIAMoAggQFiADQX82AhwMBQsLCyADIAMoAhQoAgA2AhQMAQsLIAMoAggQFiADQQA2AhwLIAMoAhwhACADQSBqJAAgAAtoAQF/IwBBEGsiAiAANgIMIAIgATYCCCACQQA7AQYDQCACKAIMBEAgAigCDCgCBCACKAIIcUGABnEEQCACIAIoAgwvAQogAi8BBkEEamo7AQYLIAIgAigCDCgCADYCDAwBCwsgAi8BBgvwAQEBfyMAQRBrIgEkACABIAA2AgwgASABKAIMNgIIIAFBADYCBANAIAEoAgwEQAJAAkAgASgCDC8BCEH1xgFGDQAgASgCDC8BCEH14AFGDQAgASgCDC8BCEGBsgJGDQAgASgCDC8BCEEBRw0BCyABIAEoAgwoAgA2AgAgASgCCCABKAIMRgRAIAEgASgCADYCCAsgASgCDEEANgIAIAEoAgwQIyABKAIEBEAgASgCBCABKAIANgIACyABIAEoAgA2AgwMAgsgASABKAIMNgIEIAEgASgCDCgCADYCDAwBCwsgASgCCCEAIAFBEGokACAAC7IEAQF/IwBBQGoiBSQAIAUgADYCOCAFIAE7ATYgBSACNgIwIAUgAzYCLCAFIAQ2AiggBSAFKAI4IAUvATatECkiADYC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IAEoAhBB//8DRgRAIAEgASgCDDYCEAsgASgCCEH//wNGBEAgASABKAIENgIICwJAIAEoApQBQQRxRQ0AIAEoAgggASgCBEYEQCABKAIQIAEoAgxGDQELIAEoApABQRVBABAUIAEtABdBAXEEQCABKAKkARAWCyABQQA2AqwBDAELAkAgASgCEEUEQCABKAIIRQ0BCyABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AyggASABKAKkARAxNwMgIAEpAyggASkDIFIEQCABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AzAgASABKAKkARAxNwOAAQJ/IwBBEGsiBSABKAKkATYCDCAFKAIMLQAAQQFxRQsEQCABKAKQAUEUQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABLQAXQQFxBEAgASgCpAEQFgsCQCABKQOAAUL///////////8AWARAIAEpA4ABIAEpA4ABIAEpAzB8WA0BCyABKAKQAUEEQRYQFCABQQA2AqwBDAELIAEpA4ABIAEpAzB8IAEpA5gBIAEpAzh8VgRAIAEoApABQRVBABAUIAFBADYCrAEMAQsCQCABKAKUAUEEcUUNACABKQOAASABKQMwfCABKQOYASABKQM4fFENACABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEpAyggASkDMEIugFYEQCABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEgASkDKCABKAKQARCQASIFNgKMASAFRQRAIAFBADYCrAEMAQsgASgCjAFBAToALCABKAKMASABKQMwNwMYIAEoAowBIAEpA4ABNwMgIAEgASgCjAE2AqwBCyABKAKsASEFIAFBsAFqJAAgACAFNgJQDAELIAAoAmQgACkDMBAsGiAAKAJkIQUgACkDWCEJIAAoAmgoAhQhBiAAKAJUIQcjAEHQAGsiASQAIAEgBTYCSCABIAk3A0AgASAGNgI8IAEgBzYCOAJAIAEoAkgQMEIWVARAIAEoAjhBFUEAEBQgAUEANgJMDAELIwBBEGsiBSABKAJINgIMIAECfiAFKAIMLQAAQQFxBEAgBSgCDCkDEAwBC0IACzcDCCABKAJI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ECADQcgAEBgiADYCDAJAIABFBEAgAygCEEEBQbSbASgCABAUIANBADYCHAwBCyADKAIMIAMoAhA2AgAgAygCDCADLQAbQQFxOgAEIAMoAgwgAygCFDYCCAJAIAMoAgwoAghBAU4EQCADKAIMKAIIQQlMDQELIAMoAgxBCTYCCAsgAygCDEEAOgAMIAMoAgxBADYCMCADKAIMQQA2AjQgAygCDEEANgI4IAMgAygCDDYCHAsgAygCHCEAIANBIGokACAACzgBAX8jAEEQayIBIAA2AgwgASgCDEEANgIAIAEoAgxBADYCBCABKAIMQQA2AgggASgCDEEAOgAMC+MIAQF/IwBBQGoiAiAANgI4IAIgATYCNCACIAIoAjgoAnw2AjAgAiACKAI4KAI4IAIoAjgoAmxqNgIsIAIgAigCOCgCeDYCICACIAIoAjgoApABNgIcIAICfyACKAI4KAJsIAIoAjgoAixBhgJrSwRAIAIoAjgoAmwgAigCOCgCLEGGAmtrDAELQQALNgIYIAIgAigCOCgCQDYCFCACIAIoAjgoAjQ2AhAgAiACKAI4KAI4IAIoAjgoAmxqQYICajYCDCACIAIoAiwgAigCIEEBa2otAAA6AAsgAiACKAIsIAIoAiBqLQAAOgAKIAIoAjgoAnggAigCOCgCjAFPBEAgAiACKAIwQQJ2NgIwCyACKAIcIAIoAjgoAnRLBEAgAiACKAI4KAJ0NgIcCwNAAkAgAiACKAI4KAI4IAIoAjRqNgIoAkAgAigCKCACKAIgai0AACACLQAKRw0AIAIoAiggAigCIEEBa2otAAAgAi0AC0cNACACKAIoLQAAIAIoAiwtAABHDQAgAiACKAIoIgBBAWo2AiggAC0AASACKAIsLQABRwRADAELIAIgAigCLEECajYCLCACIAIoAihBAWo2AigDQCACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AigCf0EAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEGCAms2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEEBayIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C5IQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAiwgAigCKCgCDEEFa0kEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcTYCECACKAIoQQBBACACKAIQEF0gAigCKCgCCCACKAIoKAIUQQRraiACKAIcOgAAIAIoAigoAgggAigCKCgCFEEDa2ogAigCHEEIdjoAACACKAIoKAIIIAIoAigoAhRBAmtqIAIoAhxBf3M6AAAgAigCKCgCCCACKAIoKAIUQQFraiACKAIcQX9zQQh2OgAAIAIoAigoAgAQHCACKAIYBEAgAigCGCACKAIcSwRAIAIgAigCHDYCGAsgAigCKCgCACgCDCACKAIoKAI4IAIoAigoAlxqIAIoAhgQGRogAigCKCgCACIAIAIoAhggACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCGGs2AhAgAigCKCgCACIAIAIoAhggACgCFGo2AhQgAigCKCIAIAIoAhggACgCXGo2AlwgAiACKAIcIAIoAhhrNgIcCyACKAIcBEAgAigCKCgCACACKAIoKAIAKAIMIAIoAhwQdhogAigCKCgCACIAIAIoAhwgACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCHGs2AhAgAigCKCgCACIAIAIoAhwgACgCFGo2AhQLIAIoAhBFDQELCyACIAIoAgwgAigCKCgCACgCBGs2AgwgAigCDARAAkAgAigCDCACKAIoKAIsTwRAIAIoAihBAjYCsC0gAigCKCgCOCACKAIoKAIAKAIAIAIoAigoAixrIAIoAigoAiwQGRogAigCKCACKAIoKAIsNgJsDAELIAIoAgwgAigCKCgCPCACKAIoKAJsa08EQCACKAIoIgAgACgCbCACKAIoKAIsazYCbCACKAIoKAI4IAIoAigoAjggAigCKCgCLGogAigCKCgCbBAZGiACKAIoKAKwLUECSQRAIAIoAigiACAAKAKwLUEBajYCsC0LCyACKAIoKAI4IAIoAigoAmxqIAIoAigoAgAoAgAgAigCDGsgAigCDBAZGiACKAIoIgAgAigCDCAAKAJsajYCbAsgAigCKCACKAIoKAJsNgJcIAIoAigiAQJ/IAIoAgwgAigCKCgCLCACKAIoKAK0LWtLBEAgAigCKCgCLCACKAIoKAK0LWsMAQsgAigCDAsgASgCtC1qNgK0LQsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCwJAIAIoAhAEQCACQQM2AiwMAQsCQCACKAIkRQ0AIAIoAiRBBEYNACACKAIoKAIAKAIEDQAgAigCKCgCbCACKAIoKAJcRw0AIAJBATYCLAwBCyACIAIoAigoAjwgAigCKCgCbGtBAWs2AhQCQCACKAIoKAIAKAIEIAIoAhRNDQAgAigCKCgCXCACKAIoKAIsSA0AIAIoAigiACAAKAJcIAIoAigoAixrNgJcIAIoAigiACAAKAJsIAIoAigoAixrNgJsIAIoAigoAjggAigCKCgCOCACKAIoKAIsaiACKAIoKAJsEBkaIAIoAigoArAtQQJJBEAgAigCKCIAIAAoArAtQQFqNgKwLQsgAiACKAIoKAIsIAIoAhRqNgIUCyACKAIUIAIoAigoAgAoAgRLBEAgAiACKAIoKAIAKAIENgIUCyACKAIUBEAgAigCKCgCACACKAIoKAI4IAIoAigoAmxqIAIoAhQQdhogAigCKCIAIAIoAhQgACgCbGo2AmwLIAIoAigoAsAtIAIoAigoAmxJBEAgAigCKCACKAIoKAJsNgLALQsgAiACKAIoKAK8LUEqakEDdTYCFCACIAIoAigoAgwgAigCFGtB//8DSwR/Qf//AwUgAigCKCgCDCACKAIUaws2AhQgAgJ/IAIoAhQgAigCKCgCLEsEQCACKAIoKAIsDAELIAIoAhQLNgIgIAIgAigCKCgCbCACKAIoKAJcazYCGAJAIAIoAhggAigCIEkEQCACKAIYRQRAIAIoAiRBBEcNAgsgAigCJEUNASACKAIoKAIAKAIEDQEgAigCGCACKAIUSw0BCyACAn8gAigCGCACKAIUSwRAIAIoAhQMAQsgAigCGAs2AhwgAgJ/QQAgAigCJEEERw0AGkEAIAIoAigoAgAoAgQNABogAigCHCACKAIYRgtBAXE2AhAgAigCKCACKAIoKAI4IAIoAigoAlxqIAIoAhwgAigCEBBdIAIoAigiACACKAIcIAAoAlxqNgJcIAIoAigoAgAQHAsgAkECQQAgAigCEBs2AiwLIAIoAiwhACACQTBqJAAgAAuyAgEBfyMAQRBrIgEkACABIAA2AggCQCABKAIIEHgEQCABQX42AgwMAQsgASABKAIIKAIcKAIENgIEIAEoAggoAhwoAggEQCABKAIIKAIoIAEoAggoAhwoAgggASgCCCgCJBEEAAsgASgCCCgCHCgCRARAIAEoAggoAiggASgCCCgCHCgCRCABKAIIKAIkEQQACyABKAIIKAIc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DQAgAiEAIANBAWsiAw0ACwsgBCgCFBogASACNgKgAQwCCyMAQRBrIgAgASgCqAEoAgQ2AgwgAUEAIAAoAgxrQQJ0QajZAGooAgA2AqABDAELIAFBADYCoAELCwJAIAEoAqABRQRAIAEgASgCpAE2AqwBDAELIAEgASgCoAEQLgJ/IAEoAqQBBEAgASgCpAEQLkECagwBC0EAC2pBAWoQGCIANgIcIABFBEAgAUG4EygCADYCrAEMAQsgASgCHCEAAn8gASgCpAEEQCABKAKkAQwBC0H6EgshA0HfEkH6EiABKAKkARshAiABIAEoAqABNgIIIAEgAjYCBCABIAM2AgAgAEG+CiABEG8gASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAFqJAAgAAsIAEEBQTgQfwszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGRogACAAKAIUIAFqNgIUIAILjwUCBn4BfyABIAEoAgBBD2pBcHEiAUEQajYCACAAAnwgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAiFQgBSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQiBSEHAkAgAEGB9wBrIgFBwABxBEAgAiABQUBqrYYhB0IAIQIMAQsgAUUNACAHIAGtIgSGIAJBwAAgAWutiIQhByACIASGIQILIAggAjcDECAIIAc3AxgCQEGB+AAgAGsiAEHAAHEEQCAFIABBQGqtiCEDQgAhBQwBCyAARQ0AIAVBwAAgAGuthiADIACtIgKIhCEDIAUgAoghBQsgCCADNwMAIAggBTcDCCAIKQMI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ADYCtC0gASgCFEEERgRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQEQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUECNgIcDAILIAFBAzYCHAwBCyABKAIYKAKgLQRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQAQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUEANgIcDAILCyABQQE2AhwLIAEoAhwhAiABQSBqJAAgAgwBCwJ/IAAoAiwoAogBQQNGBEAgACgCLCECIAAoAjQhAyMAQTBrIgEkACABIAI2AiggASADNgIkAkADQAJAIAEoAigoAnRBggJNBEAgASgCKBBcAkAgASgCKCgCdEGCAksNACABKAIkDQAgAUEANgIsDAQLIAEoAigoAnRFDQELIAEoAihBADYCYAJAIAEoAigoAnRBA0kNACABKAIoKAJsRQ0AIAEgASgCKCgCOCABKAIoKAJsakEBazYCGCABIAEoAhgtAAA2AhwgASgCHCECIAEgASgCGCIDQQFqNgIYAkAgAy0AASACRw0AIAEoAhwhAiABIAEoAhgiA0EBajYCGCADLQABIAJHDQAgASgCHCECIAEgASgCGCIDQQFqNgIYIAMtAAEgAkcNACABIAEoAigoAjggASgCKCgCbGpBggJqNgIUA0AgASgCHCECIAEgASgCGCIDQQFqNgIYAn9BACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABog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AS8BEiECIAEgASgCSCIDQQFqNgJIIAMgAjoAAAwCCyABKAIMQRBxBEAgASABLwESNgIIIAEgASgCDEEPcTYCDCABKAIMBEAgASgCKCABKAIMSQRAIAEgASgCUCICQQFqNgJQIAEgASgCLCACLQAAIAEoAih0ajYCLCABIAEoAihBCGo2AigLIAEgASgCCCABKAIsQQEgASgCDHRBAWtxajYCCCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoCyABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiAgASgCLCABKAIYcUECdGooAQA2ARACQANAIAEgAS0AETYCDCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgAS0AEDYCDCABKAIMQRBxBEAgASABLwESNgIEIAEgASgCDEEPcTYCDCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKAsLIAEgASgCBCABKAIsQQEgASgCDHRBAWtxajYCBCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgASgCSCABKAJEazYCDAJAIAEoAgQgASgCDEsEQCABIAEoAgQgASgCDGs2AgwgASgCDCABKAI4SwRAIAEoAlQoAsQ3BEAgASgCXEHdDDYCGCABKAJUQdH+ADYCBAwKCwsgASABKAIwNgIAAkAgASgCNEUEQCABIAEoAgAgASgCPCABKAIMa2o2AgAgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAkggASgCBGs2AgALDAELAkAgASgCNCABKAIMSQRAIAEgASgCACABKAI8IAEoAjRqIAEoAgxrajYCACABIAEoAgwgASgCNGs2AgwgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAjA2AgAgASgCNCABKAIISQRAIAEgASgCNDYCDCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsMAQsgASABKAIAIAEoAjQgASgCDGtqNgIAIAEoAgwgASgCCEkEQCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsLA0AgASgCCEECSwRAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCCEEDazYCCAwBCwsMAQsgASABKAJIIAEoAgRrNgIAA0AgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIIQQNrNgIIIAEoAghBAksNAAsLIAEoAggEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEoAghBAUsEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAACwsMAgsgASgCDEHAAHFFBEAgASABKAIgIAEvARIgASgCLEEBIAEoAgx0QQFrcWpBAnRqKAEANgEQDAELCyAB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AG5hbgAvZGV2L3VyYW5kb20AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoAGluZgBpbnZhbGlkIHdpbmRvdyBzaXplAFJlYWQtb25seSBhcmNoaXZlAE5vdCBhIHppcCBhcmNoaXZlAFJlc291cmNlIHN0aWxsIGluIHVzZQBNYWxsb2MgZmFpbHVyZQBpbnZhbGlkIGJsb2NrIHR5cGUARmFpbHVyZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUAQ2FuJ3Qgb3BlbiBmaWxlAE5vIHN1Y2ggZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGZpbGUAQ2FuJ3QgcmVtb3ZlIGZpbGUAaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlAGludmFsaWQgZGlzdGFuY2UgY29kZQB1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZABzdHJlYW0gZW5kAENvbXByZXNzZWQgZGF0YSBpbnZhbGlkAE11bHRpLWRpc2sgemlwIGFyY2hpdmVzIG5vdCBzdXBwb3J0ZWQAT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQARW5jcnlwdGlvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABDb21wcmVzc2lvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABFbnRyeSBoYXMgYmVlbiBkZWxldGVkAENvbnRhaW5pbmcgemlwIGFyY2hpdmUgd2FzIGNsb3NlZABDbG9zaW5nIHppcCBhcmNoaXZlIGZhaWxlZABSZW5hbWluZyB0ZW1wb3JhcnkgZmlsZSBmYWlsZWQARW50cnkgaGFzIGJlZW4gY2hhbmdlZABObyBwYXNzd29yZCBwcm92aWRlZABXcm9uZyBwYXNzd29yZCBwcm92aWRlZABVbmtub3duIGVycm9yICVkAHJiAHIrYgByd2EAJXMuWFhYWFhYAE5BTgBJTkYAQUUAMS4yLjExAC9wcm9jL3NlbGYvZmQvAC4AKG51bGwpADogAFBLBgcA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0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkANwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkATwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkAHwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkAfwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcACAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcAFAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgAAAAFABAABQAIAAUAGAAFAAQABQAUAAUADAAFABwABQACAAUAEgAFAAoABQAaAAUABgAFABYABQAOAAUAHgAFAAEABQARAAUACQAFABkABQAFAAUAFQAFAA0ABQAdAAUAAwAFABMABQALAAUAGwAFAAcABQAXAAUAQbDqAAtNAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAQaDrAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AQdDsAAsjAgAAAAMAAAAHAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AQYTtAAtpAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAEGE7gALegEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAMS4yLjExAEGI7wALbQcAAAAEAAQACAAEAAgAAAAEAAUAEAAIAAgAAAAEAAYAIAAgAAgAAAAEAAQAEAAQAAkAAAAIABAAIAAgAAkAAAAIABAAgACAAAkAAAAIACAAgAAAAQkAAAAgAIAAAgEABAkAAAAgAAIBAgEAEAkAQYDwAAulAgMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAATQDKAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEGw8gALwRFgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnAABAHCgAACGAAAAggAAAJoAAACAAAAAiAAAAIQAAACeAAEAcGAAAIWAAACBgAAAmQABMHOwAACHgAAAg4AAAJ0AARBxEAAAhoAAAIKAAACbAAAAgIAAAIiAAACEgAAAnwABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACcgAEQcNAAAIZAAACCQAAAmoAAAIBAAACIQAAAhEAAAJ6AAQBwgAAAhcAAAIHAAACZgAFAdTAAAIfAAACDwAAAnYABIHFwAACGwAAAgsAAAJuAAACAwAAAiMAAAITAAACfgAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxAARBwsAAAhiAAAIIgAACaQAAAgCAAAIggAACEIAAAnkABAHBwAACFoAAAgaAAAJlAAUB0MAAAh6AAAIOgAACdQAEgcTAAAIagAACCoAAAm0AAAICgAACIoAAAhKAAAJ9AAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnMABEHDwAACGYAAAgmAAAJrAAACAYAAAiGAAAIRgAACewAEAcJAAAIXgAACB4AAAmcABQHYwAACH4AAAg+AAAJ3AASBxsAAAhuAAAILgAACbwAAAgOAAAIjgAACE4AAAn8AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcIAEAcKAAAIYQAACCEAAAmiAAAIAQAACIEAAAhBAAAJ4gAQBwYAAAhZAAAIGQAACZIAEwc7AAAIeQAACDkAAAnSABEHEQAACGkAAAgpAAAJsgAACAkAAAiJAAAISQAACfIAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJygARBw0AAAhlAAAIJQAACaoAAAgFAAAIhQAACEUAAAnqABAHCAAACF0AAAgdAAAJmgAUB1MAAAh9AAAIPQAACdoAEgcXAAAIbQAACC0AAAm6AAAIDQAACI0AAAhNAAAJ+gAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnGABEHCwAACGMAAAgjAAAJpgAACAMAAAiDAAAIQwAACeYAEAcHAAAIWwAACBsAAAmWABQHQwAACHsAAAg7AAAJ1gASBxMAAAhrAAAIKwAACbYAAAgLAAAIiwAACEsAAAn2ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc4AEQcPAAAIZwAACCcAAAmuAAAIBwAACIcAAAhHAAAJ7gAQBwkAAAhfAAAIHwAACZ4AFAdjAAAIfwAACD8AAAneABIHGwAACG8AAAgvAAAJvgAACA8AAAiPAAAITwAACf4AYAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwQAQBwoAAAhgAAAIIAAACaEAAAgAAAAIgAAACEAAAAnhABAHBgAACFgAAAgYAAAJkQATBzsAAAh4AAAIOAAACdEAEQcRAAAIaAAACCgAAAmxAAAICAAACIgAAAhIAAAJ8QAQBwQAAAhUAAAIFAAVCOMAEwcrAAAIdAAACDQAAAnJABEHDQAACGQAAAgkAAAJqQAACAQAAAiEAAAIRAAACekAEAcIAAAIXAAACBwAAAmZABQHUwAACHwAAAg8AAAJ2QASBxcAAAhsAAAILAAACbkAAAgMAAAIjAAACEwAAAn5ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcUAEQcLAAAIYgAACCIAAAmlAAAIAgAACIIAAAhCAAAJ5QAQBwcAAAhaAAAIGgAACZUAFAdDAAAIegAACDoAAAnVABIHEwAACGoAAAgqAAAJtQAACAoAAAiKAAAISgAACfUAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzQARBw8AAAhmAAAIJgAACa0AAAgGAAAIhgAACEYAAAntABAHCQAACF4AAAgeAAAJnQAUB2MAAAh+AAAIPgAACd0AEgcbAAAIbgAACC4AAAm9AAAIDgAACI4AAAhOAAAJ/QBgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnDABAHCgAACGEAAAghAAAJowAACAEAAAiBAAAIQQAACeMAEAcGAAAIWQAACBkAAAmTABMHOwAACHkAAAg5AAAJ0wARBxEAAAhpAAAIKQAACbMAAAgJAAAIiQAACEkAAAnzABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcsAEQcNAAAIZQAACCUAAAmrAAAIBQAACIUAAAhFAAAJ6wAQBwgAAAhdAAAIHQAACZsAFAdTAAAIfQAACD0AAAnbABIHFwAACG0AAAgtAAAJuwAACA0AAAiNAAAITQAACfsAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxwARBwsAAAhjAAAIIwAACacAAAgDAAAIgwAACEMAAAnnABAHBwAACFsAAAgbAAAJlwAUB0MAAAh7AAAIOwAACdcAEgcTAAAIawAACCsAAAm3AAAICwAACIsAAAhLAAAJ9wAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnPABEHDwAACGcAAAgnAAAJrwAACAcAAAiHAAAIRwAACe8AEAcJAAAIXwAACB8AAAmfABQHYwAACH8AAAg/AAAJ3wASBxsAAAhvAAAILwAACb8AAAgPAAAIjwAACE8AAAn/ABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFAEAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAAQBQIAFwWBARMFGQAbBQEYEQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAQYGEAQshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEG7hAELAQwAQceEAQsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEH1hAELAQ4AQYGFAQsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEGvhQELARAAQbuFAQseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEHyhQELDhIAAAASEhIAAAAAAAAJAEGjhgELAQsAQa+GAQsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEHdhgELAQwAQemGAQsnDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGAEG0hwELARkAQduHAQsF//////8AQaCIAQtXGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGAiQELig5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgBBkJcBC1JQUFAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAEAAAAIAAAAlEsAALRLAEGQmQELAgxQAEHImQELCR8AAADkTAAAAwBB5JkBC4wBLfRRWM+MscBG9rXLKTEDxwRbcDC0Xf0geH+LmthZKVBoSImrp1YDbP+3zYg/1He0K6WjcPG65Kj8QYP92W/hinovLXSWBx8NCV4Ddixw90ClLKdvV0GoqnTfoFhkA0rHxDxTrq9fGAQVseNtKIarDKS/Q/DpUIE5VxZSN/////////////////////8=\";tg(po)||(po=h(po));function rg(d){try{if(d==po&&V)return new Uint8Array(V);var E=ca(d);if(E)return E;if(C)return C(d);throw\"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)\"}catch(I){wr(I)}}function gp(d,E){var I,k,T;try{T=rg(d),k=new WebAssembly.Module(T),I=new WebAssembly.Instance(k,E)}catch(te){var _=te.toString();throw D(\"failed to compile wasm module: \"+_),(_.includes(\"imported Memory\")||_.includes(\"memory import\"))&&D(\"Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time).\"),te}return[I,k]}function fp(){var d={a:ua};function E(T,_){var te=T.exports;t.asm=te,A=t.asm.u,Or(A.buffer),gi=t.asm.pa,aA(t.asm.v),cA(\"wasm-instantiate\")}if(lA(\"wasm-instantiate\"),t.instantiateWasm)try{var I=t.instantiateWasm(d,E);return I}catch(T){return D(\"Module.instantiateWasm callback failed with error: \"+T),!1}var k=gp(po,d);return E(k[0]),t.asm}var vr,se;function Co(d){for(;d.length>0;){var E=d.shift();if(typeof E==\"function\"){E(t);continue}var I=E.func;typeof I==\"number\"?E.arg===void 0?gi.get(I)():gi.get(I)(E.arg):I(E.arg===void 0?null:E.arg)}}function Dn(d,E){var I=new Date(de[d>>2]*1e3);de[E>>2]=I.getUTCSeconds(),de[E+4>>2]=I.getUTCMinutes(),de[E+8>>2]=I.getUTCHours(),de[E+12>>2]=I.getUTCDate(),de[E+16>>2]=I.getUTCMonth(),de[E+20>>2]=I.getUTCFullYear()-1900,de[E+24>>2]=I.getUTCDay(),de[E+36>>2]=0,de[E+32>>2]=0;var k=Date.UTC(I.getUTCFullYear(),0,1,0,0,0,0),T=(I.getTime()-k)/(1e3*60*60*24)|0;return de[E+28>>2]=T,Dn.GMTString||(Dn.GMTString=we(\"GMT\")),de[E+40>>2]=Dn.GMTString,E}function ig(d,E){return Dn(d,E)}var Qt={splitPath:function(d){var E=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;return E.exec(d).slice(1)},normalizeArray:function(d,E){for(var I=0,k=d.length-1;k>=0;k--){var T=d[k];T===\".\"?d.splice(k,1):T===\"..\"?(d.splice(k,1),I++):I&&(d.splice(k,1),I--)}if(E)for(;I;I--)d.unshift(\"..\");return d},normalize:function(d){var E=d.charAt(0)===\"/\",I=d.substr(-1)===\"/\";return d=Qt.normalizeArray(d.split(\"/\").filter(function(k){return!!k}),!E).join(\"/\"),!d&&!E&&(d=\".\"),d&&I&&(d+=\"/\"),(E?\"/\":\"\")+d},dirname:function(d){var E=Qt.splitPath(d),I=E[0],k=E[1];return!I&&!k?\".\":(k&&(k=k.substr(0,k.length-1)),I+k)},basename:function(d){if(d===\"/\")return\"/\";d=Qt.normalize(d),d=d.replace(/\\/$/,\"\");var E=d.lastIndexOf(\"/\");return E===-1?d:d.substr(E+1)},extname:function(d){return Qt.splitPath(d)[3]},join:function(){var d=Array.prototype.slice.call(arguments,0);return Qt.normalize(d.join(\"/\"))},join2:function(d,E){return Qt.normalize(d+\"/\"+E)}};function Bl(){if(typeof crypto==\"object\"&&typeof crypto.getRandomValues==\"function\"){var d=new Uint8Array(1);return function(){return crypto.getRandomValues(d),d[0]}}else if(g)try{var E=J(\"crypto\");return function(){return E.randomBytes(1)[0]}}catch{}return function(){wr(\"randomDevice\")}}var kn={resolve:function(){for(var d=\"\",E=!1,I=arguments.length-1;I>=-1&&!E;I--){var k=I>=0?arguments[I]:S.cwd();if(typeof k!=\"string\")throw new TypeError(\"Arguments to path.resolve must be strings\");if(!k)return\"\";d=k+\"/\"+d,E=k.charAt(0)===\"/\"}return d=Qt.normalizeArray(d.split(\"/\").filter(function(T){return!!T}),!E).join(\"/\"),(E?\"/\":\"\")+d||\".\"},relative:function(d,E){d=kn.resolve(d).substr(1),E=kn.resolve(E).substr(1);function I(Je){for(var nt=0;nt<Je.length&&Je[nt]===\"\";nt++);for(var wt=Je.length-1;wt>=0&&Je[wt]===\"\";wt--);return nt>wt?[]:Je.slice(nt,wt-nt+1)}for(var k=I(d.split(\"/\")),T=I(E.split(\"/\")),_=Math.min(k.length,T.length),te=_,Be=0;Be<_;Be++)if(k[Be]!==T[Be]){te=Be;break}for(var me=[],Be=te;Be<k.length;Be++)me.push(\"..\");return me=me.concat(T.slice(te)),me.join(\"/\")}},$n={ttys:[],init:function(){},shutdown:function(){},register:function(d,E){$n.ttys[d]={input:[],output:[],ops:E},S.registerDevice(d,$n.stream_ops)},stream_ops:{open:function(d){var E=$n.ttys[d.node.rdev];if(!E)throw new S.ErrnoError(43);d.tty=E,d.seekable=!1},close:function(d){d.tty.ops.flush(d.tty)},flush:function(d){d.tty.ops.flush(d.tty)},read:function(d,E,I,k,T){if(!d.tty||!d.tty.ops.get_char)throw new S.ErrnoError(60);for(var _=0,te=0;te<k;te++){var Be;try{Be=d.tty.ops.get_char(d.tty)}catch{throw new S.ErrnoError(29)}if(Be===void 0&&_===0)throw new S.ErrnoError(6);if(Be==null)break;_++,E[I+te]=Be}return _&&(d.node.timestamp=Date.now()),_},write:function(d,E,I,k,T){if(!d.tty||!d.tty.ops.put_char)throw new S.ErrnoError(60);try{for(var _=0;_<k;_++)d.tty.ops.put_char(d.tty,E[I+_])}catch{throw new S.ErrnoError(29)}return k&&(d.node.timestamp=Date.now()),_}},default_tty_ops:{get_char:function(d){if(!d.input.length){var E=null;if(g){var I=256,k=Buffer.alloc?Buffer.alloc(I):new Buffer(I),T=0;try{T=y.readSync(process.stdin.fd,k,0,I,null)}catch(_){if(_.toString().includes(\"EOF\"))T=0;else throw _}T>0?E=k.slice(0,T).toString(\"utf-8\"):E=null}else typeof window<\"u\"&&typeof window.prompt==\"function\"?(E=window.prompt(\"Input: \"),E!==null&&(E+=`\n`)):typeof readline==\"function\"&&(E=readline(),E!==null&&(E+=`\n`));if(!E)return null;d.input=gA(E,!0)}return d.input.shift()},put_char:function(d,E){E===null||E===10?(v(ke(d.output,0)),d.output=[]):E!=0&&d.output.push(E)},flush:function(d){d.output&&d.output.length>0&&(v(ke(d.output,0)),d.output=[])}},default_tty1_ops:{put_char:function(d,E){E===null||E===10?(D(ke(d.output,0)),d.output=[]):E!=0&&d.output.push(E)},flush:function(d){d.output&&d.output.length>0&&(D(ke(d.output,0)),d.output=[])}}};function es(d){for(var E=H(d,65536),I=dt(E);d<E;)ne[I+d++]=0;return I}var gt={ops_table:null,mount:function(d){return gt.createNode(null,\"/\",16895,0)},createNode:function(d,E,I,k){if(S.isBlkdev(I)||S.isFIFO(I))throw new S.ErrnoError(63);gt.ops_table||(gt.ops_table={dir:{node:{getattr:gt.node_ops.getattr,setattr:gt.node_ops.setattr,lookup:gt.node_ops.lookup,mknod:gt.node_ops.mknod,rename:gt.node_ops.rename,unlink:gt.node_ops.unlink,rmdir:gt.node_ops.rmdir,readdir:gt.node_ops.readdir,symlink:gt.node_ops.symlink},stream:{llseek:gt.stream_ops.llseek}},file:{node:{getattr:gt.node_ops.getattr,setattr:gt.node_ops.setattr},stream:{llseek:gt.stream_ops.llseek,read:gt.stream_ops.read,write:gt.stream_ops.write,allocate:gt.stream_ops.allocate,mmap:gt.stream_ops.mmap,msync:gt.stream_ops.msync}},link:{node:{getattr:gt.node_ops.getattr,setattr:gt.node_ops.setattr,readlink:gt.node_ops.readlink},stream:{}},chrdev:{node:{getattr:gt.node_ops.getattr,setattr:gt.node_ops.setattr},stream:S.chrdev_stream_ops}});var T=S.createNode(d,E,I,k);return S.isDir(T.mode)?(T.node_ops=gt.ops_table.dir.node,T.stream_ops=gt.ops_table.dir.stream,T.contents={}):S.isFile(T.mode)?(T.node_ops=gt.ops_table.file.node,T.stream_ops=gt.ops_table.file.stream,T.usedBytes=0,T.contents=null):S.isLink(T.mode)?(T.node_ops=gt.ops_table.link.node,T.stream_ops=gt.ops_table.link.stream):S.isChrdev(T.mode)&&(T.node_ops=gt.ops_table.chrdev.node,T.stream_ops=gt.ops_table.chrdev.stream),T.timestamp=Date.now(),d&&(d.contents[E]=T,d.timestamp=T.timestamp),T},getFileDataAsTypedArray:function(d){return d.contents?d.contents.subarray?d.contents.subarray(0,d.usedBytes):new Uint8Array(d.contents):new Uint8Array(0)},expandFileStorage:function(d,E){var I=d.contents?d.contents.length:0;if(!(I>=E)){var k=1024*1024;E=Math.max(E,I*(I<k?2:1.125)>>>0),I!=0&&(E=Math.max(E,256));var T=d.contents;d.contents=new Uint8Array(E),d.usedBytes>0&&d.contents.set(T.subarray(0,d.usedBytes),0)}},resizeFileStorage:function(d,E){if(d.usedBytes!=E)if(E==0)d.contents=null,d.usedBytes=0;else{var I=d.contents;d.contents=new Uint8Array(E),I&&d.contents.set(I.subarray(0,Math.min(E,d.usedBytes))),d.usedBytes=E}},node_ops:{getattr:function(d){var E={};return E.dev=S.isChrdev(d.mode)?d.id:1,E.ino=d.id,E.mode=d.mode,E.nlink=1,E.uid=0,E.gid=0,E.rdev=d.rdev,S.isDir(d.mode)?E.size=4096:S.isFile(d.mode)?E.size=d.usedBytes:S.isLink(d.mode)?E.size=d.link.length:E.size=0,E.atime=new Date(d.timestamp),E.mtime=new Date(d.timestamp),E.ctime=new Date(d.timestamp),E.blksize=4096,E.blocks=Math.ceil(E.size/E.blksize),E},setattr:function(d,E){E.mode!==void 0&&(d.mode=E.mode),E.timestamp!==void 0&&(d.timestamp=E.timestamp),E.size!==void 0&&gt.resizeFileStorage(d,E.size)},lookup:function(d,E){throw S.genericErrors[44]},mknod:function(d,E,I,k){return gt.createNode(d,E,I,k)},rename:function(d,E,I){if(S.isDir(d.mode)){var k;try{k=S.lookupNode(E,I)}catch{}if(k)for(var T in k.contents)throw new S.ErrnoError(55)}delete d.parent.contents[d.name],d.parent.timestamp=Date.now(),d.name=I,E.contents[I]=d,E.timestamp=d.parent.timestamp,d.parent=E},unlink:function(d,E){delete d.contents[E],d.timestamp=Date.now()},rmdir:function(d,E){var I=S.lookupNode(d,E);for(var k in I.contents)throw new S.ErrnoError(55);delete d.contents[E],d.timestamp=Date.now()},readdir:function(d){var E=[\".\",\"..\"];for(var I in d.contents)!d.contents.hasOwnProperty(I)||E.push(I);return E},symlink:function(d,E,I){var k=gt.createNode(d,E,41471,0);return k.link=I,k},readlink:function(d){if(!S.isLink(d.mode))throw new S.ErrnoError(28);return d.link}},stream_ops:{read:function(d,E,I,k,T){var _=d.node.contents;if(T>=d.node.usedBytes)return 0;var te=Math.min(d.node.usedBytes-T,k);if(te>8&&_.subarray)E.set(_.subarray(T,T+te),I);else for(var Be=0;Be<te;Be++)E[I+Be]=_[T+Be];return te},write:function(d,E,I,k,T,_){if(E.buffer===ne.buffer&&(_=!1),!k)return 0;var te=d.node;if(te.timestamp=Date.now(),E.subarray&&(!te.contents||te.contents.subarray)){if(_)return te.contents=E.subarray(I,I+k),te.usedBytes=k,k;if(te.usedBytes===0&&T===0)return te.contents=E.slice(I,I+k),te.usedBytes=k,k;if(T+k<=te.usedBytes)return te.contents.set(E.subarray(I,I+k),T),k}if(gt.expandFileStorage(te,T+k),te.contents.subarray&&E.subarray)te.contents.set(E.subarray(I,I+k),T);else for(var Be=0;Be<k;Be++)te.contents[T+Be]=E[I+Be];return te.usedBytes=Math.max(te.usedBytes,T+k),k},llseek:function(d,E,I){var k=E;if(I===1?k+=d.position:I===2&&S.isFile(d.node.mode)&&(k+=d.node.usedBytes),k<0)throw new S.ErrnoError(28);return k},allocate:function(d,E,I){gt.expandFileStorage(d.node,E+I),d.node.usedBytes=Math.max(d.node.usedBytes,E+I)},mmap:function(d,E,I,k,T,_){if(E!==0)throw new S.ErrnoError(28);if(!S.isFile(d.node.mode))throw new S.ErrnoError(43);var te,Be,me=d.node.contents;if(!(_&2)&&me.buffer===qe)Be=!1,te=me.byteOffset;else{if((k>0||k+I<me.length)&&(me.subarray?me=me.subarray(k,k+I):me=Array.prototype.slice.call(me,k,k+I)),Be=!0,te=es(I),!te)throw new S.ErrnoError(48);ne.set(me,te)}return{ptr:te,allocated:Be}},msync:function(d,E,I,k,T){if(!S.isFile(d.node.mode))throw new S.ErrnoError(43);if(T&2)return 0;var _=gt.stream_ops.write(d,E,0,k,I,!1);return 0}}},mo={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},At={isWindows:!1,staticInit:function(){At.isWindows=!!process.platform.match(/^win/);var d={fs:Te.constants};d.fs&&(d=d.fs),At.flagsForNodeMap={1024:d.O_APPEND,64:d.O_CREAT,128:d.O_EXCL,256:d.O_NOCTTY,0:d.O_RDONLY,2:d.O_RDWR,4096:d.O_SYNC,512:d.O_TRUNC,1:d.O_WRONLY}},bufferFrom:function(d){return Buffer.alloc?Buffer.from(d):new Buffer(d)},convertNodeCode:function(d){var E=d.code;return mo[E]},mount:function(d){return At.createNode(null,\"/\",At.getMode(d.opts.root),0)},createNode:function(d,E,I,k){if(!S.isDir(I)&&!S.isFile(I)&&!S.isLink(I))throw new S.ErrnoError(28);var T=S.createNode(d,E,I);return T.node_ops=At.node_ops,T.stream_ops=At.stream_ops,T},getMode:function(d){var E;try{E=Te.lstatSync(d),At.isWindows&&(E.mode=E.mode|(E.mode&292)>>2)}catch(I){throw I.code?new S.ErrnoError(At.convertNodeCode(I)):I}return E.mode},realPath:function(d){for(var E=[];d.parent!==d;)E.push(d.name),d=d.parent;return E.push(d.mount.opts.root),E.reverse(),Qt.join.apply(null,E)},flagsForNode:function(d){d&=-2097153,d&=-2049,d&=-32769,d&=-524289;var E=0;for(var I in At.flagsForNodeMap)d&I&&(E|=At.flagsForNodeMap[I],d^=I);if(d)throw new S.ErrnoError(28);return E},node_ops:{getattr:function(d){var E=At.realPath(d),I;try{I=Te.lstatSync(E)}catch(k){throw k.code?new S.ErrnoError(At.convertNodeCode(k)):k}return At.isWindows&&!I.blksize&&(I.blksize=4096),At.isWindows&&!I.blocks&&(I.blocks=(I.size+I.blksize-1)/I.blksize|0),{dev:I.dev,ino:I.ino,mode:I.mode,nlink:I.nlink,uid:I.uid,gid:I.gid,rdev:I.rdev,size:I.size,atime:I.atime,mtime:I.mtime,ctime:I.ctime,blksize:I.blksize,blocks:I.blocks}},setattr:function(d,E){var I=At.realPath(d);try{if(E.mode!==void 0&&(Te.chmodSync(I,E.mode),d.mode=E.mode),E.timestamp!==void 0){var k=new Date(E.timestamp);Te.utimesSync(I,k,k)}E.size!==void 0&&Te.truncateSync(I,E.size)}catch(T){throw T.code?new S.ErrnoError(At.convertNodeCode(T)):T}},lookup:function(d,E){var I=Qt.join2(At.realPath(d),E),k=At.getMode(I);return At.createNode(d,E,k)},mknod:function(d,E,I,k){var T=At.createNode(d,E,I,k),_=At.realPath(T);try{S.isDir(T.mode)?Te.mkdirSync(_,T.mode):Te.writeFileSync(_,\"\",{mode:T.mode})}catch(te){throw te.code?new S.ErrnoError(At.convertNodeCode(te)):te}return T},rename:function(d,E,I){var k=At.realPath(d),T=Qt.join2(At.realPath(E),I);try{Te.renameSync(k,T)}catch(_){throw _.code?new S.ErrnoError(At.convertNodeCode(_)):_}d.name=I},unlink:function(d,E){var I=Qt.join2(At.realPath(d),E);try{Te.unlinkSync(I)}catch(k){throw k.code?new S.ErrnoError(At.convertNodeCode(k)):k}},rmdir:function(d,E){var I=Qt.join2(At.realPath(d),E);try{Te.rmdirSync(I)}catch(k){throw k.code?new S.ErrnoError(At.convertNodeCode(k)):k}},readdir:function(d){var E=At.realPath(d);try{return Te.readdirSync(E)}catch(I){throw I.code?new S.ErrnoError(At.convertNodeCode(I)):I}},symlink:function(d,E,I){var k=Qt.join2(At.realPath(d),E);try{Te.symlinkSync(I,k)}catch(T){throw T.code?new S.ErrnoError(At.convertNodeCode(T)):T}},readlink:function(d){var E=At.realPath(d);try{return E=Te.readlinkSync(E),E=og.relative(og.resolve(d.mount.opts.root),E),E}catch(I){throw I.code?new S.ErrnoError(At.convertNodeCode(I)):I}}},stream_ops:{open:function(d){var E=At.realPath(d.node);try{S.isFile(d.node.mode)&&(d.nfd=Te.openSync(E,At.flagsForNode(d.flags)))}catch(I){throw I.code?new S.ErrnoError(At.convertNodeCode(I)):I}},close:function(d){try{S.isFile(d.node.mode)&&d.nfd&&Te.closeSync(d.nfd)}catch(E){throw E.code?new S.ErrnoError(At.convertNodeCode(E)):E}},read:function(d,E,I,k,T){if(k===0)return 0;try{return Te.readSync(d.nfd,At.bufferFrom(E.buffer),I,k,T)}catch(_){throw new S.ErrnoError(At.convertNodeCode(_))}},write:function(d,E,I,k,T){try{return Te.writeSync(d.nfd,At.bufferFrom(E.buffer),I,k,T)}catch(_){throw new S.ErrnoError(At.convertNodeCode(_))}},llseek:function(d,E,I){var k=E;if(I===1)k+=d.position;else if(I===2&&S.isFile(d.node.mode))try{var T=Te.fstatSync(d.nfd);k+=T.size}catch(_){throw new S.ErrnoError(At.convertNodeCode(_))}if(k<0)throw new S.ErrnoError(28);return k},mmap:function(d,E,I,k,T,_){if(E!==0)throw new S.ErrnoError(28);if(!S.isFile(d.node.mode))throw new S.ErrnoError(43);var te=es(I);return At.stream_ops.read(d,ne,te,I,k),{ptr:te,allocated:!0}},msync:function(d,E,I,k,T){if(!S.isFile(d.node.mode))throw new S.ErrnoError(43);if(T&2)return 0;var _=At.stream_ops.write(d,E,0,k,I,!1);return 0}}},an={lookupPath:function(d){return{path:d,node:{mode:At.getMode(d)}}},createStandardStreams:function(){S.streams[0]={fd:0,nfd:0,position:0,path:\"\",flags:0,tty:!0,seekable:!1};for(var d=1;d<3;d++)S.streams[d]={fd:d,nfd:d,position:0,path:\"\",flags:577,tty:!0,seekable:!1}},cwd:function(){return process.cwd()},chdir:function(){process.chdir.apply(void 0,arguments)},mknod:function(d,E){S.isDir(d)?Te.mkdirSync(d,E):Te.writeFileSync(d,\"\",{mode:E})},mkdir:function(){Te.mkdirSync.apply(void 0,arguments)},symlink:function(){Te.symlinkSync.apply(void 0,arguments)},rename:function(){Te.renameSync.apply(void 0,arguments)},rmdir:function(){Te.rmdirSync.apply(void 0,arguments)},readdir:function(){Te.readdirSync.apply(void 0,arguments)},unlink:function(){Te.unlinkSync.apply(void 0,arguments)},readlink:function(){return Te.readlinkSync.apply(void 0,arguments)},stat:function(){return Te.statSync.apply(void 0,arguments)},lstat:function(){return Te.lstatSync.apply(void 0,arguments)},chmod:function(){Te.chmodSync.apply(void 0,arguments)},fchmod:function(){Te.fchmodSync.apply(void 0,arguments)},chown:function(){Te.chownSync.apply(void 0,arguments)},fchown:function(){Te.fchownSync.apply(void 0,arguments)},truncate:function(){Te.truncateSync.apply(void 0,arguments)},ftruncate:function(d,E){if(E<0)throw new S.ErrnoError(28);Te.ftruncateSync.apply(void 0,arguments)},utime:function(){Te.utimesSync.apply(void 0,arguments)},open:function(d,E,I,k){typeof E==\"string\"&&(E=Os.modeStringToFlags(E));var T=Te.openSync(d,At.flagsForNode(E),I),_=k!=null?k:S.nextfd(T),te={fd:_,nfd:T,position:0,path:d,flags:E,seekable:!0};return S.streams[_]=te,te},close:function(d){d.stream_ops||Te.closeSync(d.nfd),S.closeStream(d.fd)},llseek:function(d,E,I){if(d.stream_ops)return Os.llseek(d,E,I);var k=E;if(I===1)k+=d.position;else if(I===2)k+=Te.fstatSync(d.nfd).size;else if(I!==0)throw new S.ErrnoError(mo.EINVAL);if(k<0)throw new S.ErrnoError(mo.EINVAL);return d.position=k,k},read:function(d,E,I,k,T){if(d.stream_ops)return Os.read(d,E,I,k,T);var _=typeof T<\"u\";!_&&d.seekable&&(T=d.position);var te=Te.readSync(d.nfd,At.bufferFrom(E.buffer),I,k,T);return _||(d.position+=te),te},write:function(d,E,I,k,T){if(d.stream_ops)return Os.write(d,E,I,k,T);d.flags&+\"1024\"&&S.llseek(d,0,+\"2\");var _=typeof T<\"u\";!_&&d.seekable&&(T=d.position);var te=Te.writeSync(d.nfd,At.bufferFrom(E.buffer),I,k,T);return _||(d.position+=te),te},allocate:function(){throw new S.ErrnoError(mo.EOPNOTSUPP)},mmap:function(d,E,I,k,T,_){if(d.stream_ops)return Os.mmap(d,E,I,k,T,_);if(E!==0)throw new S.ErrnoError(28);var te=es(I);return S.read(d,ne,te,I,k),{ptr:te,allocated:!0}},msync:function(d,E,I,k,T){return d.stream_ops?Os.msync(d,E,I,k,T):(T&2||S.write(d,E,0,k,I),0)},munmap:function(){return 0},ioctl:function(){throw new S.ErrnoError(mo.ENOTTY)}},S={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:\"/\",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(d,E){if(d=kn.resolve(S.cwd(),d),E=E||{},!d)return{path:\"\",node:null};var I={follow_mount:!0,recurse_count:0};for(var k in I)E[k]===void 0&&(E[k]=I[k]);if(E.recurse_count>8)throw new S.ErrnoError(32);for(var T=Qt.normalizeArray(d.split(\"/\").filter(function(lt){return!!lt}),!1),_=S.root,te=\"/\",Be=0;Be<T.length;Be++){var me=Be===T.length-1;if(me&&E.parent)break;if(_=S.lookupNode(_,T[Be]),te=Qt.join2(te,T[Be]),S.isMountpoint(_)&&(!me||me&&E.follow_mount)&&(_=_.mounted.root),!me||E.follow)for(var Je=0;S.isLink(_.mode);){var nt=S.readlink(te);te=kn.resolve(Qt.dirname(te),nt);var wt=S.lookupPath(te,{recurse_count:E.recurse_count});if(_=wt.node,Je++>40)throw new S.ErrnoError(32)}}return{path:te,node:_}},getPath:function(d){for(var E;;){if(S.isRoot(d)){var I=d.mount.mountpoint;return E?I[I.length-1]!==\"/\"?I+\"/\"+E:I+E:I}E=E?d.name+\"/\"+E:d.name,d=d.parent}},hashName:function(d,E){for(var I=0,k=0;k<E.length;k++)I=(I<<5)-I+E.charCodeAt(k)|0;return(d+I>>>0)%S.nameTable.length},hashAddNode:function(d){var E=S.hashName(d.parent.id,d.name);d.name_next=S.nameTable[E],S.nameTable[E]=d},hashRemoveNode:function(d){var E=S.hashName(d.parent.id,d.name);if(S.nameTable[E]===d)S.nameTable[E]=d.name_next;else for(var I=S.nameTable[E];I;){if(I.name_next===d){I.name_next=d.name_next;break}I=I.name_next}},lookupNode:function(d,E){var I=S.mayLookup(d);if(I)throw new S.ErrnoError(I,d);for(var k=S.hashName(d.id,E),T=S.nameTable[k];T;T=T.name_next){var _=T.name;if(T.parent.id===d.id&&_===E)return T}return S.lookup(d,E)},createNode:function(d,E,I,k){var T=new S.FSNode(d,E,I,k);return S.hashAddNode(T),T},destroyNode:function(d){S.hashRemoveNode(d)},isRoot:function(d){return d===d.parent},isMountpoint:function(d){return!!d.mounted},isFile:function(d){return(d&61440)===32768},isDir:function(d){return(d&61440)===16384},isLink:function(d){return(d&61440)===40960},isChrdev:function(d){return(d&61440)===8192},isBlkdev:function(d){return(d&61440)===24576},isFIFO:function(d){return(d&61440)===4096},isSocket:function(d){return(d&49152)===49152},flagModes:{r:0,\"r+\":2,w:577,\"w+\":578,a:1089,\"a+\":1090},modeStringToFlags:function(d){var E=S.flagModes[d];if(typeof E>\"u\")throw new Error(\"Unknown file open mode: \"+d);return E},flagsToPermissionString:function(d){var E=[\"r\",\"w\",\"rw\"][d&3];return d&512&&(E+=\"w\"),E},nodePermissions:function(d,E){return S.ignorePermissions?0:E.includes(\"r\")&&!(d.mode&292)||E.includes(\"w\")&&!(d.mode&146)||E.includes(\"x\")&&!(d.mode&73)?2:0},mayLookup:function(d){var E=S.nodePermissions(d,\"x\");return E||(d.node_ops.lookup?0:2)},mayCreate:function(d,E){try{var I=S.lookupNode(d,E);return 20}catch{}return S.nodePermissions(d,\"wx\")},mayDelete:function(d,E,I){var k;try{k=S.lookupNode(d,E)}catch(_){return _.errno}var T=S.nodePermissions(d,\"wx\");if(T)return T;if(I){if(!S.isDir(k.mode))return 54;if(S.isRoot(k)||S.getPath(k)===S.cwd())return 10}else if(S.isDir(k.mode))return 31;return 0},mayOpen:function(d,E){return d?S.isLink(d.mode)?32:S.isDir(d.mode)&&(S.flagsToPermissionString(E)!==\"r\"||E&512)?31:S.nodePermissions(d,S.flagsToPermissionString(E)):44},MAX_OPEN_FDS:4096,nextfd:function(d,E){d=d||0,E=E||S.MAX_OPEN_FDS;for(var I=d;I<=E;I++)if(!S.streams[I])return I;throw new S.ErrnoError(33)},getStream:function(d){return S.streams[d]},createStream:function(d,E,I){S.FSStream||(S.FSStream=function(){},S.FSStream.prototype={object:{get:function(){return this.node},set:function(te){this.node=te}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}});var k=new S.FSStream;for(var T in d)k[T]=d[T];d=k;var _=S.nextfd(E,I);return d.fd=_,S.streams[_]=d,d},closeStream:function(d){S.streams[d]=null},chrdev_stream_ops:{open:function(d){var E=S.getDevice(d.node.rdev);d.stream_ops=E.stream_ops,d.stream_ops.open&&d.stream_ops.open(d)},llseek:function(){throw new S.ErrnoError(70)}},major:function(d){return d>>8},minor:function(d){return d&255},makedev:function(d,E){return d<<8|E},registerDevice:function(d,E){S.devices[d]={stream_ops:E}},getDevice:function(d){return S.devices[d]},getMounts:function(d){for(var E=[],I=[d];I.length;){var k=I.pop();E.push(k),I.push.apply(I,k.mounts)}return E},syncfs:function(d,E){typeof d==\"function\"&&(E=d,d=!1),S.syncFSRequests++,S.syncFSRequests>1&&D(\"warning: \"+S.syncFSRequests+\" FS.syncfs operations in flight at once, probably just doing extra work\");var I=S.getMounts(S.root.mount),k=0;function T(te){return S.syncFSRequests--,E(te)}function _(te){if(te)return _.errored?void 0:(_.errored=!0,T(te));++k>=I.length&&T(null)}I.forEach(function(te){if(!te.type.syncfs)return _(null);te.type.syncfs(te,d,_)})},mount:function(d,E,I){var k=I===\"/\",T=!I,_;if(k&&S.root)throw new S.ErrnoError(10);if(!k&&!T){var te=S.lookupPath(I,{follow_mount:!1});if(I=te.path,_=te.node,S.isMountpoint(_))throw new S.ErrnoError(10);if(!S.isDir(_.mode))throw new S.ErrnoError(54)}var Be={type:d,opts:E,mountpoint:I,mounts:[]},me=d.mount(Be);return me.mount=Be,Be.root=me,k?S.root=me:_&&(_.mounted=Be,_.mount&&_.mount.mounts.push(Be)),me},unmount:function(d){var E=S.lookupPath(d,{follow_mount:!1});if(!S.isMountpoint(E.node))throw new S.ErrnoError(28);var I=E.node,k=I.mounted,T=S.getMounts(k);Object.keys(S.nameTable).forEach(function(te){for(var Be=S.nameTable[te];Be;){var me=Be.name_next;T.includes(Be.mount)&&S.destroyNode(Be),Be=me}}),I.mounted=null;var _=I.mount.mounts.indexOf(k);I.mount.mounts.splice(_,1)},lookup:function(d,E){return d.node_ops.lookup(d,E)},mknod:function(d,E,I){var k=S.lookupPath(d,{parent:!0}),T=k.node,_=Qt.basename(d);if(!_||_===\".\"||_===\"..\")throw new S.ErrnoError(28);var te=S.mayCreate(T,_);if(te)throw new S.ErrnoError(te);if(!T.node_ops.mknod)throw new S.ErrnoError(63);return T.node_ops.mknod(T,_,E,I)},create:function(d,E){return E=E!==void 0?E:438,E&=4095,E|=32768,S.mknod(d,E,0)},mkdir:function(d,E){return E=E!==void 0?E:511,E&=1023,E|=16384,S.mknod(d,E,0)},mkdirTree:function(d,E){for(var I=d.split(\"/\"),k=\"\",T=0;T<I.length;++T)if(!!I[T]){k+=\"/\"+I[T];try{S.mkdir(k,E)}catch(_){if(_.errno!=20)throw _}}},mkdev:function(d,E,I){return typeof I>\"u\"&&(I=E,E=438),E|=8192,S.mknod(d,E,I)},symlink:function(d,E){if(!kn.resolve(d))throw new S.ErrnoError(44);var I=S.lookupPath(E,{parent:!0}),k=I.node;if(!k)throw new S.ErrnoError(44);var T=Qt.basename(E),_=S.mayCreate(k,T);if(_)throw new S.ErrnoError(_);if(!k.node_ops.symlink)throw new S.ErrnoError(63);return k.node_ops.symlink(k,T,d)},rename:function(d,E){var I=Qt.dirname(d),k=Qt.dirname(E),T=Qt.basename(d),_=Qt.basename(E),te,Be,me;if(te=S.lookupPath(d,{parent:!0}),Be=te.node,te=S.lookupPath(E,{parent:!0}),me=te.node,!Be||!me)throw new S.ErrnoError(44);if(Be.mount!==me.mount)throw new S.ErrnoError(75);var Je=S.lookupNode(Be,T),nt=kn.relative(d,k);if(nt.charAt(0)!==\".\")throw new S.ErrnoError(28);if(nt=kn.relative(E,I),nt.charAt(0)!==\".\")throw new S.ErrnoError(55);var wt;try{wt=S.lookupNode(me,_)}catch{}if(Je!==wt){var lt=S.isDir(Je.mode),it=S.mayDelete(Be,T,lt);if(it)throw new S.ErrnoError(it);if(it=wt?S.mayDelete(me,_,lt):S.mayCreate(me,_),it)throw new S.ErrnoError(it);if(!Be.node_ops.rename)throw new S.ErrnoError(63);if(S.isMountpoint(Je)||wt&&S.isMountpoint(wt))throw new S.ErrnoError(10);if(me!==Be&&(it=S.nodePermissions(Be,\"w\"),it))throw new S.ErrnoError(it);try{S.trackingDelegate.willMovePath&&S.trackingDelegate.willMovePath(d,E)}catch(Et){D(\"FS.trackingDelegate['willMovePath']('\"+d+\"', '\"+E+\"') threw an exception: \"+Et.message)}S.hashRemoveNode(Je);try{Be.node_ops.rename(Je,me,_)}catch(Et){throw Et}finally{S.hashAddNode(Je)}try{S.trackingDelegate.onMovePath&&S.trackingDelegate.onMovePath(d,E)}catch(Et){D(\"FS.trackingDelegate['onMovePath']('\"+d+\"', '\"+E+\"') threw an exception: \"+Et.message)}}},rmdir:function(d){var E=S.lookupPath(d,{parent:!0}),I=E.node,k=Qt.basename(d),T=S.lookupNode(I,k),_=S.mayDelete(I,k,!0);if(_)throw new S.ErrnoError(_);if(!I.node_ops.rmdir)throw new S.ErrnoError(63);if(S.isMountpoint(T))throw new S.ErrnoError(10);try{S.trackingDelegate.willDeletePath&&S.trackingDelegate.willDeletePath(d)}catch(te){D(\"FS.trackingDelegate['willDeletePath']('\"+d+\"') threw an exception: \"+te.message)}I.node_ops.rmdir(I,k),S.destroyNode(T);try{S.trackingDelegate.onDeletePath&&S.trackingDelegate.onDeletePath(d)}catch(te){D(\"FS.trackingDelegate['onDeletePath']('\"+d+\"') threw an exception: \"+te.message)}},readdir:function(d){var E=S.lookupPath(d,{follow:!0}),I=E.node;if(!I.node_ops.readdir)throw new S.ErrnoError(54);return I.node_ops.readdir(I)},unlink:function(d){var E=S.lookupPath(d,{parent:!0}),I=E.node,k=Qt.basename(d),T=S.lookupNode(I,k),_=S.mayDelete(I,k,!1);if(_)throw new S.ErrnoError(_);if(!I.node_ops.unlink)throw new S.ErrnoError(63);if(S.isMountpoint(T))throw new S.ErrnoError(10);try{S.trackingDelegate.willDeletePath&&S.trackingDelegate.willDeletePath(d)}catch(te){D(\"FS.trackingDelegate['willDeletePath']('\"+d+\"') threw an exception: \"+te.message)}I.node_ops.unlink(I,k),S.destroyNode(T);try{S.trackingDelegate.onDeletePath&&S.trackingDelegate.onDeletePath(d)}catch(te){D(\"FS.trackingDelegate['onDeletePath']('\"+d+\"') threw an exception: \"+te.message)}},readlink:function(d){var E=S.lookupPath(d),I=E.node;if(!I)throw new S.ErrnoError(44);if(!I.node_ops.readlink)throw new S.ErrnoError(28);return kn.resolve(S.getPath(I.parent),I.node_ops.readlink(I))},stat:function(d,E){var I=S.lookupPath(d,{follow:!E}),k=I.node;if(!k)throw new S.ErrnoError(44);if(!k.node_ops.getattr)throw new S.ErrnoError(63);return k.node_ops.getattr(k)},lstat:function(d){return S.stat(d,!0)},chmod:function(d,E,I){var k;if(typeof d==\"string\"){var T=S.lookupPath(d,{follow:!I});k=T.node}else k=d;if(!k.node_ops.setattr)throw new S.ErrnoError(63);k.node_ops.setattr(k,{mode:E&4095|k.mode&-4096,timestamp:Date.now()})},lchmod:function(d,E){S.chmod(d,E,!0)},fchmod:function(d,E){var I=S.getStream(d);if(!I)throw new S.ErrnoError(8);S.chmod(I.node,E)},chown:function(d,E,I,k){var T;if(typeof d==\"string\"){var _=S.lookupPath(d,{follow:!k});T=_.node}else T=d;if(!T.node_ops.setattr)throw new S.ErrnoError(63);T.node_ops.setattr(T,{timestamp:Date.now()})},lchown:function(d,E,I){S.chown(d,E,I,!0)},fchown:function(d,E,I){var k=S.getStream(d);if(!k)throw new S.ErrnoError(8);S.chown(k.node,E,I)},truncate:function(d,E){if(E<0)throw new S.ErrnoError(28);var I;if(typeof d==\"string\"){var k=S.lookupPath(d,{follow:!0});I=k.node}else I=d;if(!I.node_ops.setattr)throw new S.ErrnoError(63);if(S.isDir(I.mode))throw new S.ErrnoError(31);if(!S.isFile(I.mode))throw new S.ErrnoError(28);var T=S.nodePermissions(I,\"w\");if(T)throw new S.ErrnoError(T);I.node_ops.setattr(I,{size:E,timestamp:Date.now()})},ftruncate:function(d,E){var I=S.getStream(d);if(!I)throw new S.ErrnoError(8);if((I.flags&2097155)===0)throw new S.ErrnoError(28);S.truncate(I.node,E)},utime:function(d,E,I){var k=S.lookupPath(d,{follow:!0}),T=k.node;T.node_ops.setattr(T,{timestamp:Math.max(E,I)})},open:function(d,E,I,k,T){if(d===\"\")throw new S.ErrnoError(44);E=typeof E==\"string\"?S.modeStringToFlags(E):E,I=typeof I>\"u\"?438:I,E&64?I=I&4095|32768:I=0;var _;if(typeof d==\"object\")_=d;else{d=Qt.normalize(d);try{var te=S.lookupPath(d,{follow:!(E&131072)});_=te.node}catch{}}var Be=!1;if(E&64)if(_){if(E&128)throw new S.ErrnoError(20)}else _=S.mknod(d,I,0),Be=!0;if(!_)throw new S.ErrnoError(44);if(S.isChrdev(_.mode)&&(E&=-513),E&65536&&!S.isDir(_.mode))throw new S.ErrnoError(54);if(!Be){var me=S.mayOpen(_,E);if(me)throw new S.ErrnoError(me)}E&512&&S.truncate(_,0),E&=-131713;var Je=S.createStream({node:_,path:S.getPath(_),flags:E,seekable:!0,position:0,stream_ops:_.stream_ops,ungotten:[],error:!1},k,T);Je.stream_ops.open&&Je.stream_ops.open(Je),t.logReadFiles&&!(E&1)&&(S.readFiles||(S.readFiles={}),d in S.readFiles||(S.readFiles[d]=1,D(\"FS.trackingDelegate error on read file: \"+d)));try{if(S.trackingDelegate.onOpenFile){var nt=0;(E&2097155)!==1&&(nt|=S.tracking.openFlags.READ),(E&2097155)!==0&&(nt|=S.tracking.openFlags.WRITE),S.trackingDelegate.onOpenFile(d,nt)}}catch(wt){D(\"FS.trackingDelegate['onOpenFile']('\"+d+\"', flags) threw an exception: \"+wt.message)}return Je},close:function(d){if(S.isClosed(d))throw new S.ErrnoError(8);d.getdents&&(d.getdents=null);try{d.stream_ops.close&&d.stream_ops.close(d)}catch(E){throw E}finally{S.closeStream(d.fd)}d.fd=null},isClosed:function(d){return d.fd===null},llseek:function(d,E,I){if(S.isClosed(d))throw new S.ErrnoError(8);if(!d.seekable||!d.stream_ops.llseek)throw new S.ErrnoError(70);if(I!=0&&I!=1&&I!=2)throw new S.ErrnoError(28);return d.position=d.stream_ops.llseek(d,E,I),d.ungotten=[],d.position},read:function(d,E,I,k,T){if(k<0||T<0)throw new S.ErrnoError(28);if(S.isClosed(d))throw new S.ErrnoError(8);if((d.flags&2097155)===1)throw new S.ErrnoError(8);if(S.isDir(d.node.mode))throw new S.ErrnoError(31);if(!d.stream_ops.read)throw new S.ErrnoError(28);var _=typeof T<\"u\";if(!_)T=d.position;else if(!d.seekable)throw new S.ErrnoError(70);var te=d.stream_ops.read(d,E,I,k,T);return _||(d.position+=te),te},write:function(d,E,I,k,T,_){if(k<0||T<0)throw new S.ErrnoError(28);if(S.isClosed(d))throw new S.ErrnoError(8);if((d.flags&2097155)===0)throw new S.ErrnoError(8);if(S.isDir(d.node.mode))throw new S.ErrnoError(31);if(!d.stream_ops.write)throw new S.ErrnoError(28);d.seekable&&d.flags&1024&&S.llseek(d,0,2);var te=typeof T<\"u\";if(!te)T=d.position;else if(!d.seekable)throw new S.ErrnoError(70);var Be=d.stream_ops.write(d,E,I,k,T,_);te||(d.position+=Be);try{d.path&&S.trackingDelegate.onWriteToFile&&S.trackingDelegate.onWriteToFile(d.path)}catch(me){D(\"FS.trackingDelegate['onWriteToFile']('\"+d.path+\"') threw an exception: \"+me.message)}return Be},allocate:function(d,E,I){if(S.isClosed(d))throw new S.ErrnoError(8);if(E<0||I<=0)throw new S.ErrnoError(28);if((d.flags&2097155)===0)throw new S.ErrnoError(8);if(!S.isFile(d.node.mode)&&!S.isDir(d.node.mode))throw new S.ErrnoError(43);if(!d.stream_ops.allocate)throw new S.ErrnoError(138);d.stream_ops.allocate(d,E,I)},mmap:function(d,E,I,k,T,_){if((T&2)!==0&&(_&2)===0&&(d.flags&2097155)!==2)throw new S.ErrnoError(2);if((d.flags&2097155)===1)throw new S.ErrnoError(2);if(!d.stream_ops.mmap)throw new S.ErrnoError(43);return d.stream_ops.mmap(d,E,I,k,T,_)},msync:function(d,E,I,k,T){return!d||!d.stream_ops.msync?0:d.stream_ops.msync(d,E,I,k,T)},munmap:function(d){return 0},ioctl:function(d,E,I){if(!d.stream_ops.ioctl)throw new S.ErrnoError(59);return d.stream_ops.ioctl(d,E,I)},readFile:function(d,E){if(E=E||{},E.flags=E.flags||0,E.encoding=E.encoding||\"binary\",E.encoding!==\"utf8\"&&E.encoding!==\"binary\")throw new Error('Invalid encoding type \"'+E.encoding+'\"');var I,k=S.open(d,E.flags),T=S.stat(d),_=T.size,te=new Uint8Array(_);return S.read(k,te,0,_,0),E.encoding===\"utf8\"?I=ke(te,0):E.encoding===\"binary\"&&(I=te),S.close(k),I},writeFile:function(d,E,I){I=I||{},I.flags=I.flags||577;var k=S.open(d,I.flags,I.mode);if(typeof E==\"string\"){var T=new Uint8Array(le(E)+1),_=Ne(E,T,0,T.length);S.write(k,T,0,_,void 0,I.canOwn)}else if(ArrayBuffer.isView(E))S.write(k,E,0,E.byteLength,void 0,I.canOwn);else throw new Error(\"Unsupported data type\");S.close(k)},cwd:function(){return S.currentPath},chdir:function(d){var E=S.lookupPath(d,{follow:!0});if(E.node===null)throw new S.ErrnoError(44);if(!S.isDir(E.node.mode))throw new S.ErrnoError(54);var I=S.nodePermissions(E.node,\"x\");if(I)throw new S.ErrnoError(I);S.currentPath=E.path},createDefaultDirectories:function(){S.mkdir(\"/tmp\"),S.mkdir(\"/home\"),S.mkdir(\"/home/web_user\")},createDefaultDevices:function(){S.mkdir(\"/dev\"),S.registerDevice(S.makedev(1,3),{read:function(){return 0},write:function(E,I,k,T,_){return T}}),S.mkdev(\"/dev/null\",S.makedev(1,3)),$n.register(S.makedev(5,0),$n.default_tty_ops),$n.register(S.makedev(6,0),$n.default_tty1_ops),S.mkdev(\"/dev/tty\",S.makedev(5,0)),S.mkdev(\"/dev/tty1\",S.makedev(6,0));var d=Bl();S.createDevice(\"/dev\",\"random\",d),S.createDevice(\"/dev\",\"urandom\",d),S.mkdir(\"/dev/shm\"),S.mkdir(\"/dev/shm/tmp\")},createSpecialDirectories:function(){S.mkdir(\"/proc\");var d=S.mkdir(\"/proc/self\");S.mkdir(\"/proc/self/fd\"),S.mount({mount:function(){var E=S.createNode(d,\"fd\",16895,73);return E.node_ops={lookup:function(I,k){var T=+k,_=S.getStream(T);if(!_)throw new S.ErrnoError(8);var te={parent:null,mount:{mountpoint:\"fake\"},node_ops:{readlink:function(){return _.path}}};return te.parent=te,te}},E}},{},\"/proc/self/fd\")},createStandardStreams:function(){t.stdin?S.createDevice(\"/dev\",\"stdin\",t.stdin):S.symlink(\"/dev/tty\",\"/dev/stdin\"),t.stdout?S.createDevice(\"/dev\",\"stdout\",null,t.stdout):S.symlink(\"/dev/tty\",\"/dev/stdout\"),t.stderr?S.createDevice(\"/dev\",\"stderr\",null,t.stderr):S.symlink(\"/dev/tty1\",\"/dev/stderr\");var d=S.open(\"/dev/stdin\",0),E=S.open(\"/dev/stdout\",1),I=S.open(\"/dev/stderr\",1)},ensureErrnoError:function(){S.ErrnoError||(S.ErrnoError=function(E,I){this.node=I,this.setErrno=function(k){this.errno=k},this.setErrno(E),this.message=\"FS error\"},S.ErrnoError.prototype=new Error,S.ErrnoError.prototype.constructor=S.ErrnoError,[44].forEach(function(d){S.genericErrors[d]=new S.ErrnoError(d),S.genericErrors[d].stack=\"<generic error, no stack>\"}))},staticInit:function(){S.ensureErrnoError(),S.nameTable=new Array(4096),S.mount(gt,{},\"/\"),S.createDefaultDirectories(),S.createDefaultDevices(),S.createSpecialDirectories(),S.filesystems={MEMFS:gt,NODEFS:At}},init:function(d,E,I){S.init.initialized=!0,S.ensureErrnoError(),t.stdin=d||t.stdin,t.stdout=E||t.stdout,t.stderr=I||t.stderr,S.createStandardStreams()},quit:function(){S.init.initialized=!1;var d=t._fflush;d&&d(0);for(var E=0;E<S.streams.length;E++){var I=S.streams[E];!I||S.close(I)}},getMode:function(d,E){var I=0;return d&&(I|=365),E&&(I|=146),I},findObject:function(d,E){var I=S.analyzePath(d,E);return I.exists?I.object:null},analyzePath:function(d,E){try{var I=S.lookupPath(d,{follow:!E});d=I.path}catch{}var k={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var I=S.lookupPath(d,{parent:!0});k.parentExists=!0,k.parentPath=I.path,k.parentObject=I.node,k.name=Qt.basename(d),I=S.lookupPath(d,{follow:!E}),k.exists=!0,k.path=I.path,k.object=I.node,k.name=I.node.name,k.isRoot=I.path===\"/\"}catch(T){k.error=T.errno}return k},createPath:function(d,E,I,k){d=typeof d==\"string\"?d:S.getPath(d);for(var T=E.split(\"/\").reverse();T.length;){var _=T.pop();if(!!_){var te=Qt.join2(d,_);try{S.mkdir(te)}catch{}d=te}}return te},createFile:function(d,E,I,k,T){var _=Qt.join2(typeof d==\"string\"?d:S.getPath(d),E),te=S.getMode(k,T);return S.create(_,te)},createDataFile:function(d,E,I,k,T,_){var te=E?Qt.join2(typeof d==\"string\"?d:S.getPath(d),E):d,Be=S.getMode(k,T),me=S.create(te,Be);if(I){if(typeof I==\"string\"){for(var Je=new Array(I.length),nt=0,wt=I.length;nt<wt;++nt)Je[nt]=I.charCodeAt(nt);I=Je}S.chmod(me,Be|146);var lt=S.open(me,577);S.write(lt,I,0,I.length,0,_),S.close(lt),S.chmod(me,Be)}return me},createDevice:function(d,E,I,k){var T=Qt.join2(typeof d==\"string\"?d:S.getPath(d),E),_=S.getMode(!!I,!!k);S.createDevice.major||(S.createDevice.major=64);var te=S.makedev(S.createDevice.major++,0);return S.registerDevice(te,{open:function(Be){Be.seekable=!1},close:function(Be){k&&k.buffer&&k.buffer.length&&k(10)},read:function(Be,me,Je,nt,wt){for(var lt=0,it=0;it<nt;it++){var Et;try{Et=I()}catch{throw new S.ErrnoError(29)}if(Et===void 0&&lt===0)throw new S.ErrnoError(6);if(Et==null)break;lt++,me[Je+it]=Et}return lt&&(Be.node.timestamp=Date.now()),lt},write:function(Be,me,Je,nt,wt){for(var lt=0;lt<nt;lt++)try{k(me[Je+lt])}catch{throw new S.ErrnoError(29)}return nt&&(Be.node.timestamp=Date.now()),lt}}),S.mkdev(T,_,te)},forceLoadFile:function(d){if(d.isDevice||d.isFolder||d.link||d.contents)return!0;if(typeof XMLHttpRequest<\"u\")throw new Error(\"Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.\");if(p)try{d.contents=gA(p(d.url),!0),d.usedBytes=d.contents.length}catch{throw new S.ErrnoError(29)}else throw new Error(\"Cannot load without read() or XMLHttpRequest.\")},createLazyFile:function(d,E,I,k,T){function _(){this.lengthKnown=!1,this.chunks=[]}if(_.prototype.get=function(lt){if(!(lt>this.length-1||lt<0)){var it=lt%this.chunkSize,Et=lt/this.chunkSize|0;return this.getter(Et)[it]}},_.prototype.setDataGetter=function(lt){this.getter=lt},_.prototype.cacheLength=function(){var lt=new XMLHttpRequest;if(lt.open(\"HEAD\",I,!1),lt.send(null),!(lt.status>=200&&lt.status<300||lt.status===304))throw new Error(\"Couldn't load \"+I+\". Status: \"+lt.status);var it=Number(lt.getResponseHeader(\"Content-length\")),Et,Qe=(Et=lt.getResponseHeader(\"Accept-Ranges\"))&&Et===\"bytes\",Nn=(Et=lt.getResponseHeader(\"Content-Encoding\"))&&Et===\"gzip\",ki=1024*1024;Qe||(ki=it);var CA=function(ts,ga){if(ts>ga)throw new Error(\"invalid range (\"+ts+\", \"+ga+\") or no bytes requested!\");if(ga>it-1)throw new Error(\"only \"+it+\" bytes available! programmer error!\");var Kr=new XMLHttpRequest;if(Kr.open(\"GET\",I,!1),it!==ki&&Kr.setRequestHeader(\"Range\",\"bytes=\"+ts+\"-\"+ga),typeof Uint8Array<\"u\"&&(Kr.responseType=\"arraybuffer\"),Kr.overrideMimeType&&Kr.overrideMimeType(\"text/plain; charset=x-user-defined\"),Kr.send(null),!(Kr.status>=200&&Kr.status<300||Kr.status===304))throw new Error(\"Couldn't load \"+I+\". Status: \"+Kr.status);return Kr.response!==void 0?new Uint8Array(Kr.response||[]):gA(Kr.responseText||\"\",!0)},Mr=this;Mr.setDataGetter(function(ts){var ga=ts*ki,Kr=(ts+1)*ki-1;if(Kr=Math.min(Kr,it-1),typeof Mr.chunks[ts]>\"u\"&&(Mr.chunks[ts]=CA(ga,Kr)),typeof Mr.chunks[ts]>\"u\")throw new Error(\"doXHR failed!\");return Mr.chunks[ts]}),(Nn||!it)&&(ki=it=1,it=this.getter(0).length,ki=it,v(\"LazyFiles on gzip forces download of the whole file when length is accessed\")),this._length=it,this._chunkSize=ki,this.lengthKnown=!0},typeof XMLHttpRequest<\"u\"){if(!u)throw\"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";var te=new _;Object.defineProperties(te,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var Be={isDevice:!1,contents:te}}else var Be={isDevice:!1,url:I};var me=S.createFile(d,E,Be,k,T);Be.contents?me.contents=Be.contents:Be.url&&(me.contents=null,me.url=Be.url),Object.defineProperties(me,{usedBytes:{get:function(){return this.contents.length}}});var Je={},nt=Object.keys(me.stream_ops);return nt.forEach(function(wt){var lt=me.stream_ops[wt];Je[wt]=function(){return S.forceLoadFile(me),lt.apply(null,arguments)}}),Je.read=function(lt,it,Et,Qe,Nn){S.forceLoadFile(me);var ki=lt.node.contents;if(Nn>=ki.length)return 0;var CA=Math.min(ki.length-Nn,Qe);if(ki.slice)for(var Mr=0;Mr<CA;Mr++)it[Et+Mr]=ki[Nn+Mr];else for(var Mr=0;Mr<CA;Mr++)it[Et+Mr]=ki.get(Nn+Mr);return CA},me.stream_ops=Je,me},createPreloadedFile:function(d,E,I,k,T,_,te,Be,me,Je){Browser.init();var nt=E?kn.resolve(Qt.join2(d,E)):d,wt=\"cp \"+nt;function lt(it){function Et(Nn){Je&&Je(),Be||S.createDataFile(d,E,Nn,k,T,me),_&&_(),cA(wt)}var Qe=!1;t.preloadPlugins.forEach(function(Nn){Qe||Nn.canHandle(nt)&&(Nn.handle(it,nt,Et,function(){te&&te(),cA(wt)}),Qe=!0)}),Qe||Et(it)}lA(wt),typeof I==\"string\"?Browser.asyncLoad(I,function(it){lt(it)},te):lt(I)},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:function(){return\"EM_FS_\"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:\"FILE_DATA\",saveFilesToDB:function(d,E,I){E=E||function(){},I=I||function(){};var k=S.indexedDB();try{var T=k.open(S.DB_NAME(),S.DB_VERSION)}catch(_){return I(_)}T.onupgradeneeded=function(){v(\"creating db\");var te=T.result;te.createObjectStore(S.DB_STORE_NAME)},T.onsuccess=function(){var te=T.result,Be=te.transaction([S.DB_STORE_NAME],\"readwrite\"),me=Be.objectStore(S.DB_STORE_NAME),Je=0,nt=0,wt=d.length;function lt(){nt==0?E():I()}d.forEach(function(it){var Et=me.put(S.analyzePath(it).object.contents,it);Et.onsuccess=function(){Je++,Je+nt==wt&&lt()},Et.onerror=function(){nt++,Je+nt==wt&&lt()}}),Be.onerror=I},T.onerror=I},loadFilesFromDB:function(d,E,I){E=E||function(){},I=I||function(){};var k=S.indexedDB();try{var T=k.open(S.DB_NAME(),S.DB_VERSION)}catch(_){return I(_)}T.onupgradeneeded=I,T.onsuccess=function(){var te=T.result;try{var Be=te.transaction([S.DB_STORE_NAME],\"readonly\")}catch(it){I(it);return}var me=Be.objectStore(S.DB_STORE_NAME),Je=0,nt=0,wt=d.length;function lt(){nt==0?E():I()}d.forEach(function(it){var Et=me.get(it);Et.onsuccess=function(){S.analyzePath(it).exists&&S.unlink(it),S.createDataFile(Qt.dirname(it),Qt.basename(it),Et.result,!0,!0,!0),Je++,Je+nt==wt&&lt()},Et.onerror=function(){nt++,Je+nt==wt&&lt()}}),Be.onerror=I},T.onerror=I}},Tt={mappings:{},DEFAULT_POLLMASK:5,umask:511,calculateAt:function(d,E,I){if(E[0]===\"/\")return E;var k;if(d===-100)k=S.cwd();else{var T=S.getStream(d);if(!T)throw new S.ErrnoError(8);k=T.path}if(E.length==0){if(!I)throw new S.ErrnoError(44);return k}return Qt.join2(k,E)},doStat:function(d,E,I){try{var k=d(E)}catch(T){if(T&&T.node&&Qt.normalize(E)!==Qt.normalize(S.getPath(T.node)))return-54;throw T}return de[I>>2]=k.dev,de[I+4>>2]=0,de[I+8>>2]=k.ino,de[I+12>>2]=k.mode,de[I+16>>2]=k.nlink,de[I+20>>2]=k.uid,de[I+24>>2]=k.gid,de[I+28>>2]=k.rdev,de[I+32>>2]=0,se=[k.size>>>0,(vr=k.size,+Math.abs(vr)>=1?vr>0?(Math.min(+Math.floor(vr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((vr-+(~~vr>>>0))/4294967296)>>>0:0)],de[I+40>>2]=se[0],de[I+44>>2]=se[1],de[I+48>>2]=4096,de[I+52>>2]=k.blocks,de[I+56>>2]=k.atime.getTime()/1e3|0,de[I+60>>2]=0,de[I+64>>2]=k.mtime.getTime()/1e3|0,de[I+68>>2]=0,de[I+72>>2]=k.ctime.getTime()/1e3|0,de[I+76>>2]=0,se=[k.ino>>>0,(vr=k.ino,+Math.abs(vr)>=1?vr>0?(Math.min(+Math.floor(vr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((vr-+(~~vr>>>0))/4294967296)>>>0:0)],de[I+80>>2]=se[0],de[I+84>>2]=se[1],0},doMsync:function(d,E,I,k,T){var _=Y.slice(d,d+I);S.msync(E,_,T,I,k)},doMkdir:function(d,E){return d=Qt.normalize(d),d[d.length-1]===\"/\"&&(d=d.substr(0,d.length-1)),S.mkdir(d,E,0),0},doMknod:function(d,E,I){switch(E&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return S.mknod(d,E,I),0},doReadlink:function(d,E,I){if(I<=0)return-28;var k=S.readlink(d),T=Math.min(I,le(k)),_=ne[E+T];return oe(k,E,I+1),ne[E+T]=_,T},doAccess:function(d,E){if(E&-8)return-28;var I,k=S.lookupPath(d,{follow:!0});if(I=k.node,!I)return-44;var T=\"\";return E&4&&(T+=\"r\"),E&2&&(T+=\"w\"),E&1&&(T+=\"x\"),T&&S.nodePermissions(I,T)?-2:0},doDup:function(d,E,I){var k=S.getStream(I);return k&&S.close(k),S.open(d,E,0,I,I).fd},doReadv:function(d,E,I,k){for(var T=0,_=0;_<I;_++){var te=de[E+_*8>>2],Be=de[E+(_*8+4)>>2],me=S.read(d,ne,te,Be,k);if(me<0)return-1;if(T+=me,me<Be)break}return T},doWritev:function(d,E,I,k){for(var T=0,_=0;_<I;_++){var te=de[E+_*8>>2],Be=de[E+(_*8+4)>>2],me=S.write(d,ne,te,Be,k);if(me<0)return-1;T+=me}return T},varargs:void 0,get:function(){Tt.varargs+=4;var d=de[Tt.varargs-4>>2];return d},getStr:function(d){var E=Fe(d);return E},getStreamFromFD:function(d){var E=S.getStream(d);if(!E)throw new S.ErrnoError(8);return E},get64:function(d,E){return d}};function ng(d,E){try{return d=Tt.getStr(d),S.chmod(d,E),0}catch(I){return(typeof S>\"u\"||!(I instanceof S.ErrnoError))&&wr(I),-I.errno}}function Ql(d){return de[Ft()>>2]=d,d}function hp(d,E,I){Tt.varargs=I;try{var k=Tt.getStreamFromFD(d);switch(E){case 0:{var T=Tt.get();if(T<0)return-28;var _;return _=S.open(k.path,k.flags,0,T),_.fd}case 1:case 2:return 0;case 3:return k.flags;case 4:{var T=Tt.get();return k.flags|=T,0}case 12:{var T=Tt.get(),te=0;return pe[T+te>>1]=2,0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:return Ql(28),-1;default:return-28}}catch(Be){return(typeof S>\"u\"||!(Be instanceof S.ErrnoError))&&wr(Be),-Be.errno}}function pp(d,E){try{var I=Tt.getStreamFromFD(d);return Tt.doStat(S.stat,I.path,E)}catch(k){return(typeof S>\"u\"||!(k instanceof S.ErrnoError))&&wr(k),-k.errno}}function dp(d,E,I){Tt.varargs=I;try{var k=Tt.getStreamFromFD(d);switch(E){case 21509:case 21505:return k.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return k.tty?0:-59;case 21519:{if(!k.tty)return-59;var T=Tt.get();return de[T>>2]=0,0}case 21520:return k.tty?-28:-59;case 21531:{var T=Tt.get();return S.ioctl(k,E,T)}case 21523:return k.tty?0:-59;case 21524:return k.tty?0:-59;default:wr(\"bad ioctl syscall \"+E)}}catch(_){return(typeof S>\"u\"||!(_ instanceof S.ErrnoError))&&wr(_),-_.errno}}function Cp(d,E,I){Tt.varargs=I;try{var k=Tt.getStr(d),T=I?Tt.get():0,_=S.open(k,E,T);return _.fd}catch(te){return(typeof S>\"u\"||!(te instanceof S.ErrnoError))&&wr(te),-te.errno}}function mp(d,E){try{return d=Tt.getStr(d),E=Tt.getStr(E),S.rename(d,E),0}catch(I){return(typeof S>\"u\"||!(I instanceof S.ErrnoError))&&wr(I),-I.errno}}function G(d){try{return d=Tt.getStr(d),S.rmdir(d),0}catch(E){return(typeof S>\"u\"||!(E instanceof S.ErrnoError))&&wr(E),-E.errno}}function yt(d,E){try{return d=Tt.getStr(d),Tt.doStat(S.stat,d,E)}catch(I){return(typeof S>\"u\"||!(I instanceof S.ErrnoError))&&wr(I),-I.errno}}function uA(d){try{return d=Tt.getStr(d),S.unlink(d),0}catch(E){return(typeof S>\"u\"||!(E instanceof S.ErrnoError))&&wr(E),-E.errno}}function ji(d,E,I){Y.copyWithin(d,E,E+I)}function bl(d){try{return A.grow(d-qe.byteLength+65535>>>16),Or(A.buffer),1}catch{}}function Xe(d){var E=Y.length;d=d>>>0;var I=2147483648;if(d>I)return!1;for(var k=1;k<=4;k*=2){var T=E*(1+.2/k);T=Math.min(T,d+100663296);var _=Math.min(I,Ae(Math.max(d,T),65536)),te=bl(_);if(te)return!0}return!1}function Aa(d){try{var E=Tt.getStreamFromFD(d);return S.close(E),0}catch(I){return(typeof S>\"u\"||!(I instanceof S.ErrnoError))&&wr(I),I.errno}}function sg(d,E){try{var I=Tt.getStreamFromFD(d),k=I.tty?2:S.isDir(I.mode)?3:S.isLink(I.mode)?7:4;return ne[E>>0]=k,0}catch(T){return(typeof S>\"u\"||!(T instanceof S.ErrnoError))&&wr(T),T.errno}}function bE(d,E,I,k){try{var T=Tt.getStreamFromFD(d),_=Tt.doReadv(T,E,I);return de[k>>2]=_,0}catch(te){return(typeof S>\"u\"||!(te instanceof S.ErrnoError))&&wr(te),te.errno}}function Ep(d,E,I,k,T){try{var _=Tt.getStreamFromFD(d),te=4294967296,Be=I*te+(E>>>0),me=9007199254740992;return Be<=-me||Be>=me?-61:(S.llseek(_,Be,k),se=[_.position>>>0,(vr=_.position,+Math.abs(vr)>=1?vr>0?(Math.min(+Math.floor(vr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((vr-+(~~vr>>>0))/4294967296)>>>0:0)],de[T>>2]=se[0],de[T+4>>2]=se[1],_.getdents&&Be===0&&k===0&&(_.getdents=null),0)}catch(Je){return(typeof S>\"u\"||!(Je instanceof S.ErrnoError))&&wr(Je),Je.errno}}function SE(d,E,I,k){try{var T=Tt.getStreamFromFD(d),_=Tt.doWritev(T,E,I);return de[k>>2]=_,0}catch(te){return(typeof S>\"u\"||!(te instanceof S.ErrnoError))&&wr(te),te.errno}}function ar(d){$(d)}function Rn(d){var E=Date.now()/1e3|0;return d&&(de[d>>2]=E),E}function Sl(){if(Sl.called)return;Sl.called=!0;var d=new Date().getFullYear(),E=new Date(d,0,1),I=new Date(d,6,1),k=E.getTimezoneOffset(),T=I.getTimezoneOffset(),_=Math.max(k,T);de[Hb()>>2]=_*60,de[Ub()>>2]=Number(k!=T);function te(wt){var lt=wt.toTimeString().match(/\\(([A-Za-z ]+)\\)$/);return lt?lt[1]:\"GMT\"}var Be=te(E),me=te(I),Je=we(Be),nt=we(me);T<k?(de[gg()>>2]=Je,de[gg()+4>>2]=nt):(de[gg()>>2]=nt,de[gg()+4>>2]=Je)}function Ip(d){Sl();var E=Date.UTC(de[d+20>>2]+1900,de[d+16>>2],de[d+12>>2],de[d+8>>2],de[d+4>>2],de[d>>2],0),I=new Date(E);de[d+24>>2]=I.getUTCDay();var k=Date.UTC(I.getUTCFullYear(),0,1,0,0,0,0),T=(I.getTime()-k)/(1e3*60*60*24)|0;return de[d+28>>2]=T,I.getTime()/1e3|0}var Ts=function(d,E,I,k){d||(d=this),this.parent=d,this.mount=d.mount,this.mounted=null,this.id=S.nextInode++,this.name=E,this.mode=I,this.node_ops={},this.stream_ops={},this.rdev=k},la=365,An=146;if(Object.defineProperties(Ts.prototype,{read:{get:function(){return(this.mode&la)===la},set:function(d){d?this.mode|=la:this.mode&=~la}},write:{get:function(){return(this.mode&An)===An},set:function(d){d?this.mode|=An:this.mode&=~An}},isFolder:{get:function(){return S.isDir(this.mode)}},isDevice:{get:function(){return S.isChrdev(this.mode)}}}),S.FSNode=Ts,S.staticInit(),g){var Te=bV,og=J(\"path\");At.staticInit()}if(g){var vl=function(d){return function(){try{return d.apply(this,arguments)}catch(E){throw E.code?new S.ErrnoError(mo[E.code]):E}}},Os=Object.assign({},S);for(var xl in an)S[xl]=vl(an[xl])}else throw new Error(\"NODERAWFS is currently only supported on Node.js environment.\");function gA(d,E,I){var k=I>0?I:le(d)+1,T=new Array(k),_=Ne(d,T,0,T.length);return E&&(T.length=_),T}var ag=typeof atob==\"function\"?atob:function(d){var E=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",I=\"\",k,T,_,te,Be,me,Je,nt=0;d=d.replace(/[^A-Za-z0-9\\+\\/\\=]/g,\"\");do te=E.indexOf(d.charAt(nt++)),Be=E.indexOf(d.charAt(nt++)),me=E.indexOf(d.charAt(nt++)),Je=E.indexOf(d.charAt(nt++)),k=te<<2|Be>>4,T=(Be&15)<<4|me>>2,_=(me&3)<<6|Je,I=I+String.fromCharCode(k),me!==64&&(I=I+String.fromCharCode(T)),Je!==64&&(I=I+String.fromCharCode(_));while(nt<d.length);return I};function Ag(d){if(typeof g==\"boolean\"&&g){var E;try{E=Buffer.from(d,\"base64\")}catch{E=new Buffer(d,\"base64\")}return new Uint8Array(E.buffer,E.byteOffset,E.byteLength)}try{for(var I=ag(d),k=new Uint8Array(I.length),T=0;T<I.length;++T)k[T]=I.charCodeAt(T);return k}catch{throw new Error(\"Converting base64 string to bytes failed.\")}}function ca(d){if(!!tg(d))return Ag(d.slice(wl.length))}var ua={s:ig,p:ng,e:hp,k:pp,o:dp,q:Cp,i:mp,r:G,c:yt,h:uA,l:ji,m:Xe,f:Aa,j:sg,g:bE,n:Ep,d:SE,a:ar,b:Rn,t:Ip},rt=fp(),Eo=t.___wasm_call_ctors=rt.v,fA=t._zip_ext_count_symlinks=rt.w,Pl=t._zip_file_get_external_attributes=rt.x,Ms=t._zipstruct_stat=rt.y,Dl=t._zipstruct_statS=rt.z,vE=t._zipstruct_stat_name=rt.A,yp=t._zipstruct_stat_index=rt.B,lg=t._zipstruct_stat_size=rt.C,wp=t._zipstruct_stat_mtime=rt.D,xE=t._zipstruct_stat_crc=rt.E,kl=t._zipstruct_error=rt.F,PE=t._zipstruct_errorS=rt.G,cg=t._zipstruct_error_code_zip=rt.H,hA=t._zipstruct_stat_comp_size=rt.I,Rr=t._zipstruct_stat_comp_method=rt.J,DE=t._zip_close=rt.K,Ks=t._zip_delete=rt.L,Us=t._zip_dir_add=rt.M,ug=t._zip_discard=rt.N,pA=t._zip_error_init_with_code=rt.O,R=t._zip_get_error=rt.P,q=t._zip_file_get_error=rt.Q,Ce=t._zip_error_strerror=rt.R,Ke=t._zip_fclose=rt.S,Re=t._zip_file_add=rt.T,ze=t._free=rt.U,dt=t._malloc=rt.V,Ft=t.___errno_location=rt.W,Fn=t._zip_source_error=rt.X,Db=t._zip_source_seek=rt.Y,$M=t._zip_file_set_external_attributes=rt.Z,e1=t._zip_file_set_mtime=rt._,kb=t._zip_fopen=rt.$,t1=t._zip_fopen_index=rt.aa,r1=t._zip_fread=rt.ba,Rb=t._zip_get_name=rt.ca,i1=t._zip_get_num_entries=rt.da,n1=t._zip_source_read=rt.ea,Fb=t._zip_name_locate=rt.fa,s1=t._zip_open=rt.ga,o1=t._zip_open_from_source=rt.ha,Nb=t._zip_set_file_compression=rt.ia,a1=t._zip_source_buffer=rt.ja,A1=t._zip_source_buffer_create=rt.ka,l1=t._zip_source_close=rt.la,c1=t._zip_source_free=rt.ma,Lb=t._zip_source_keep=rt.na,Tb=t._zip_source_open=rt.oa,Ob=t._zip_source_set_mtime=rt.qa,Mb=t._zip_source_tell=rt.ra,Kb=t._zip_stat=rt.sa,u1=t._zip_stat_index=rt.ta,gg=t.__get_tzname=rt.ua,Ub=t.__get_daylight=rt.va,Hb=t.__get_timezone=rt.wa,kE=t.stackSave=rt.xa,RE=t.stackRestore=rt.ya,Q=t.stackAlloc=rt.za;t.cwrap=ue,t.getValue=Z;var Me;aa=function d(){Me||dA(),Me||(aa=d)};function dA(d){if(d=d||a,Zn>0||(pr(),Zn>0))return;function E(){Me||(Me=!0,t.calledRun=!0,!ae&&(Ei(),i(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),_n()))}t.setStatus?(t.setStatus(\"Running...\"),setTimeout(function(){setTimeout(function(){t.setStatus(\"\")},1),E()},1)):E()}if(t.run=dA,t.preInit)for(typeof t.preInit==\"function\"&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.pop()();return dA(),e}}();typeof aB==\"object\"&&typeof CR==\"object\"?CR.exports=dR:typeof define==\"function\"&&define.amd?define([],function(){return dR}):typeof aB==\"object\"&&(aB.createModule=dR)});var XV=w((Dnt,VV)=>{function wDe(r,e){for(var t=-1,i=r==null?0:r.length,n=Array(i);++t<i;)n[t]=e(r[t],t,r);return n}VV.exports=wDe});var ws=w((knt,_V)=>{var BDe=Array.isArray;_V.exports=BDe});var i6=w((Rnt,r6)=>{var ZV=Ec(),QDe=XV(),bDe=ws(),SDe=tC(),vDe=1/0,$V=ZV?ZV.prototype:void 0,e6=$V?$V.toString:void 0;function t6(r){if(typeof r==\"string\")return r;if(bDe(r))return QDe(r,t6)+\"\";if(SDe(r))return e6?e6.call(r):\"\";var e=r+\"\";return e==\"0\"&&1/r==-vDe?\"-0\":e}r6.exports=t6});var Kf=w((Fnt,n6)=>{var xDe=i6();function PDe(r){return r==null?\"\":xDe(r)}n6.exports=PDe});var bR=w((Nnt,s6)=>{function DDe(r,e,t){var i=-1,n=r.length;e<0&&(e=-e>n?0:n+e),t=t>n?n:t,t<0&&(t+=n),n=e>t?0:t-e>>>0,e>>>=0;for(var s=Array(n);++i<n;)s[i]=r[i+e];return s}s6.exports=DDe});var a6=w((Lnt,o6)=>{var kDe=bR();function RDe(r,e,t){var i=r.length;return t=t===void 0?i:t,!e&&t>=i?r:kDe(r,e,t)}o6.exports=RDe});var SR=w((Tnt,A6)=>{var FDe=\"\\\\ud800-\\\\udfff\",NDe=\"\\\\u0300-\\\\u036f\",LDe=\"\\\\ufe20-\\\\ufe2f\",TDe=\"\\\\u20d0-\\\\u20ff\",ODe=NDe+LDe+TDe,MDe=\"\\\\ufe0e\\\\ufe0f\",KDe=\"\\\\u200d\",UDe=RegExp(\"[\"+KDe+FDe+ODe+MDe+\"]\");function HDe(r){return UDe.test(r)}A6.exports=HDe});var c6=w((Ont,l6)=>{function GDe(r){return r.split(\"\")}l6.exports=GDe});var m6=w((Mnt,C6)=>{var u6=\"\\\\ud800-\\\\udfff\",YDe=\"\\\\u0300-\\\\u036f\",jDe=\"\\\\ufe20-\\\\ufe2f\",qDe=\"\\\\u20d0-\\\\u20ff\",JDe=YDe+jDe+qDe,WDe=\"\\\\ufe0e\\\\ufe0f\",zDe=\"[\"+u6+\"]\",vR=\"[\"+JDe+\"]\",xR=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",VDe=\"(?:\"+vR+\"|\"+xR+\")\",g6=\"[^\"+u6+\"]\",f6=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",h6=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",XDe=\"\\\\u200d\",p6=VDe+\"?\",d6=\"[\"+WDe+\"]?\",_De=\"(?:\"+XDe+\"(?:\"+[g6,f6,h6].join(\"|\")+\")\"+d6+p6+\")*\",ZDe=d6+p6+_De,$De=\"(?:\"+[g6+vR+\"?\",vR,f6,h6,zDe].join(\"|\")+\")\",eke=RegExp(xR+\"(?=\"+xR+\")|\"+$De+ZDe,\"g\");function tke(r){return r.match(eke)||[]}C6.exports=tke});var I6=w((Knt,E6)=>{var rke=c6(),ike=SR(),nke=m6();function ske(r){return ike(r)?nke(r):rke(r)}E6.exports=ske});var w6=w((Unt,y6)=>{var oke=a6(),ake=SR(),Ake=I6(),lke=Kf();function cke(r){return function(e){e=lke(e);var t=ake(e)?Ake(e):void 0,i=t?t[0]:e.charAt(0),n=t?oke(t,1).join(\"\"):e.slice(1);return i[r]()+n}}y6.exports=cke});var Q6=w((Hnt,B6)=>{var uke=w6(),gke=uke(\"toUpperCase\");B6.exports=gke});var dB=w((Gnt,b6)=>{var fke=Kf(),hke=Q6();function pke(r){return hke(fke(r).toLowerCase())}b6.exports=pke});var S6=w((Ynt,CB)=>{function dke(){var r=0,e=1,t=2,i=3,n=4,s=5,o=6,a=7,l=8,c=9,u=10,g=11,f=12,h=13,p=14,C=15,y=16,B=17,v=0,D=1,L=2,H=3,j=4;function $(A,ae){return 55296<=A.charCodeAt(ae)&&A.charCodeAt(ae)<=56319&&56320<=A.charCodeAt(ae+1)&&A.charCodeAt(ae+1)<=57343}function V(A,ae){ae===void 0&&(ae=0);var ge=A.charCodeAt(ae);if(55296<=ge&&ge<=56319&&ae<A.length-1){var re=ge,O=A.charCodeAt(ae+1);return 56320<=O&&O<=57343?(re-55296)*1024+(O-56320)+65536:re}if(56320<=ge&&ge<=57343&&ae>=1){var re=A.charCodeAt(ae-1),O=ge;return 55296<=re&&re<=56319?(re-55296)*1024+(O-56320)+65536:O}return ge}function W(A,ae,ge){var re=[A].concat(ae).concat([ge]),O=re[re.length-2],F=ge,ue=re.lastIndexOf(p);if(ue>1&&re.slice(1,ue).every(function(Fe){return Fe==i})&&[i,h,B].indexOf(A)==-1)return L;var he=re.lastIndexOf(n);if(he>0&&re.slice(1,he).every(function(Fe){return Fe==n})&&[f,n].indexOf(O)==-1)return re.filter(function(Fe){return Fe==n}).length%2==1?H:j;if(O==r&&F==e)return v;if(O==t||O==r||O==e)return F==p&&ae.every(function(Fe){return Fe==i})?L:D;if(F==t||F==r||F==e)return D;if(O==o&&(F==o||F==a||F==c||F==u))return v;if((O==c||O==a)&&(F==a||F==l))return v;if((O==u||O==l)&&F==l)return v;if(F==i||F==C)return v;if(F==s)return v;if(O==f)return v;var ke=re.indexOf(i)!=-1?re.lastIndexOf(i)-1:re.length-2;return[h,B].indexOf(re[ke])!=-1&&re.slice(ke+1,-1).every(function(Fe){return Fe==i})&&F==p||O==C&&[y,B].indexOf(F)!=-1?v:ae.indexOf(n)!=-1?L:O==n&&F==n?v:D}this.nextBreak=function(A,ae){if(ae===void 0&&(ae=0),ae<0)return 0;if(ae>=A.length-1)return A.length;for(var ge=Z(V(A,ae)),re=[],O=ae+1;O<A.length;O++)if(!$(A,O-1)){var F=Z(V(A,O));if(W(ge,re,F))return O;re.push(F)}return A.length},this.splitGraphemes=function(A){for(var ae=[],ge=0,re;(re=this.nextBreak(A,ge))<A.length;)ae.push(A.slice(ge,re)),ge=re;return ge<A.length&&ae.push(A.slice(ge)),ae},this.iterateGraphemes=function(A){var ae=0,ge={next:function(){var re,O;return(O=this.nextBreak(A,ae))<A.length?(re=A.slice(ae,O),ae=O,{value:re,done:!1}):ae<A.length?(re=A.slice(ae),ae=A.length,{value:re,done:!1}):{value:void 0,done:!0}}.bind(this)};return typeof Symbol<\"u\"&&Symbol.iterator&&(ge[Symbol.iterator]=function(){return ge}),ge},this.countGraphemes=function(A){for(var ae=0,ge=0,re;(re=this.nextBreak(A,ge))<A.length;)ge=re,ae++;return ge<A.length&&ae++,ae};function Z(A){return 1536<=A&&A<=1541||A==1757||A==1807||A==2274||A==3406||A==69821||70082<=A&&A<=70083||A==72250||72326<=A&&A<=72329||A==73030?f:A==13?r:A==10?e:0<=A&&A<=9||11<=A&&A<=12||14<=A&&A<=31||127<=A&&A<=159||A==173||A==1564||A==6158||A==8203||8206<=A&&A<=8207||A==8232||A==8233||8234<=A&&A<=8238||8288<=A&&A<=8292||A==8293||8294<=A&&A<=8303||55296<=A&&A<=57343||A==65279||65520<=A&&A<=65528||65529<=A&&A<=65531||113824<=A&&A<=113827||119155<=A&&A<=119162||A==917504||A==917505||917506<=A&&A<=917535||917632<=A&&A<=917759||918e3<=A&&A<=921599?t:768<=A&&A<=879||1155<=A&&A<=1159||1160<=A&&A<=1161||1425<=A&&A<=1469||A==1471||1473<=A&&A<=1474||1476<=A&&A<=1477||A==1479||1552<=A&&A<=1562||1611<=A&&A<=1631||A==1648||1750<=A&&A<=1756||1759<=A&&A<=1764||1767<=A&&A<=1768||1770<=A&&A<=1773||A==1809||1840<=A&&A<=1866||1958<=A&&A<=1968||2027<=A&&A<=2035||2070<=A&&A<=2073||2075<=A&&A<=2083||2085<=A&&A<=2087||2089<=A&&A<=2093||2137<=A&&A<=2139||2260<=A&&A<=2273||2275<=A&&A<=2306||A==2362||A==2364||2369<=A&&A<=2376||A==2381||2385<=A&&A<=2391||2402<=A&&A<=2403||A==2433||A==2492||A==2494||2497<=A&&A<=2500||A==2509||A==2519||2530<=A&&A<=2531||2561<=A&&A<=2562||A==2620||2625<=A&&A<=2626||2631<=A&&A<=2632||2635<=A&&A<=2637||A==2641||2672<=A&&A<=2673||A==2677||2689<=A&&A<=2690||A==2748||2753<=A&&A<=2757||2759<=A&&A<=2760||A==2765||2786<=A&&A<=2787||2810<=A&&A<=2815||A==2817||A==2876||A==2878||A==2879||2881<=A&&A<=2884||A==2893||A==2902||A==2903||2914<=A&&A<=2915||A==2946||A==3006||A==3008||A==3021||A==3031||A==3072||3134<=A&&A<=3136||3142<=A&&A<=3144||3146<=A&&A<=3149||3157<=A&&A<=3158||3170<=A&&A<=3171||A==3201||A==3260||A==3263||A==3266||A==3270||3276<=A&&A<=3277||3285<=A&&A<=3286||3298<=A&&A<=3299||3328<=A&&A<=3329||3387<=A&&A<=3388||A==3390||3393<=A&&A<=3396||A==3405||A==3415||3426<=A&&A<=3427||A==3530||A==3535||3538<=A&&A<=3540||A==3542||A==3551||A==3633||3636<=A&&A<=3642||3655<=A&&A<=3662||A==3761||3764<=A&&A<=3769||3771<=A&&A<=3772||3784<=A&&A<=3789||3864<=A&&A<=3865||A==3893||A==3895||A==3897||3953<=A&&A<=3966||3968<=A&&A<=3972||3974<=A&&A<=3975||3981<=A&&A<=3991||3993<=A&&A<=4028||A==4038||4141<=A&&A<=4144||4146<=A&&A<=4151||4153<=A&&A<=4154||4157<=A&&A<=4158||4184<=A&&A<=4185||4190<=A&&A<=4192||4209<=A&&A<=4212||A==4226||4229<=A&&A<=4230||A==4237||A==4253||4957<=A&&A<=4959||5906<=A&&A<=5908||5938<=A&&A<=5940||5970<=A&&A<=5971||6002<=A&&A<=6003||6068<=A&&A<=6069||6071<=A&&A<=6077||A==6086||6089<=A&&A<=6099||A==6109||6155<=A&&A<=6157||6277<=A&&A<=6278||A==6313||6432<=A&&A<=6434||6439<=A&&A<=6440||A==6450||6457<=A&&A<=6459||6679<=A&&A<=6680||A==6683||A==6742||6744<=A&&A<=6750||A==6752||A==6754||6757<=A&&A<=6764||6771<=A&&A<=6780||A==6783||6832<=A&&A<=6845||A==6846||6912<=A&&A<=6915||A==6964||6966<=A&&A<=6970||A==6972||A==6978||7019<=A&&A<=7027||7040<=A&&A<=7041||7074<=A&&A<=7077||7080<=A&&A<=7081||7083<=A&&A<=7085||A==7142||7144<=A&&A<=7145||A==7149||7151<=A&&A<=7153||7212<=A&&A<=7219||7222<=A&&A<=7223||7376<=A&&A<=7378||7380<=A&&A<=7392||7394<=A&&A<=7400||A==7405||A==7412||7416<=A&&A<=7417||7616<=A&&A<=7673||7675<=A&&A<=7679||A==8204||8400<=A&&A<=8412||8413<=A&&A<=8416||A==8417||8418<=A&&A<=8420||8421<=A&&A<=8432||11503<=A&&A<=11505||A==11647||11744<=A&&A<=11775||12330<=A&&A<=12333||12334<=A&&A<=12335||12441<=A&&A<=12442||A==42607||42608<=A&&A<=42610||42612<=A&&A<=42621||42654<=A&&A<=42655||42736<=A&&A<=42737||A==43010||A==43014||A==43019||43045<=A&&A<=43046||43204<=A&&A<=43205||43232<=A&&A<=43249||43302<=A&&A<=43309||43335<=A&&A<=43345||43392<=A&&A<=43394||A==43443||43446<=A&&A<=43449||A==43452||A==43493||43561<=A&&A<=43566||43569<=A&&A<=43570||43573<=A&&A<=43574||A==43587||A==43596||A==43644||A==43696||43698<=A&&A<=43700||43703<=A&&A<=43704||43710<=A&&A<=43711||A==43713||43756<=A&&A<=43757||A==43766||A==44005||A==44008||A==44013||A==64286||65024<=A&&A<=65039||65056<=A&&A<=65071||65438<=A&&A<=65439||A==66045||A==66272||66422<=A&&A<=66426||68097<=A&&A<=68099||68101<=A&&A<=68102||68108<=A&&A<=68111||68152<=A&&A<=68154||A==68159||68325<=A&&A<=68326||A==69633||69688<=A&&A<=69702||69759<=A&&A<=69761||69811<=A&&A<=69814||69817<=A&&A<=69818||69888<=A&&A<=69890||69927<=A&&A<=69931||69933<=A&&A<=69940||A==70003||70016<=A&&A<=70017||70070<=A&&A<=70078||70090<=A&&A<=70092||70191<=A&&A<=70193||A==70196||70198<=A&&A<=70199||A==70206||A==70367||70371<=A&&A<=70378||70400<=A&&A<=70401||A==70460||A==70462||A==70464||A==70487||70502<=A&&A<=70508||70512<=A&&A<=70516||70712<=A&&A<=70719||70722<=A&&A<=70724||A==70726||A==70832||70835<=A&&A<=70840||A==70842||A==70845||70847<=A&&A<=70848||70850<=A&&A<=70851||A==71087||71090<=A&&A<=71093||71100<=A&&A<=71101||71103<=A&&A<=71104||71132<=A&&A<=71133||71219<=A&&A<=71226||A==71229||71231<=A&&A<=71232||A==71339||A==71341||71344<=A&&A<=71349||A==71351||71453<=A&&A<=71455||71458<=A&&A<=71461||71463<=A&&A<=71467||72193<=A&&A<=72198||72201<=A&&A<=72202||72243<=A&&A<=72248||72251<=A&&A<=72254||A==72263||72273<=A&&A<=72278||72281<=A&&A<=72283||72330<=A&&A<=72342||72344<=A&&A<=72345||72752<=A&&A<=72758||72760<=A&&A<=72765||A==72767||72850<=A&&A<=72871||72874<=A&&A<=72880||72882<=A&&A<=72883||72885<=A&&A<=72886||73009<=A&&A<=73014||A==73018||73020<=A&&A<=73021||73023<=A&&A<=73029||A==73031||92912<=A&&A<=92916||92976<=A&&A<=92982||94095<=A&&A<=94098||113821<=A&&A<=113822||A==119141||119143<=A&&A<=119145||119150<=A&&A<=119154||119163<=A&&A<=119170||119173<=A&&A<=119179||119210<=A&&A<=119213||119362<=A&&A<=119364||121344<=A&&A<=121398||121403<=A&&A<=121452||A==121461||A==121476||121499<=A&&A<=121503||121505<=A&&A<=121519||122880<=A&&A<=122886||122888<=A&&A<=122904||122907<=A&&A<=122913||122915<=A&&A<=122916||122918<=A&&A<=122922||125136<=A&&A<=125142||125252<=A&&A<=125258||917536<=A&&A<=917631||917760<=A&&A<=917999?i:127462<=A&&A<=127487?n:A==2307||A==2363||2366<=A&&A<=2368||2377<=A&&A<=2380||2382<=A&&A<=2383||2434<=A&&A<=2435||2495<=A&&A<=2496||2503<=A&&A<=2504||2507<=A&&A<=2508||A==2563||2622<=A&&A<=2624||A==2691||2750<=A&&A<=2752||A==2761||2763<=A&&A<=2764||2818<=A&&A<=2819||A==2880||2887<=A&&A<=2888||2891<=A&&A<=2892||A==3007||3009<=A&&A<=3010||3014<=A&&A<=3016||3018<=A&&A<=3020||3073<=A&&A<=3075||3137<=A&&A<=3140||3202<=A&&A<=3203||A==3262||3264<=A&&A<=3265||3267<=A&&A<=3268||3271<=A&&A<=3272||3274<=A&&A<=3275||3330<=A&&A<=3331||3391<=A&&A<=3392||3398<=A&&A<=3400||3402<=A&&A<=3404||3458<=A&&A<=3459||3536<=A&&A<=3537||3544<=A&&A<=3550||3570<=A&&A<=3571||A==3635||A==3763||3902<=A&&A<=3903||A==3967||A==4145||4155<=A&&A<=4156||4182<=A&&A<=4183||A==4228||A==6070||6078<=A&&A<=6085||6087<=A&&A<=6088||6435<=A&&A<=6438||6441<=A&&A<=6443||6448<=A&&A<=6449||6451<=A&&A<=6456||6681<=A&&A<=6682||A==6741||A==6743||6765<=A&&A<=6770||A==6916||A==6965||A==6971||6973<=A&&A<=6977||6979<=A&&A<=6980||A==7042||A==7073||7078<=A&&A<=7079||A==7082||A==7143||7146<=A&&A<=7148||A==7150||7154<=A&&A<=7155||7204<=A&&A<=7211||7220<=A&&A<=7221||A==7393||7410<=A&&A<=7411||A==7415||43043<=A&&A<=43044||A==43047||43136<=A&&A<=43137||43188<=A&&A<=43203||43346<=A&&A<=43347||A==43395||43444<=A&&A<=43445||43450<=A&&A<=43451||43453<=A&&A<=43456||43567<=A&&A<=43568||43571<=A&&A<=43572||A==43597||A==43755||43758<=A&&A<=43759||A==43765||44003<=A&&A<=44004||44006<=A&&A<=44007||44009<=A&&A<=44010||A==44012||A==69632||A==69634||A==69762||69808<=A&&A<=69810||69815<=A&&A<=69816||A==69932||A==70018||70067<=A&&A<=70069||70079<=A&&A<=70080||70188<=A&&A<=70190||70194<=A&&A<=70195||A==70197||70368<=A&&A<=70370||70402<=A&&A<=70403||A==70463||70465<=A&&A<=70468||70471<=A&&A<=70472||70475<=A&&A<=70477||70498<=A&&A<=70499||70709<=A&&A<=70711||70720<=A&&A<=70721||A==70725||70833<=A&&A<=70834||A==70841||70843<=A&&A<=70844||A==70846||A==70849||71088<=A&&A<=71089||71096<=A&&A<=71099||A==71102||71216<=A&&A<=71218||71227<=A&&A<=71228||A==71230||A==71340||71342<=A&&A<=71343||A==71350||71456<=A&&A<=71457||A==71462||72199<=A&&A<=72200||A==72249||72279<=A&&A<=72280||A==72343||A==72751||A==72766||A==72873||A==72881||A==72884||94033<=A&&A<=94078||A==119142||A==119149?s:4352<=A&&A<=4447||43360<=A&&A<=43388?o:4448<=A&&A<=4519||55216<=A&&A<=55238?a:4520<=A&&A<=4607||55243<=A&&A<=55291?l:A==44032||A==44060||A==44088||A==44116||A==44144||A==44172||A==44200||A==44228||A==44256||A==44284||A==44312||A==44340||A==44368||A==44396||A==44424||A==44452||A==44480||A==44508||A==44536||A==44564||A==44592||A==44620||A==44648||A==44676||A==44704||A==44732||A==44760||A==44788||A==44816||A==44844||A==44872||A==44900||A==44928||A==44956||A==44984||A==45012||A==45040||A==45068||A==45096||A==45124||A==45152||A==45180||A==45208||A==45236||A==45264||A==45292||A==45320||A==45348||A==45376||A==45404||A==45432||A==45460||A==45488||A==45516||A==45544||A==45572||A==45600||A==45628||A==45656||A==45684||A==45712||A==45740||A==45768||A==45796||A==45824||A==45852||A==45880||A==45908||A==45936||A==45964||A==45992||A==46020||A==46048||A==46076||A==46104||A==46132||A==46160||A==46188||A==46216||A==46244||A==46272||A==46300||A==46328||A==46356||A==46384||A==46412||A==46440||A==46468||A==46496||A==46524||A==46552||A==46580||A==46608||A==46636||A==46664||A==46692||A==46720||A==46748||A==46776||A==46804||A==46832||A==46860||A==46888||A==46916||A==46944||A==46972||A==47e3||A==47028||A==47056||A==47084||A==47112||A==47140||A==47168||A==47196||A==47224||A==47252||A==47280||A==47308||A==47336||A==47364||A==47392||A==47420||A==47448||A==47476||A==47504||A==47532||A==47560||A==47588||A==47616||A==47644||A==47672||A==47700||A==47728||A==47756||A==47784||A==47812||A==47840||A==47868||A==47896||A==47924||A==47952||A==47980||A==48008||A==48036||A==48064||A==48092||A==48120||A==48148||A==48176||A==48204||A==48232||A==48260||A==48288||A==48316||A==48344||A==48372||A==48400||A==48428||A==48456||A==48484||A==48512||A==48540||A==48568||A==48596||A==48624||A==48652||A==48680||A==48708||A==48736||A==48764||A==48792||A==48820||A==48848||A==48876||A==48904||A==48932||A==48960||A==48988||A==49016||A==49044||A==49072||A==49100||A==49128||A==49156||A==49184||A==49212||A==49240||A==49268||A==49296||A==49324||A==49352||A==49380||A==49408||A==49436||A==49464||A==49492||A==49520||A==49548||A==49576||A==49604||A==49632||A==49660||A==49688||A==49716||A==49744||A==49772||A==49800||A==49828||A==49856||A==49884||A==49912||A==49940||A==49968||A==49996||A==50024||A==50052||A==50080||A==50108||A==50136||A==50164||A==50192||A==50220||A==50248||A==50276||A==50304||A==50332||A==50360||A==50388||A==50416||A==50444||A==50472||A==50500||A==50528||A==50556||A==50584||A==50612||A==50640||A==50668||A==50696||A==50724||A==50752||A==50780||A==50808||A==50836||A==50864||A==50892||A==50920||A==50948||A==50976||A==51004||A==51032||A==51060||A==51088||A==51116||A==51144||A==51172||A==51200||A==51228||A==51256||A==51284||A==51312||A==51340||A==51368||A==51396||A==51424||A==51452||A==51480||A==51508||A==51536||A==51564||A==51592||A==51620||A==51648||A==51676||A==51704||A==51732||A==51760||A==51788||A==51816||A==51844||A==51872||A==51900||A==51928||A==51956||A==51984||A==52012||A==52040||A==52068||A==52096||A==52124||A==52152||A==52180||A==52208||A==52236||A==52264||A==52292||A==52320||A==52348||A==52376||A==52404||A==52432||A==52460||A==52488||A==52516||A==52544||A==52572||A==52600||A==52628||A==52656||A==52684||A==52712||A==52740||A==52768||A==52796||A==52824||A==52852||A==52880||A==52908||A==52936||A==52964||A==52992||A==53020||A==53048||A==53076||A==53104||A==53132||A==53160||A==53188||A==53216||A==53244||A==53272||A==53300||A==53328||A==53356||A==53384||A==53412||A==53440||A==53468||A==53496||A==53524||A==53552||A==53580||A==53608||A==53636||A==53664||A==53692||A==53720||A==53748||A==53776||A==53804||A==53832||A==53860||A==53888||A==53916||A==53944||A==53972||A==54e3||A==54028||A==54056||A==54084||A==54112||A==54140||A==54168||A==54196||A==54224||A==54252||A==54280||A==54308||A==54336||A==54364||A==54392||A==54420||A==54448||A==54476||A==54504||A==54532||A==54560||A==54588||A==54616||A==54644||A==54672||A==54700||A==54728||A==54756||A==54784||A==54812||A==54840||A==54868||A==54896||A==54924||A==54952||A==54980||A==55008||A==55036||A==55064||A==55092||A==55120||A==55148||A==55176?c:44033<=A&&A<=44059||44061<=A&&A<=44087||44089<=A&&A<=44115||44117<=A&&A<=44143||44145<=A&&A<=44171||44173<=A&&A<=44199||44201<=A&&A<=44227||44229<=A&&A<=44255||44257<=A&&A<=44283||44285<=A&&A<=44311||44313<=A&&A<=44339||44341<=A&&A<=44367||44369<=A&&A<=44395||44397<=A&&A<=44423||44425<=A&&A<=44451||44453<=A&&A<=44479||44481<=A&&A<=44507||44509<=A&&A<=44535||44537<=A&&A<=44563||44565<=A&&A<=44591||44593<=A&&A<=44619||44621<=A&&A<=44647||44649<=A&&A<=44675||44677<=A&&A<=44703||44705<=A&&A<=44731||44733<=A&&A<=44759||44761<=A&&A<=44787||44789<=A&&A<=44815||44817<=A&&A<=44843||44845<=A&&A<=44871||44873<=A&&A<=44899||44901<=A&&A<=44927||44929<=A&&A<=44955||44957<=A&&A<=44983||44985<=A&&A<=45011||45013<=A&&A<=45039||45041<=A&&A<=45067||45069<=A&&A<=45095||45097<=A&&A<=45123||45125<=A&&A<=45151||45153<=A&&A<=45179||45181<=A&&A<=45207||45209<=A&&A<=45235||45237<=A&&A<=45263||45265<=A&&A<=45291||45293<=A&&A<=45319||45321<=A&&A<=45347||45349<=A&&A<=45375||45377<=A&&A<=45403||45405<=A&&A<=45431||45433<=A&&A<=45459||45461<=A&&A<=45487||45489<=A&&A<=45515||45517<=A&&A<=45543||45545<=A&&A<=45571||45573<=A&&A<=45599||45601<=A&&A<=45627||45629<=A&&A<=45655||45657<=A&&A<=45683||45685<=A&&A<=45711||45713<=A&&A<=45739||45741<=A&&A<=45767||45769<=A&&A<=45795||45797<=A&&A<=45823||45825<=A&&A<=45851||45853<=A&&A<=45879||45881<=A&&A<=45907||45909<=A&&A<=45935||45937<=A&&A<=45963||45965<=A&&A<=45991||45993<=A&&A<=46019||46021<=A&&A<=46047||46049<=A&&A<=46075||46077<=A&&A<=46103||46105<=A&&A<=46131||46133<=A&&A<=46159||46161<=A&&A<=46187||46189<=A&&A<=46215||46217<=A&&A<=46243||46245<=A&&A<=46271||46273<=A&&A<=46299||46301<=A&&A<=46327||46329<=A&&A<=46355||46357<=A&&A<=46383||46385<=A&&A<=46411||46413<=A&&A<=46439||46441<=A&&A<=46467||46469<=A&&A<=46495||46497<=A&&A<=46523||46525<=A&&A<=46551||46553<=A&&A<=46579||46581<=A&&A<=46607||46609<=A&&A<=46635||46637<=A&&A<=46663||46665<=A&&A<=46691||46693<=A&&A<=46719||46721<=A&&A<=46747||46749<=A&&A<=46775||46777<=A&&A<=46803||46805<=A&&A<=46831||46833<=A&&A<=46859||46861<=A&&A<=46887||46889<=A&&A<=46915||46917<=A&&A<=46943||46945<=A&&A<=46971||46973<=A&&A<=46999||47001<=A&&A<=47027||47029<=A&&A<=47055||47057<=A&&A<=47083||47085<=A&&A<=47111||47113<=A&&A<=47139||47141<=A&&A<=47167||47169<=A&&A<=47195||47197<=A&&A<=47223||47225<=A&&A<=47251||47253<=A&&A<=47279||47281<=A&&A<=47307||47309<=A&&A<=47335||47337<=A&&A<=47363||47365<=A&&A<=47391||47393<=A&&A<=47419||47421<=A&&A<=47447||47449<=A&&A<=47475||47477<=A&&A<=47503||47505<=A&&A<=47531||47533<=A&&A<=47559||47561<=A&&A<=47587||47589<=A&&A<=47615||47617<=A&&A<=47643||47645<=A&&A<=47671||47673<=A&&A<=47699||47701<=A&&A<=47727||47729<=A&&A<=47755||47757<=A&&A<=47783||47785<=A&&A<=47811||47813<=A&&A<=47839||47841<=A&&A<=47867||47869<=A&&A<=47895||47897<=A&&A<=47923||47925<=A&&A<=47951||47953<=A&&A<=47979||47981<=A&&A<=48007||48009<=A&&A<=48035||48037<=A&&A<=48063||48065<=A&&A<=48091||48093<=A&&A<=48119||48121<=A&&A<=48147||48149<=A&&A<=48175||48177<=A&&A<=48203||48205<=A&&A<=48231||48233<=A&&A<=48259||48261<=A&&A<=48287||48289<=A&&A<=48315||48317<=A&&A<=48343||48345<=A&&A<=48371||48373<=A&&A<=48399||48401<=A&&A<=48427||48429<=A&&A<=48455||48457<=A&&A<=48483||48485<=A&&A<=48511||48513<=A&&A<=48539||48541<=A&&A<=48567||48569<=A&&A<=48595||48597<=A&&A<=48623||48625<=A&&A<=48651||48653<=A&&A<=48679||48681<=A&&A<=48707||48709<=A&&A<=48735||48737<=A&&A<=48763||48765<=A&&A<=48791||48793<=A&&A<=48819||48821<=A&&A<=48847||48849<=A&&A<=48875||48877<=A&&A<=48903||48905<=A&&A<=48931||48933<=A&&A<=48959||48961<=A&&A<=48987||48989<=A&&A<=49015||49017<=A&&A<=49043||49045<=A&&A<=49071||49073<=A&&A<=49099||49101<=A&&A<=49127||49129<=A&&A<=49155||49157<=A&&A<=49183||49185<=A&&A<=49211||49213<=A&&A<=49239||49241<=A&&A<=49267||49269<=A&&A<=49295||49297<=A&&A<=49323||49325<=A&&A<=49351||49353<=A&&A<=49379||49381<=A&&A<=49407||49409<=A&&A<=49435||49437<=A&&A<=49463||49465<=A&&A<=49491||49493<=A&&A<=49519||49521<=A&&A<=49547||49549<=A&&A<=49575||49577<=A&&A<=49603||49605<=A&&A<=49631||49633<=A&&A<=49659||49661<=A&&A<=49687||49689<=A&&A<=49715||49717<=A&&A<=49743||49745<=A&&A<=49771||49773<=A&&A<=49799||49801<=A&&A<=49827||49829<=A&&A<=49855||49857<=A&&A<=49883||49885<=A&&A<=49911||49913<=A&&A<=49939||49941<=A&&A<=49967||49969<=A&&A<=49995||49997<=A&&A<=50023||50025<=A&&A<=50051||50053<=A&&A<=50079||50081<=A&&A<=50107||50109<=A&&A<=50135||50137<=A&&A<=50163||50165<=A&&A<=50191||50193<=A&&A<=50219||50221<=A&&A<=50247||50249<=A&&A<=50275||50277<=A&&A<=50303||50305<=A&&A<=50331||50333<=A&&A<=50359||50361<=A&&A<=50387||50389<=A&&A<=50415||50417<=A&&A<=50443||50445<=A&&A<=50471||50473<=A&&A<=50499||50501<=A&&A<=50527||50529<=A&&A<=50555||50557<=A&&A<=50583||50585<=A&&A<=50611||50613<=A&&A<=50639||50641<=A&&A<=50667||50669<=A&&A<=50695||50697<=A&&A<=50723||50725<=A&&A<=50751||50753<=A&&A<=50779||50781<=A&&A<=50807||50809<=A&&A<=50835||50837<=A&&A<=50863||50865<=A&&A<=50891||50893<=A&&A<=50919||50921<=A&&A<=50947||50949<=A&&A<=50975||50977<=A&&A<=51003||51005<=A&&A<=51031||51033<=A&&A<=51059||51061<=A&&A<=51087||51089<=A&&A<=51115||51117<=A&&A<=51143||51145<=A&&A<=51171||51173<=A&&A<=51199||51201<=A&&A<=51227||51229<=A&&A<=51255||51257<=A&&A<=51283||51285<=A&&A<=51311||51313<=A&&A<=51339||51341<=A&&A<=51367||51369<=A&&A<=51395||51397<=A&&A<=51423||51425<=A&&A<=51451||51453<=A&&A<=51479||51481<=A&&A<=51507||51509<=A&&A<=51535||51537<=A&&A<=51563||51565<=A&&A<=51591||51593<=A&&A<=51619||51621<=A&&A<=51647||51649<=A&&A<=51675||51677<=A&&A<=51703||51705<=A&&A<=51731||51733<=A&&A<=51759||51761<=A&&A<=51787||51789<=A&&A<=51815||51817<=A&&A<=51843||51845<=A&&A<=51871||51873<=A&&A<=51899||51901<=A&&A<=51927||51929<=A&&A<=51955||51957<=A&&A<=51983||51985<=A&&A<=52011||52013<=A&&A<=52039||52041<=A&&A<=52067||52069<=A&&A<=52095||52097<=A&&A<=52123||52125<=A&&A<=52151||52153<=A&&A<=52179||52181<=A&&A<=52207||52209<=A&&A<=52235||52237<=A&&A<=52263||52265<=A&&A<=52291||52293<=A&&A<=52319||52321<=A&&A<=52347||52349<=A&&A<=52375||52377<=A&&A<=52403||52405<=A&&A<=52431||52433<=A&&A<=52459||52461<=A&&A<=52487||52489<=A&&A<=52515||52517<=A&&A<=52543||52545<=A&&A<=52571||52573<=A&&A<=52599||52601<=A&&A<=52627||52629<=A&&A<=52655||52657<=A&&A<=52683||52685<=A&&A<=52711||52713<=A&&A<=52739||52741<=A&&A<=52767||52769<=A&&A<=52795||52797<=A&&A<=52823||52825<=A&&A<=52851||52853<=A&&A<=52879||52881<=A&&A<=52907||52909<=A&&A<=52935||52937<=A&&A<=52963||52965<=A&&A<=52991||52993<=A&&A<=53019||53021<=A&&A<=53047||53049<=A&&A<=53075||53077<=A&&A<=53103||53105<=A&&A<=53131||53133<=A&&A<=53159||53161<=A&&A<=53187||53189<=A&&A<=53215||53217<=A&&A<=53243||53245<=A&&A<=53271||53273<=A&&A<=53299||53301<=A&&A<=53327||53329<=A&&A<=53355||53357<=A&&A<=53383||53385<=A&&A<=53411||53413<=A&&A<=53439||53441<=A&&A<=53467||53469<=A&&A<=53495||53497<=A&&A<=53523||53525<=A&&A<=53551||53553<=A&&A<=53579||53581<=A&&A<=53607||53609<=A&&A<=53635||53637<=A&&A<=53663||53665<=A&&A<=53691||53693<=A&&A<=53719||53721<=A&&A<=53747||53749<=A&&A<=53775||53777<=A&&A<=53803||53805<=A&&A<=53831||53833<=A&&A<=53859||53861<=A&&A<=53887||53889<=A&&A<=53915||53917<=A&&A<=53943||53945<=A&&A<=53971||53973<=A&&A<=53999||54001<=A&&A<=54027||54029<=A&&A<=54055||54057<=A&&A<=54083||54085<=A&&A<=54111||54113<=A&&A<=54139||54141<=A&&A<=54167||54169<=A&&A<=54195||54197<=A&&A<=54223||54225<=A&&A<=54251||54253<=A&&A<=54279||54281<=A&&A<=54307||54309<=A&&A<=54335||54337<=A&&A<=54363||54365<=A&&A<=54391||54393<=A&&A<=54419||54421<=A&&A<=54447||54449<=A&&A<=54475||54477<=A&&A<=54503||54505<=A&&A<=54531||54533<=A&&A<=54559||54561<=A&&A<=54587||54589<=A&&A<=54615||54617<=A&&A<=54643||54645<=A&&A<=54671||54673<=A&&A<=54699||54701<=A&&A<=54727||54729<=A&&A<=54755||54757<=A&&A<=54783||54785<=A&&A<=54811||54813<=A&&A<=54839||54841<=A&&A<=54867||54869<=A&&A<=54895||54897<=A&&A<=54923||54925<=A&&A<=54951||54953<=A&&A<=54979||54981<=A&&A<=55007||55009<=A&&A<=55035||55037<=A&&A<=55063||55065<=A&&A<=55091||55093<=A&&A<=55119||55121<=A&&A<=55147||55149<=A&&A<=55175||55177<=A&&A<=55203?u:A==9757||A==9977||9994<=A&&A<=9997||A==127877||127938<=A&&A<=127940||A==127943||127946<=A&&A<=127948||128066<=A&&A<=128067||128070<=A&&A<=128080||A==128110||128112<=A&&A<=128120||A==128124||128129<=A&&A<=128131||128133<=A&&A<=128135||A==128170||128372<=A&&A<=128373||A==128378||A==128400||128405<=A&&A<=128406||128581<=A&&A<=128583||128587<=A&&A<=128591||A==128675||128692<=A&&A<=128694||A==128704||A==128716||129304<=A&&A<=129308||129310<=A&&A<=129311||A==129318||129328<=A&&A<=129337||129341<=A&&A<=129342||129489<=A&&A<=129501?h:127995<=A&&A<=127999?p:A==8205?C:A==9792||A==9794||9877<=A&&A<=9878||A==9992||A==10084||A==127752||A==127806||A==127859||A==127891||A==127908||A==127912||A==127979||A==127981||A==128139||128187<=A&&A<=128188||A==128295||A==128300||A==128488||A==128640||A==128658?y:128102<=A&&A<=128105?B:g}return this}typeof CB<\"u\"&&CB.exports&&(CB.exports=dke)});var x6=w((jnt,v6)=>{var Cke=/^(.*?)(\\x1b\\[[^m]+m|\\x1b\\]8;;.*?(\\x1b\\\\|\\u0007))/,mB;function mke(){if(mB)return mB;if(typeof Intl.Segmenter<\"u\"){let r=new Intl.Segmenter(\"en\",{granularity:\"grapheme\"});return mB=e=>Array.from(r.segment(e),({segment:t})=>t)}else{let r=S6(),e=new r;return mB=t=>e.splitGraphemes(t)}}v6.exports=(r,e=0,t=r.length)=>{if(e<0||t<0)throw new RangeError(\"Negative indices aren't supported by this implementation\");let i=t-e,n=\"\",s=0,o=0;for(;r.length>0;){let a=r.match(Cke)||[r,r,void 0],l=mke()(a[1]),c=Math.min(e-s,l.length);l=l.slice(c);let u=Math.min(i-o,l.length);n+=l.slice(0,u).join(\"\"),s+=c,o+=u,typeof a[2]<\"u\"&&(n+=a[2]),r=r.slice(a[0].length)}return n}});var Uf=w((ust,j6)=>{\"use strict\";var Y6=new Map([[\"C\",\"cwd\"],[\"f\",\"file\"],[\"z\",\"gzip\"],[\"P\",\"preservePaths\"],[\"U\",\"unlink\"],[\"strip-components\",\"strip\"],[\"stripComponents\",\"strip\"],[\"keep-newer\",\"newer\"],[\"keepNewer\",\"newer\"],[\"keep-newer-files\",\"newer\"],[\"keepNewerFiles\",\"newer\"],[\"k\",\"keep\"],[\"keep-existing\",\"keep\"],[\"keepExisting\",\"keep\"],[\"m\",\"noMtime\"],[\"no-mtime\",\"noMtime\"],[\"p\",\"preserveOwner\"],[\"L\",\"follow\"],[\"h\",\"follow\"]]),cst=j6.exports=r=>r?Object.keys(r).map(e=>[Y6.has(e)?Y6.get(e):e,r[e]]).reduce((e,t)=>(e[t[0]]=t[1],e),Object.create(null)):{}});var Hf=w((gst,$6)=>{\"use strict\";var kke=J(\"events\"),q6=J(\"stream\"),BC=sd(),J6=J(\"string_decoder\").StringDecoder,Ua=Symbol(\"EOF\"),QC=Symbol(\"maybeEmitEnd\"),WA=Symbol(\"emittedEnd\"),QB=Symbol(\"emittingEnd\"),bB=Symbol(\"closed\"),W6=Symbol(\"read\"),RR=Symbol(\"flush\"),z6=Symbol(\"flushChunk\"),Sn=Symbol(\"encoding\"),Ha=Symbol(\"decoder\"),SB=Symbol(\"flowing\"),bC=Symbol(\"paused\"),SC=Symbol(\"resume\"),nn=Symbol(\"bufferLength\"),V6=Symbol(\"bufferPush\"),FR=Symbol(\"bufferShift\"),Ui=Symbol(\"objectMode\"),Hi=Symbol(\"destroyed\"),_6=global._MP_NO_ITERATOR_SYMBOLS_!==\"1\",Rke=_6&&Symbol.asyncIterator||Symbol(\"asyncIterator not implemented\"),Fke=_6&&Symbol.iterator||Symbol(\"iterator not implemented\"),X6=r=>r===\"end\"||r===\"finish\"||r===\"prefinish\",Nke=r=>r instanceof ArrayBuffer||typeof r==\"object\"&&r.constructor&&r.constructor.name===\"ArrayBuffer\"&&r.byteLength>=0,Lke=r=>!Buffer.isBuffer(r)&&ArrayBuffer.isView(r);$6.exports=class Z6 extends q6{constructor(e){super(),this[SB]=!1,this[bC]=!1,this.pipes=new BC,this.buffer=new BC,this[Ui]=e&&e.objectMode||!1,this[Ui]?this[Sn]=null:this[Sn]=e&&e.encoding||null,this[Sn]===\"buffer\"&&(this[Sn]=null),this[Ha]=this[Sn]?new J6(this[Sn]):null,this[Ua]=!1,this[WA]=!1,this[QB]=!1,this[bB]=!1,this.writable=!0,this.readable=!0,this[nn]=0,this[Hi]=!1}get bufferLength(){return this[nn]}get encoding(){return this[Sn]}set encoding(e){if(this[Ui])throw new Error(\"cannot set encoding in objectMode\");if(this[Sn]&&e!==this[Sn]&&(this[Ha]&&this[Ha].lastNeed||this[nn]))throw new Error(\"cannot change encoding\");this[Sn]!==e&&(this[Ha]=e?new J6(e):null,this.buffer.length&&(this.buffer=this.buffer.map(t=>this[Ha].write(t)))),this[Sn]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[Ui]}set objectMode(e){this[Ui]=this[Ui]||!!e}write(e,t,i){if(this[Ua])throw new Error(\"write after end\");return this[Hi]?(this.emit(\"error\",Object.assign(new Error(\"Cannot call write after a stream was destroyed\"),{code:\"ERR_STREAM_DESTROYED\"})),!0):(typeof t==\"function\"&&(i=t,t=\"utf8\"),t||(t=\"utf8\"),!this[Ui]&&!Buffer.isBuffer(e)&&(Lke(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):Nke(e)?e=Buffer.from(e):typeof e!=\"string\"&&(this.objectMode=!0)),!this.objectMode&&!e.length?(this[nn]!==0&&this.emit(\"readable\"),i&&i(),this.flowing):(typeof e==\"string\"&&!this[Ui]&&!(t===this[Sn]&&!this[Ha].lastNeed)&&(e=Buffer.from(e,t)),Buffer.isBuffer(e)&&this[Sn]&&(e=this[Ha].write(e)),this.flowing?(this[nn]!==0&&this[RR](!0),this.emit(\"data\",e)):this[V6](e),this[nn]!==0&&this.emit(\"readable\"),i&&i(),this.flowing))}read(e){if(this[Hi])return null;try{return this[nn]===0||e===0||e>this[nn]?null:(this[Ui]&&(e=null),this.buffer.length>1&&!this[Ui]&&(this.encoding?this.buffer=new BC([Array.from(this.buffer).join(\"\")]):this.buffer=new BC([Buffer.concat(Array.from(this.buffer),this[nn])])),this[W6](e||null,this.buffer.head.value))}finally{this[QC]()}}[W6](e,t){return e===t.length||e===null?this[FR]():(this.buffer.head.value=t.slice(e),t=t.slice(0,e),this[nn]-=e),this.emit(\"data\",t),!this.buffer.length&&!this[Ua]&&this.emit(\"drain\"),t}end(e,t,i){return typeof e==\"function\"&&(i=e,e=null),typeof t==\"function\"&&(i=t,t=\"utf8\"),e&&this.write(e,t),i&&this.once(\"end\",i),this[Ua]=!0,this.writable=!1,(this.flowing||!this[bC])&&this[QC](),this}[SC](){this[Hi]||(this[bC]=!1,this[SB]=!0,this.emit(\"resume\"),this.buffer.length?this[RR]():this[Ua]?this[QC]():this.emit(\"drain\"))}resume(){return this[SC]()}pause(){this[SB]=!1,this[bC]=!0}get destroyed(){return this[Hi]}get flowing(){return this[SB]}get paused(){return this[bC]}[V6](e){return this[Ui]?this[nn]+=1:this[nn]+=e.length,this.buffer.push(e)}[FR](){return this.buffer.length&&(this[Ui]?this[nn]-=1:this[nn]-=this.buffer.head.value.length),this.buffer.shift()}[RR](e){do;while(this[z6](this[FR]()));!e&&!this.buffer.length&&!this[Ua]&&this.emit(\"drain\")}[z6](e){return e?(this.emit(\"data\",e),this.flowing):!1}pipe(e,t){if(this[Hi])return;let i=this[WA];t=t||{},e===process.stdout||e===process.stderr?t.end=!1:t.end=t.end!==!1;let n={dest:e,opts:t,ondrain:s=>this[SC]()};return this.pipes.push(n),e.on(\"drain\",n.ondrain),this[SC](),i&&n.opts.end&&n.dest.end(),e}addListener(e,t){return this.on(e,t)}on(e,t){try{return super.on(e,t)}finally{e===\"data\"&&!this.pipes.length&&!this.flowing?this[SC]():X6(e)&&this[WA]&&(super.emit(e),this.removeAllListeners(e))}}get emittedEnd(){return this[WA]}[QC](){!this[QB]&&!this[WA]&&!this[Hi]&&this.buffer.length===0&&this[Ua]&&(this[QB]=!0,this.emit(\"end\"),this.emit(\"prefinish\"),this.emit(\"finish\"),this[bB]&&this.emit(\"close\"),this[QB]=!1)}emit(e,t){if(e!==\"error\"&&e!==\"close\"&&e!==Hi&&this[Hi])return;if(e===\"data\"){if(!t)return;this.pipes.length&&this.pipes.forEach(n=>n.dest.write(t)===!1&&this.pause())}else if(e===\"end\"){if(this[WA]===!0)return;this[WA]=!0,this.readable=!1,this[Ha]&&(t=this[Ha].end(),t&&(this.pipes.forEach(n=>n.dest.write(t)),super.emit(\"data\",t))),this.pipes.forEach(n=>{n.dest.removeListener(\"drain\",n.ondrain),n.opts.end&&n.dest.end()})}else if(e===\"close\"&&(this[bB]=!0,!this[WA]&&!this[Hi]))return;let i=new Array(arguments.length);if(i[0]=e,i[1]=t,arguments.length>2)for(let n=2;n<arguments.length;n++)i[n]=arguments[n];try{return super.emit.apply(this,i)}finally{X6(e)?this.removeAllListeners(e):this[QC]()}}collect(){let e=[];this[Ui]||(e.dataLength=0);let t=this.promise();return this.on(\"data\",i=>{e.push(i),this[Ui]||(e.dataLength+=i.length)}),t.then(()=>e)}concat(){return this[Ui]?Promise.reject(new Error(\"cannot concat in objectMode\")):this.collect().then(e=>this[Ui]?Promise.reject(new Error(\"cannot concat in objectMode\")):this[Sn]?e.join(\"\"):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,t)=>{this.on(Hi,()=>t(new Error(\"stream destroyed\"))),this.on(\"end\",()=>e()),this.on(\"error\",i=>t(i))})}[Rke](){return{next:()=>{let t=this.read();if(t!==null)return Promise.resolve({done:!1,value:t});if(this[Ua])return Promise.resolve({done:!0});let i=null,n=null,s=c=>{this.removeListener(\"data\",o),this.removeListener(\"end\",a),n(c)},o=c=>{this.removeListener(\"error\",s),this.removeListener(\"end\",a),this.pause(),i({value:c,done:!!this[Ua]})},a=()=>{this.removeListener(\"error\",s),this.removeListener(\"data\",o),i({done:!0})},l=()=>s(new Error(\"stream destroyed\"));return new Promise((c,u)=>{n=u,i=c,this.once(Hi,l),this.once(\"error\",s),this.once(\"end\",a),this.once(\"data\",o)})}}}[Fke](){return{next:()=>{let t=this.read();return{value:t,done:t===null}}}}destroy(e){return this[Hi]?(e?this.emit(\"error\",e):this.emit(Hi),this):(this[Hi]=!0,this.buffer=new BC,this[nn]=0,typeof this.close==\"function\"&&!this[bB]&&this.close(),e?this.emit(\"error\",e):this.emit(Hi),this)}static isStream(e){return!!e&&(e instanceof Z6||e instanceof q6||e instanceof kke&&(typeof e.pipe==\"function\"||typeof e.write==\"function\"&&typeof e.end==\"function\"))}}});var t9=w((fst,e9)=>{var Tke=J(\"zlib\").constants||{ZLIB_VERNUM:4736};e9.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:1/0,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},Tke))});var VR=w(Wn=>{\"use strict\";var MR=J(\"assert\"),zA=J(\"buffer\").Buffer,n9=J(\"zlib\"),Sc=Wn.constants=t9(),Oke=Hf(),r9=zA.concat,vc=Symbol(\"_superWrite\"),Yf=class extends Error{constructor(e){super(\"zlib: \"+e.message),this.code=e.code,this.errno=e.errno,this.code||(this.code=\"ZLIB_ERROR\"),this.message=\"zlib: \"+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return\"ZlibError\"}},Mke=Symbol(\"opts\"),vC=Symbol(\"flushFlag\"),i9=Symbol(\"finishFlushFlag\"),zR=Symbol(\"fullFlushFlag\"),cr=Symbol(\"handle\"),vB=Symbol(\"onError\"),Gf=Symbol(\"sawError\"),NR=Symbol(\"level\"),LR=Symbol(\"strategy\"),TR=Symbol(\"ended\"),hst=Symbol(\"_defaultFullFlush\"),xB=class extends Oke{constructor(e,t){if(!e||typeof e!=\"object\")throw new TypeError(\"invalid options for ZlibBase constructor\");super(e),this[Gf]=!1,this[TR]=!1,this[Mke]=e,this[vC]=e.flush,this[i9]=e.finishFlush;try{this[cr]=new n9[t](e)}catch(i){throw new Yf(i)}this[vB]=i=>{this[Gf]||(this[Gf]=!0,this.close(),this.emit(\"error\",i))},this[cr].on(\"error\",i=>this[vB](new Yf(i))),this.once(\"end\",()=>this.close)}close(){this[cr]&&(this[cr].close(),this[cr]=null,this.emit(\"close\"))}reset(){if(!this[Gf])return MR(this[cr],\"zlib binding closed\"),this[cr].reset()}flush(e){this.ended||(typeof e!=\"number\"&&(e=this[zR]),this.write(Object.assign(zA.alloc(0),{[vC]:e})))}end(e,t,i){return e&&this.write(e,t),this.flush(this[i9]),this[TR]=!0,super.end(null,null,i)}get ended(){return this[TR]}write(e,t,i){if(typeof t==\"function\"&&(i=t,t=\"utf8\"),typeof e==\"string\"&&(e=zA.from(e,t)),this[Gf])return;MR(this[cr],\"zlib binding closed\");let n=this[cr]._handle,s=n.close;n.close=()=>{};let o=this[cr].close;this[cr].close=()=>{},zA.concat=c=>c;let a;try{let c=typeof e[vC]==\"number\"?e[vC]:this[vC];a=this[cr]._processChunk(e,c),zA.concat=r9}catch(c){zA.concat=r9,this[vB](new Yf(c))}finally{this[cr]&&(this[cr]._handle=n,n.close=s,this[cr].close=o,this[cr].removeAllListeners(\"error\"))}this[cr]&&this[cr].on(\"error\",c=>this[vB](new Yf(c)));let l;if(a)if(Array.isArray(a)&&a.length>0){l=this[vc](zA.from(a[0]));for(let c=1;c<a.length;c++)l=this[vc](a[c])}else l=this[vc](zA.from(a));return i&&i(),l}[vc](e){return super.write(e)}},Ga=class extends xB{constructor(e,t){e=e||{},e.flush=e.flush||Sc.Z_NO_FLUSH,e.finishFlush=e.finishFlush||Sc.Z_FINISH,super(e,t),this[zR]=Sc.Z_FULL_FLUSH,this[NR]=e.level,this[LR]=e.strategy}params(e,t){if(!this[Gf]){if(!this[cr])throw new Error(\"cannot switch params when binding is closed\");if(!this[cr].params)throw new Error(\"not supported in this implementation\");if(this[NR]!==e||this[LR]!==t){this.flush(Sc.Z_SYNC_FLUSH),MR(this[cr],\"zlib binding closed\");let i=this[cr].flush;this[cr].flush=(n,s)=>{this.flush(n),s()};try{this[cr].params(e,t)}finally{this[cr].flush=i}this[cr]&&(this[NR]=e,this[LR]=t)}}}},KR=class extends Ga{constructor(e){super(e,\"Deflate\")}},UR=class extends Ga{constructor(e){super(e,\"Inflate\")}},OR=Symbol(\"_portable\"),HR=class extends Ga{constructor(e){super(e,\"Gzip\"),this[OR]=e&&!!e.portable}[vc](e){return this[OR]?(this[OR]=!1,e[9]=255,super[vc](e)):super[vc](e)}},GR=class extends Ga{constructor(e){super(e,\"Gunzip\")}},YR=class extends Ga{constructor(e){super(e,\"DeflateRaw\")}},jR=class extends Ga{constructor(e){super(e,\"InflateRaw\")}},qR=class extends Ga{constructor(e){super(e,\"Unzip\")}},PB=class extends xB{constructor(e,t){e=e||{},e.flush=e.flush||Sc.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||Sc.BROTLI_OPERATION_FINISH,super(e,t),this[zR]=Sc.BROTLI_OPERATION_FLUSH}},JR=class extends PB{constructor(e){super(e,\"BrotliCompress\")}},WR=class extends PB{constructor(e){super(e,\"BrotliDecompress\")}};Wn.Deflate=KR;Wn.Inflate=UR;Wn.Gzip=HR;Wn.Gunzip=GR;Wn.DeflateRaw=YR;Wn.InflateRaw=jR;Wn.Unzip=qR;typeof n9.BrotliCompress==\"function\"?(Wn.BrotliCompress=JR,Wn.BrotliDecompress=WR):Wn.BrotliCompress=Wn.BrotliDecompress=class{constructor(){throw new Error(\"Brotli is not supported in this version of Node.js\")}}});var xC=w(DB=>{\"use strict\";DB.name=new Map([[\"0\",\"File\"],[\"\",\"OldFile\"],[\"1\",\"Link\"],[\"2\",\"SymbolicLink\"],[\"3\",\"CharacterDevice\"],[\"4\",\"BlockDevice\"],[\"5\",\"Directory\"],[\"6\",\"FIFO\"],[\"7\",\"ContiguousFile\"],[\"g\",\"GlobalExtendedHeader\"],[\"x\",\"ExtendedHeader\"],[\"A\",\"SolarisACL\"],[\"D\",\"GNUDumpDir\"],[\"I\",\"Inode\"],[\"K\",\"NextFileHasLongLinkpath\"],[\"L\",\"NextFileHasLongPath\"],[\"M\",\"ContinuationFile\"],[\"N\",\"OldGnuLongPath\"],[\"S\",\"SparseFile\"],[\"V\",\"TapeVolumeHeader\"],[\"X\",\"OldExtendedHeader\"]]);DB.code=new Map(Array.from(DB.name).map(r=>[r[1],r[0]]))});var PC=w((Ist,s9)=>{\"use strict\";var mst=xC(),Kke=Hf(),XR=Symbol(\"slurp\");s9.exports=class extends Kke{constructor(e,t,i){switch(super(),this.pause(),this.extended=t,this.globalExtended=i,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case\"File\":case\"OldFile\":case\"Link\":case\"SymbolicLink\":case\"CharacterDevice\":case\"BlockDevice\":case\"Directory\":case\"FIFO\":case\"ContiguousFile\":case\"GNUDumpDir\":break;case\"NextFileHasLongLinkpath\":case\"NextFileHasLongPath\":case\"OldGnuLongPath\":case\"GlobalExtendedHeader\":case\"ExtendedHeader\":case\"OldExtendedHeader\":this.meta=!0;break;default:this.ignore=!0}this.path=e.path,this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=e.linkpath,this.uname=e.uname,this.gname=e.gname,t&&this[XR](t),i&&this[XR](i,!0)}write(e){let t=e.length;if(t>this.blockRemain)throw new Error(\"writing more to entry than is appropriate\");let i=this.remain,n=this.blockRemain;return this.remain=Math.max(0,i-t),this.blockRemain=Math.max(0,n-t),this.ignore?!0:i>=t?super.write(e):super.write(e.slice(0,i))}[XR](e,t){for(let i in e)e[i]!==null&&e[i]!==void 0&&!(t&&i===\"path\")&&(this[i]=e[i])}}});var A9=w(_R=>{\"use strict\";var yst=_R.encode=(r,e)=>{if(Number.isSafeInteger(r))r<0?Hke(r,e):Uke(r,e);else throw Error(\"cannot encode number outside of javascript safe integer range\");return e},Uke=(r,e)=>{e[0]=128;for(var t=e.length;t>1;t--)e[t-1]=r&255,r=Math.floor(r/256)},Hke=(r,e)=>{e[0]=255;var t=!1;r=r*-1;for(var i=e.length;i>1;i--){var n=r&255;r=Math.floor(r/256),t?e[i-1]=o9(n):n===0?e[i-1]=0:(t=!0,e[i-1]=a9(n))}},wst=_R.parse=r=>{var e=r[r.length-1],t=r[0],i;if(t===128)i=Yke(r.slice(1,r.length));else if(t===255)i=Gke(r);else throw Error(\"invalid base256 encoding\");if(!Number.isSafeInteger(i))throw Error(\"parsed number outside of javascript safe integer range\");return i},Gke=r=>{for(var e=r.length,t=0,i=!1,n=e-1;n>-1;n--){var s=r[n],o;i?o=o9(s):s===0?o=s:(i=!0,o=a9(s)),o!==0&&(t-=o*Math.pow(256,e-n-1))}return t},Yke=r=>{for(var e=r.length,t=0,i=e-1;i>-1;i--){var n=r[i];n!==0&&(t+=n*Math.pow(256,e-i-1))}return t},o9=r=>(255^r)&255,a9=r=>(255^r)+1&255});var qf=w((Qst,c9)=>{\"use strict\";var ZR=xC(),jf=J(\"path\").posix,l9=A9(),$R=Symbol(\"slurp\"),zn=Symbol(\"type\"),rF=class{constructor(e,t,i,n){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[zn]=\"0\",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,t||0,i,n):e&&this.set(e)}decode(e,t,i,n){if(t||(t=0),!e||!(e.length>=t+512))throw new Error(\"need 512 bytes for header\");if(this.path=xc(e,t,100),this.mode=VA(e,t+100,8),this.uid=VA(e,t+108,8),this.gid=VA(e,t+116,8),this.size=VA(e,t+124,12),this.mtime=eF(e,t+136,12),this.cksum=VA(e,t+148,12),this[$R](i),this[$R](n,!0),this[zn]=xc(e,t+156,1),this[zn]===\"\"&&(this[zn]=\"0\"),this[zn]===\"0\"&&this.path.substr(-1)===\"/\"&&(this[zn]=\"5\"),this[zn]===\"5\"&&(this.size=0),this.linkpath=xc(e,t+157,100),e.slice(t+257,t+265).toString()===\"ustar\\x0000\")if(this.uname=xc(e,t+265,32),this.gname=xc(e,t+297,32),this.devmaj=VA(e,t+329,8),this.devmin=VA(e,t+337,8),e[t+475]!==0){let o=xc(e,t+345,155);this.path=o+\"/\"+this.path}else{let o=xc(e,t+345,130);o&&(this.path=o+\"/\"+this.path),this.atime=eF(e,t+476,12),this.ctime=eF(e,t+488,12)}let s=8*32;for(let o=t;o<t+148;o++)s+=e[o];for(let o=t+156;o<t+512;o++)s+=e[o];this.cksumValid=s===this.cksum,this.cksum===null&&s===8*32&&(this.nullBlock=!0)}[$R](e,t){for(let i in e)e[i]!==null&&e[i]!==void 0&&!(t&&i===\"path\")&&(this[i]=e[i])}encode(e,t){if(e||(e=this.block=Buffer.alloc(512),t=0),t||(t=0),!(e.length>=t+512))throw new Error(\"need 512 bytes for header\");let i=this.ctime||this.atime?130:155,n=jke(this.path||\"\",i),s=n[0],o=n[1];this.needPax=n[2],this.needPax=Pc(e,t,100,s)||this.needPax,this.needPax=XA(e,t+100,8,this.mode)||this.needPax,this.needPax=XA(e,t+108,8,this.uid)||this.needPax,this.needPax=XA(e,t+116,8,this.gid)||this.needPax,this.needPax=XA(e,t+124,12,this.size)||this.needPax,this.needPax=tF(e,t+136,12,this.mtime)||this.needPax,e[t+156]=this[zn].charCodeAt(0),this.needPax=Pc(e,t+157,100,this.linkpath)||this.needPax,e.write(\"ustar\\x0000\",t+257,8),this.needPax=Pc(e,t+265,32,this.uname)||this.needPax,this.needPax=Pc(e,t+297,32,this.gname)||this.needPax,this.needPax=XA(e,t+329,8,this.devmaj)||this.needPax,this.needPax=XA(e,t+337,8,this.devmin)||this.needPax,this.needPax=Pc(e,t+345,i,o)||this.needPax,e[t+475]!==0?this.needPax=Pc(e,t+345,155,o)||this.needPax:(this.needPax=Pc(e,t+345,130,o)||this.needPax,this.needPax=tF(e,t+476,12,this.atime)||this.needPax,this.needPax=tF(e,t+488,12,this.ctime)||this.needPax);let a=8*32;for(let l=t;l<t+148;l++)a+=e[l];for(let l=t+156;l<t+512;l++)a+=e[l];return this.cksum=a,XA(e,t+148,8,this.cksum),this.cksumValid=!0,this.needPax}set(e){for(let t in e)e[t]!==null&&e[t]!==void 0&&(this[t]=e[t])}get type(){return ZR.name.get(this[zn])||this[zn]}get typeKey(){return this[zn]}set type(e){ZR.code.has(e)?this[zn]=ZR.code.get(e):this[zn]=e}},jke=(r,e)=>{let i=r,n=\"\",s,o=jf.parse(r).root||\".\";if(Buffer.byteLength(i)<100)s=[i,n,!1];else{n=jf.dirname(i),i=jf.basename(i);do Buffer.byteLength(i)<=100&&Buffer.byteLength(n)<=e?s=[i,n,!1]:Buffer.byteLength(i)>100&&Buffer.byteLength(n)<=e?s=[i.substr(0,100-1),n,!0]:(i=jf.join(jf.basename(n),i),n=jf.dirname(n));while(n!==o&&!s);s||(s=[r.substr(0,100-1),\"\",!0])}return s},xc=(r,e,t)=>r.slice(e,e+t).toString(\"utf8\").replace(/\\0.*/,\"\"),eF=(r,e,t)=>qke(VA(r,e,t)),qke=r=>r===null?null:new Date(r*1e3),VA=(r,e,t)=>r[e]&128?l9.parse(r.slice(e,e+t)):Wke(r,e,t),Jke=r=>isNaN(r)?null:r,Wke=(r,e,t)=>Jke(parseInt(r.slice(e,e+t).toString(\"utf8\").replace(/\\0.*$/,\"\").trim(),8)),zke={12:8589934591,8:2097151},XA=(r,e,t,i)=>i===null?!1:i>zke[t]||i<0?(l9.encode(i,r.slice(e,e+t)),!0):(Vke(r,e,t,i),!1),Vke=(r,e,t,i)=>r.write(Xke(i,t),e,t,\"ascii\"),Xke=(r,e)=>_ke(Math.floor(r).toString(8),e),_ke=(r,e)=>(r.length===e-1?r:new Array(e-r.length-1).join(\"0\")+r+\" \")+\"\\0\",tF=(r,e,t,i)=>i===null?!1:XA(r,e,t,i.getTime()/1e3),Zke=new Array(156).join(\"\\0\"),Pc=(r,e,t,i)=>i===null?!1:(r.write(i+Zke,e,t,\"utf8\"),i.length!==Buffer.byteLength(i)||i.length>t);c9.exports=rF});var kB=w((bst,u9)=>{\"use strict\";var $ke=qf(),eRe=J(\"path\"),DC=class{constructor(e,t){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=t||!1}encode(){let e=this.encodeBody();if(e===\"\")return null;let t=Buffer.byteLength(e),i=512*Math.ceil(1+t/512),n=Buffer.allocUnsafe(i);for(let s=0;s<512;s++)n[s]=0;new $ke({path:(\"PaxHeader/\"+eRe.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:t,mtime:this.mtime||null,type:this.global?\"GlobalExtendedHeader\":\"ExtendedHeader\",linkpath:\"\",uname:this.uname||\"\",gname:this.gname||\"\",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(n),n.write(e,512,t,\"utf8\");for(let s=t+512;s<n.length;s++)n[s]=0;return n}encodeBody(){return this.encodeField(\"path\")+this.encodeField(\"ctime\")+this.encodeField(\"atime\")+this.encodeField(\"dev\")+this.encodeField(\"ino\")+this.encodeField(\"nlink\")+this.encodeField(\"charset\")+this.encodeField(\"comment\")+this.encodeField(\"gid\")+this.encodeField(\"gname\")+this.encodeField(\"linkpath\")+this.encodeField(\"mtime\")+this.encodeField(\"size\")+this.encodeField(\"uid\")+this.encodeField(\"uname\")}encodeField(e){if(this[e]===null||this[e]===void 0)return\"\";let t=this[e]instanceof Date?this[e].getTime()/1e3:this[e],i=\" \"+(e===\"dev\"||e===\"ino\"||e===\"nlink\"?\"SCHILY.\":\"\")+e+\"=\"+t+`\n`,n=Buffer.byteLength(i),s=Math.floor(Math.log(n)/Math.log(10))+1;return n+s>=Math.pow(10,s)&&(s+=1),s+n+i}};DC.parse=(r,e,t)=>new DC(tRe(rRe(r),e),t);var tRe=(r,e)=>e?Object.keys(r).reduce((t,i)=>(t[i]=r[i],t),e):r,rRe=r=>r.replace(/\\n$/,\"\").split(`\n`).reduce(iRe,Object.create(null)),iRe=(r,e)=>{let t=parseInt(e,10);if(t!==Buffer.byteLength(e)+1)return r;e=e.substr((t+\" \").length);let i=e.split(\"=\"),n=i.shift().replace(/^SCHILY\\.(dev|ino|nlink)/,\"$1\");if(!n)return r;let s=i.join(\"=\");return r[n]=/^([A-Z]+\\.)?([mac]|birth|creation)time$/.test(n)?new Date(s*1e3):/^[0-9]+$/.test(s)?+s:s,r};u9.exports=DC});var RB=w((Sst,g9)=>{\"use strict\";g9.exports=r=>class extends r{warn(e,t,i={}){this.file&&(i.file=this.file),this.cwd&&(i.cwd=this.cwd),i.code=t instanceof Error&&t.code||e,i.tarCode=e,!this.strict&&i.recoverable!==!1?(t instanceof Error&&(i=Object.assign(t,i),t=t.message),this.emit(\"warn\",i.tarCode,t,i)):t instanceof Error?this.emit(\"error\",Object.assign(t,i)):this.emit(\"error\",Object.assign(new Error(`${e}: ${t}`),i))}}});var nF=w((xst,f9)=>{\"use strict\";var FB=[\"|\",\"<\",\">\",\"?\",\":\"],iF=FB.map(r=>String.fromCharCode(61440+r.charCodeAt(0))),nRe=new Map(FB.map((r,e)=>[r,iF[e]])),sRe=new Map(iF.map((r,e)=>[r,FB[e]]));f9.exports={encode:r=>FB.reduce((e,t)=>e.split(t).join(nRe.get(t)),r),decode:r=>iF.reduce((e,t)=>e.split(t).join(sRe.get(t)),r)}});var p9=w((Pst,h9)=>{\"use strict\";h9.exports=(r,e,t)=>(r&=4095,t&&(r=(r|384)&-19),e&&(r&256&&(r|=64),r&32&&(r|=8),r&4&&(r|=1)),r)});var gF=w((Nst,b9)=>{\"use strict\";var I9=Hf(),y9=kB(),w9=qf(),Dst=PC(),Jo=J(\"fs\"),Jf=J(\"path\"),kst=xC(),oRe=16*1024*1024,d9=Symbol(\"process\"),C9=Symbol(\"file\"),m9=Symbol(\"directory\"),sF=Symbol(\"symlink\"),E9=Symbol(\"hardlink\"),kC=Symbol(\"header\"),NB=Symbol(\"read\"),oF=Symbol(\"lstat\"),LB=Symbol(\"onlstat\"),aF=Symbol(\"onread\"),AF=Symbol(\"onreadlink\"),lF=Symbol(\"openfile\"),cF=Symbol(\"onopenfile\"),Dc=Symbol(\"close\"),TB=Symbol(\"mode\"),B9=RB(),aRe=nF(),Q9=p9(),OB=B9(class extends I9{constructor(e,t){if(t=t||{},super(t),typeof e!=\"string\")throw new TypeError(\"path is required\");this.path=e,this.portable=!!t.portable,this.myuid=process.getuid&&process.getuid(),this.myuser=process.env.USER||\"\",this.maxReadSize=t.maxReadSize||oRe,this.linkCache=t.linkCache||new Map,this.statCache=t.statCache||new Map,this.preservePaths=!!t.preservePaths,this.cwd=t.cwd||process.cwd(),this.strict=!!t.strict,this.noPax=!!t.noPax,this.noMtime=!!t.noMtime,this.mtime=t.mtime||null,typeof t.onwarn==\"function\"&&this.on(\"warn\",t.onwarn);let i=!1;if(!this.preservePaths&&Jf.win32.isAbsolute(e)){let n=Jf.win32.parse(e);this.path=e.substr(n.root.length),i=n.root}this.win32=!!t.win32||process.platform===\"win32\",this.win32&&(this.path=aRe.decode(this.path.replace(/\\\\/g,\"/\")),e=e.replace(/\\\\/g,\"/\")),this.absolute=t.absolute||Jf.resolve(this.cwd,e),this.path===\"\"&&(this.path=\"./\"),i&&this.warn(\"TAR_ENTRY_INFO\",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.statCache.has(this.absolute)?this[LB](this.statCache.get(this.absolute)):this[oF]()}[oF](){Jo.lstat(this.absolute,(e,t)=>{if(e)return this.emit(\"error\",e);this[LB](t)})}[LB](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=lRe(e),this.emit(\"stat\",e),this[d9]()}[d9](){switch(this.type){case\"File\":return this[C9]();case\"Directory\":return this[m9]();case\"SymbolicLink\":return this[sF]();default:return this.end()}}[TB](e){return Q9(e,this.type===\"Directory\",this.portable)}[kC](){this.type===\"Directory\"&&this.portable&&(this.noMtime=!0),this.header=new w9({path:this.path,linkpath:this.linkpath,mode:this[TB](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:\"\",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&this.write(new y9({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this.path,linkpath:this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),this.write(this.header.block)}[m9](){this.path.substr(-1)!==\"/\"&&(this.path+=\"/\"),this.stat.size=0,this[kC](),this.end()}[sF](){Jo.readlink(this.absolute,(e,t)=>{if(e)return this.emit(\"error\",e);this[AF](t)})}[AF](e){this.linkpath=e.replace(/\\\\/g,\"/\"),this[kC](),this.end()}[E9](e){this.type=\"Link\",this.linkpath=Jf.relative(this.cwd,e).replace(/\\\\/g,\"/\"),this.stat.size=0,this[kC](),this.end()}[C9](){if(this.stat.nlink>1){let e=this.stat.dev+\":\"+this.stat.ino;if(this.linkCache.has(e)){let t=this.linkCache.get(e);if(t.indexOf(this.cwd)===0)return this[E9](t)}this.linkCache.set(e,this.absolute)}if(this[kC](),this.stat.size===0)return this.end();this[lF]()}[lF](){Jo.open(this.absolute,\"r\",(e,t)=>{if(e)return this.emit(\"error\",e);this[cF](t)})}[cF](e){let t=512*Math.ceil(this.stat.size/512),i=Math.min(t,this.maxReadSize),n=Buffer.allocUnsafe(i);this[NB](e,n,0,n.length,0,this.stat.size,t)}[NB](e,t,i,n,s,o,a){Jo.read(e,t,i,n,s,(l,c)=>{if(l)return this[Dc](e,()=>this.emit(\"error\",l));this[aF](e,t,i,n,s,o,a,c)})}[Dc](e,t){Jo.close(e,t)}[aF](e,t,i,n,s,o,a,l){if(l<=0&&o>0){let u=new Error(\"encountered unexpected EOF\");return u.path=this.absolute,u.syscall=\"read\",u.code=\"EOF\",this[Dc](e,()=>this.emit(\"error\",u))}if(l>o){let u=new Error(\"did not encounter expected EOF\");return u.path=this.absolute,u.syscall=\"read\",u.code=\"EOF\",this[Dc](e,()=>this.emit(\"error\",u))}if(l===o)for(let u=l;u<n&&l<a;u++)t[u+i]=0,l++,o++;let c=i===0&&l===t.length?t:t.slice(i,i+l);if(o-=l,a-=l,s+=l,i+=l,this.write(c),!o)return a&&this.write(Buffer.alloc(a)),this[Dc](e,u=>u?this.emit(\"error\",u):this.end());i>=n&&(t=Buffer.allocUnsafe(n),i=0),n=t.length-i,this[NB](e,t,i,n,s,o,a)}}),uF=class extends OB{constructor(e,t){super(e,t)}[oF](){this[LB](Jo.lstatSync(this.absolute))}[sF](){this[AF](Jo.readlinkSync(this.absolute))}[lF](){this[cF](Jo.openSync(this.absolute,\"r\"))}[NB](e,t,i,n,s,o,a){let l=!0;try{let c=Jo.readSync(e,t,i,n,s);this[aF](e,t,i,n,s,o,a,c),l=!1}finally{if(l)try{this[Dc](e,()=>{})}catch{}}}[Dc](e,t){Jo.closeSync(e),t()}},ARe=B9(class extends I9{constructor(e,t){t=t||{},super(t),this.preservePaths=!!t.preservePaths,this.portable=!!t.portable,this.strict=!!t.strict,this.noPax=!!t.noPax,this.noMtime=!!t.noMtime,this.readEntry=e,this.type=e.type,this.type===\"Directory\"&&this.portable&&(this.noMtime=!0),this.path=e.path,this.mode=this[TB](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:t.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=e.linkpath,typeof t.onwarn==\"function\"&&this.on(\"warn\",t.onwarn);let i=!1;if(Jf.isAbsolute(this.path)&&!this.preservePaths){let n=Jf.parse(this.path);i=n.root,this.path=this.path.substr(n.root.length)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new w9({path:this.path,linkpath:this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),i&&this.warn(\"TAR_ENTRY_INFO\",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.header.encode()&&!this.noPax&&super.write(new y9({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this.path,linkpath:this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[TB](e){return Q9(e,this.type===\"Directory\",this.portable)}write(e){let t=e.length;if(t>this.blockRemain)throw new Error(\"writing more to entry than is appropriate\");return this.blockRemain-=t,super.write(e)}end(){return this.blockRemain&&this.write(Buffer.alloc(this.blockRemain)),super.end()}});OB.Sync=uF;OB.Tar=ARe;var lRe=r=>r.isFile()?\"File\":r.isDirectory()?\"Directory\":r.isSymbolicLink()?\"SymbolicLink\":\"Unsupported\";b9.exports=OB});var JB=w((Tst,R9)=>{\"use strict\";var jB=class{constructor(e,t){this.path=e||\"./\",this.absolute=t,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},cRe=Hf(),uRe=VR(),gRe=PC(),IF=gF(),fRe=IF.Sync,hRe=IF.Tar,pRe=sd(),S9=Buffer.alloc(1024),UB=Symbol(\"onStat\"),MB=Symbol(\"ended\"),Wo=Symbol(\"queue\"),Wf=Symbol(\"current\"),kc=Symbol(\"process\"),KB=Symbol(\"processing\"),v9=Symbol(\"processJob\"),zo=Symbol(\"jobs\"),fF=Symbol(\"jobDone\"),HB=Symbol(\"addFSEntry\"),x9=Symbol(\"addTarEntry\"),dF=Symbol(\"stat\"),CF=Symbol(\"readdir\"),GB=Symbol(\"onreaddir\"),YB=Symbol(\"pipe\"),P9=Symbol(\"entry\"),hF=Symbol(\"entryOpt\"),mF=Symbol(\"writeEntryClass\"),k9=Symbol(\"write\"),pF=Symbol(\"ondrain\"),qB=J(\"fs\"),D9=J(\"path\"),dRe=RB(),yF=dRe(class extends cRe{constructor(e){super(e),e=e||Object.create(null),this.opt=e,this.file=e.file||\"\",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=(e.prefix||\"\").replace(/(\\\\|\\/)+$/,\"\"),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[mF]=IF,typeof e.onwarn==\"function\"&&this.on(\"warn\",e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip?(typeof e.gzip!=\"object\"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new uRe.Gzip(e.gzip),this.zip.on(\"data\",t=>super.write(t)),this.zip.on(\"end\",t=>super.end()),this.zip.on(\"drain\",t=>this[pF]()),this.on(\"resume\",t=>this.zip.resume())):this.on(\"drain\",this[pF]),this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter==\"function\"?e.filter:t=>!0,this[Wo]=new pRe,this[zo]=0,this.jobs=+e.jobs||4,this[KB]=!1,this[MB]=!1}[k9](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[MB]=!0,this[kc](),this}write(e){if(this[MB])throw new Error(\"write after end\");return e instanceof gRe?this[x9](e):this[HB](e),this.flowing}[x9](e){let t=D9.resolve(this.cwd,e.path);if(this.prefix&&(e.path=this.prefix+\"/\"+e.path.replace(/^\\.(\\/+|$)/,\"\")),!this.filter(e.path,e))e.resume();else{let i=new jB(e.path,t,!1);i.entry=new hRe(e,this[hF](i)),i.entry.on(\"end\",n=>this[fF](i)),this[zo]+=1,this[Wo].push(i)}this[kc]()}[HB](e){let t=D9.resolve(this.cwd,e);this.prefix&&(e=this.prefix+\"/\"+e.replace(/^\\.(\\/+|$)/,\"\")),this[Wo].push(new jB(e,t)),this[kc]()}[dF](e){e.pending=!0,this[zo]+=1;let t=this.follow?\"stat\":\"lstat\";qB[t](e.absolute,(i,n)=>{e.pending=!1,this[zo]-=1,i?this.emit(\"error\",i):this[UB](e,n)})}[UB](e,t){this.statCache.set(e.absolute,t),e.stat=t,this.filter(e.path,t)||(e.ignore=!0),this[kc]()}[CF](e){e.pending=!0,this[zo]+=1,qB.readdir(e.absolute,(t,i)=>{if(e.pending=!1,this[zo]-=1,t)return this.emit(\"error\",t);this[GB](e,i)})}[GB](e,t){this.readdirCache.set(e.absolute,t),e.readdir=t,this[kc]()}[kc](){if(!this[KB]){this[KB]=!0;for(let e=this[Wo].head;e!==null&&this[zo]<this.jobs;e=e.next)if(this[v9](e.value),e.value.ignore){let t=e.next;this[Wo].removeNode(e),e.next=t}this[KB]=!1,this[MB]&&!this[Wo].length&&this[zo]===0&&(this.zip?this.zip.end(S9):(super.write(S9),super.end()))}}get[Wf](){return this[Wo]&&this[Wo].head&&this[Wo].head.value}[fF](e){this[Wo].shift(),this[zo]-=1,this[kc]()}[v9](e){if(!e.pending){if(e.entry){e===this[Wf]&&!e.piped&&this[YB](e);return}if(e.stat||(this.statCache.has(e.absolute)?this[UB](e,this.statCache.get(e.absolute)):this[dF](e)),!!e.stat&&!e.ignore&&!(!this.noDirRecurse&&e.stat.isDirectory()&&!e.readdir&&(this.readdirCache.has(e.absolute)?this[GB](e,this.readdirCache.get(e.absolute)):this[CF](e),!e.readdir))){if(e.entry=this[P9](e),!e.entry){e.ignore=!0;return}e===this[Wf]&&!e.piped&&this[YB](e)}}}[hF](e){return{onwarn:(t,i,n)=>this.warn(t,i,n),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime}}[P9](e){this[zo]+=1;try{return new this[mF](e.path,this[hF](e)).on(\"end\",()=>this[fF](e)).on(\"error\",t=>this.emit(\"error\",t))}catch(t){this.emit(\"error\",t)}}[pF](){this[Wf]&&this[Wf].entry&&this[Wf].entry.resume()}[YB](e){e.piped=!0,e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||\"./\":e.path,o=s===\"./\"?\"\":s.replace(/\\/*$/,\"/\");this[HB](o+n)});let t=e.entry,i=this.zip;i?t.on(\"data\",n=>{i.write(n)||t.pause()}):t.on(\"data\",n=>{super.write(n)||t.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),EF=class extends yF{constructor(e){super(e),this[mF]=fRe}pause(){}resume(){}[dF](e){let t=this.follow?\"statSync\":\"lstatSync\";this[UB](e,qB[t](e.absolute))}[CF](e,t){this[GB](e,qB.readdirSync(e.absolute))}[YB](e){let t=e.entry,i=this.zip;e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||\"./\":e.path,o=s===\"./\"?\"\":s.replace(/\\/*$/,\"/\");this[HB](o+n)}),i?t.on(\"data\",n=>{i.write(n)}):t.on(\"data\",n=>{super[k9](n)})}};yF.Sync=EF;R9.exports=yF});var $f=w(FC=>{\"use strict\";var CRe=Hf(),mRe=J(\"events\").EventEmitter,Bs=J(\"fs\"),_B=process.binding(\"fs\"),Ost=_B.writeBuffers,ERe=_B.FSReqWrap||_B.FSReqCallback,_f=Symbol(\"_autoClose\"),Xo=Symbol(\"_close\"),RC=Symbol(\"_ended\"),rr=Symbol(\"_fd\"),F9=Symbol(\"_finished\"),Nc=Symbol(\"_flags\"),wF=Symbol(\"_flush\"),QF=Symbol(\"_handleChunk\"),bF=Symbol(\"_makeBuf\"),SF=Symbol(\"_mode\"),WB=Symbol(\"_needDrain\"),Xf=Symbol(\"_onerror\"),Zf=Symbol(\"_onopen\"),BF=Symbol(\"_onread\"),Fc=Symbol(\"_onwrite\"),ZA=Symbol(\"_open\"),$A=Symbol(\"_path\"),Rc=Symbol(\"_pos\"),Vo=Symbol(\"_queue\"),Vf=Symbol(\"_read\"),N9=Symbol(\"_readSize\"),_A=Symbol(\"_reading\"),zB=Symbol(\"_remain\"),L9=Symbol(\"_size\"),VB=Symbol(\"_write\"),zf=Symbol(\"_writing\"),XB=Symbol(\"_defaultFlag\"),ZB=class extends CRe{constructor(e,t){if(t=t||{},super(t),this.writable=!1,typeof e!=\"string\")throw new TypeError(\"path must be a string\");this[rr]=typeof t.fd==\"number\"?t.fd:null,this[$A]=e,this[N9]=t.readSize||16*1024*1024,this[_A]=!1,this[L9]=typeof t.size==\"number\"?t.size:1/0,this[zB]=this[L9],this[_f]=typeof t.autoClose==\"boolean\"?t.autoClose:!0,typeof this[rr]==\"number\"?this[Vf]():this[ZA]()}get fd(){return this[rr]}get path(){return this[$A]}write(){throw new TypeError(\"this is a readable stream\")}end(){throw new TypeError(\"this is a readable stream\")}[ZA](){Bs.open(this[$A],\"r\",(e,t)=>this[Zf](e,t))}[Zf](e,t){e?this[Xf](e):(this[rr]=t,this.emit(\"open\",t),this[Vf]())}[bF](){return Buffer.allocUnsafe(Math.min(this[N9],this[zB]))}[Vf](){if(!this[_A]){this[_A]=!0;let e=this[bF]();if(e.length===0)return process.nextTick(()=>this[BF](null,0,e));Bs.read(this[rr],e,0,e.length,null,(t,i,n)=>this[BF](t,i,n))}}[BF](e,t,i){this[_A]=!1,e?this[Xf](e):this[QF](t,i)&&this[Vf]()}[Xo](){this[_f]&&typeof this[rr]==\"number\"&&(Bs.close(this[rr],e=>this.emit(\"close\")),this[rr]=null)}[Xf](e){this[_A]=!0,this[Xo](),this.emit(\"error\",e)}[QF](e,t){let i=!1;return this[zB]-=e,e>0&&(i=super.write(e<t.length?t.slice(0,e):t)),(e===0||this[zB]<=0)&&(i=!1,this[Xo](),super.end()),i}emit(e,t){switch(e){case\"prefinish\":case\"finish\":break;case\"drain\":typeof this[rr]==\"number\"&&this[Vf]();break;default:return super.emit(e,t)}}},vF=class extends ZB{[ZA](){let e=!0;try{this[Zf](null,Bs.openSync(this[$A],\"r\")),e=!1}finally{e&&this[Xo]()}}[Vf](){let e=!0;try{if(!this[_A]){this[_A]=!0;do{let t=this[bF](),i=t.length===0?0:Bs.readSync(this[rr],t,0,t.length,null);if(!this[QF](i,t))break}while(!0);this[_A]=!1}e=!1}finally{e&&this[Xo]()}}[Xo](){if(this[_f]&&typeof this[rr]==\"number\"){try{Bs.closeSync(this[rr])}catch{}this[rr]=null,this.emit(\"close\")}}},$B=class extends mRe{constructor(e,t){t=t||{},super(t),this.readable=!1,this[zf]=!1,this[RC]=!1,this[WB]=!1,this[Vo]=[],this[$A]=e,this[rr]=typeof t.fd==\"number\"?t.fd:null,this[SF]=t.mode===void 0?438:t.mode,this[Rc]=typeof t.start==\"number\"?t.start:null,this[_f]=typeof t.autoClose==\"boolean\"?t.autoClose:!0;let i=this[Rc]!==null?\"r+\":\"w\";this[XB]=t.flags===void 0,this[Nc]=this[XB]?i:t.flags,this[rr]===null&&this[ZA]()}get fd(){return this[rr]}get path(){return this[$A]}[Xf](e){this[Xo](),this[zf]=!0,this.emit(\"error\",e)}[ZA](){Bs.open(this[$A],this[Nc],this[SF],(e,t)=>this[Zf](e,t))}[Zf](e,t){this[XB]&&this[Nc]===\"r+\"&&e&&e.code===\"ENOENT\"?(this[Nc]=\"w\",this[ZA]()):e?this[Xf](e):(this[rr]=t,this.emit(\"open\",t),this[wF]())}end(e,t){e&&this.write(e,t),this[RC]=!0,!this[zf]&&!this[Vo].length&&typeof this[rr]==\"number\"&&this[Fc](null,0)}write(e,t){return typeof e==\"string\"&&(e=new Buffer(e,t)),this[RC]?(this.emit(\"error\",new Error(\"write() after end()\")),!1):this[rr]===null||this[zf]||this[Vo].length?(this[Vo].push(e),this[WB]=!0,!1):(this[zf]=!0,this[VB](e),!0)}[VB](e){Bs.write(this[rr],e,0,e.length,this[Rc],(t,i)=>this[Fc](t,i))}[Fc](e,t){e?this[Xf](e):(this[Rc]!==null&&(this[Rc]+=t),this[Vo].length?this[wF]():(this[zf]=!1,this[RC]&&!this[F9]?(this[F9]=!0,this[Xo](),this.emit(\"finish\")):this[WB]&&(this[WB]=!1,this.emit(\"drain\"))))}[wF](){if(this[Vo].length===0)this[RC]&&this[Fc](null,0);else if(this[Vo].length===1)this[VB](this[Vo].pop());else{let e=this[Vo];this[Vo]=[],IRe(this[rr],e,this[Rc],(t,i)=>this[Fc](t,i))}}[Xo](){this[_f]&&typeof this[rr]==\"number\"&&(Bs.close(this[rr],e=>this.emit(\"close\")),this[rr]=null)}},xF=class extends $B{[ZA](){let e;try{e=Bs.openSync(this[$A],this[Nc],this[SF])}catch(t){if(this[XB]&&this[Nc]===\"r+\"&&t&&t.code===\"ENOENT\")return this[Nc]=\"w\",this[ZA]();throw t}this[Zf](null,e)}[Xo](){if(this[_f]&&typeof this[rr]==\"number\"){try{Bs.closeSync(this[rr])}catch{}this[rr]=null,this.emit(\"close\")}}[VB](e){try{this[Fc](null,Bs.writeSync(this[rr],e,0,e.length,this[Rc]))}catch(t){this[Fc](t,0)}}},IRe=(r,e,t,i)=>{let n=(o,a)=>i(o,a,e),s=new ERe;s.oncomplete=n,_B.writeBuffers(r,e,t,s)};FC.ReadStream=ZB;FC.ReadStreamSync=vF;FC.WriteStream=$B;FC.WriteStreamSync=xF});var TC=w((Hst,G9)=>{\"use strict\";var yRe=RB(),Kst=J(\"path\"),wRe=qf(),BRe=J(\"events\"),QRe=sd(),bRe=1024*1024,SRe=PC(),T9=kB(),vRe=VR(),PF=Buffer.from([31,139]),Qs=Symbol(\"state\"),Lc=Symbol(\"writeEntry\"),Ya=Symbol(\"readEntry\"),DF=Symbol(\"nextEntry\"),O9=Symbol(\"processEntry\"),bs=Symbol(\"extendedHeader\"),NC=Symbol(\"globalExtendedHeader\"),el=Symbol(\"meta\"),M9=Symbol(\"emitMeta\"),Er=Symbol(\"buffer\"),ja=Symbol(\"queue\"),Tc=Symbol(\"ended\"),K9=Symbol(\"emittedEnd\"),Oc=Symbol(\"emit\"),vn=Symbol(\"unzip\"),e0=Symbol(\"consumeChunk\"),t0=Symbol(\"consumeChunkSub\"),kF=Symbol(\"consumeBody\"),U9=Symbol(\"consumeMeta\"),H9=Symbol(\"consumeHeader\"),r0=Symbol(\"consuming\"),RF=Symbol(\"bufferConcat\"),FF=Symbol(\"maybeEnd\"),LC=Symbol(\"writing\"),tl=Symbol(\"aborted\"),i0=Symbol(\"onDone\"),Mc=Symbol(\"sawValidEntry\"),n0=Symbol(\"sawNullBlock\"),s0=Symbol(\"sawEOF\"),xRe=r=>!0;G9.exports=yRe(class extends BRe{constructor(e){e=e||{},super(e),this.file=e.file||\"\",this[Mc]=null,this.on(i0,t=>{(this[Qs]===\"begin\"||this[Mc]===!1)&&this.warn(\"TAR_BAD_ARCHIVE\",\"Unrecognized archive format\")}),e.ondone?this.on(i0,e.ondone):this.on(i0,t=>{this.emit(\"prefinish\"),this.emit(\"finish\"),this.emit(\"end\"),this.emit(\"close\")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||bRe,this.filter=typeof e.filter==\"function\"?e.filter:xRe,this.writable=!0,this.readable=!1,this[ja]=new QRe,this[Er]=null,this[Ya]=null,this[Lc]=null,this[Qs]=\"begin\",this[el]=\"\",this[bs]=null,this[NC]=null,this[Tc]=!1,this[vn]=null,this[tl]=!1,this[n0]=!1,this[s0]=!1,typeof e.onwarn==\"function\"&&this.on(\"warn\",e.onwarn),typeof e.onentry==\"function\"&&this.on(\"entry\",e.onentry)}[H9](e,t){this[Mc]===null&&(this[Mc]=!1);let i;try{i=new wRe(e,t,this[bs],this[NC])}catch(n){return this.warn(\"TAR_ENTRY_INVALID\",n)}if(i.nullBlock)this[n0]?(this[s0]=!0,this[Qs]===\"begin\"&&(this[Qs]=\"header\"),this[Oc](\"eof\")):(this[n0]=!0,this[Oc](\"nullBlock\"));else if(this[n0]=!1,!i.cksumValid)this.warn(\"TAR_ENTRY_INVALID\",\"checksum failure\",{header:i});else if(!i.path)this.warn(\"TAR_ENTRY_INVALID\",\"path is required\",{header:i});else{let n=i.type;if(/^(Symbolic)?Link$/.test(n)&&!i.linkpath)this.warn(\"TAR_ENTRY_INVALID\",\"linkpath required\",{header:i});else if(!/^(Symbolic)?Link$/.test(n)&&i.linkpath)this.warn(\"TAR_ENTRY_INVALID\",\"linkpath forbidden\",{header:i});else{let s=this[Lc]=new SRe(i,this[bs],this[NC]);if(!this[Mc])if(s.remain){let o=()=>{s.invalid||(this[Mc]=!0)};s.on(\"end\",o)}else this[Mc]=!0;s.meta?s.size>this.maxMetaEntrySize?(s.ignore=!0,this[Oc](\"ignoredEntry\",s),this[Qs]=\"ignore\",s.resume()):s.size>0&&(this[el]=\"\",s.on(\"data\",o=>this[el]+=o),this[Qs]=\"meta\"):(this[bs]=null,s.ignore=s.ignore||!this.filter(s.path,s),s.ignore?(this[Oc](\"ignoredEntry\",s),this[Qs]=s.remain?\"ignore\":\"header\",s.resume()):(s.remain?this[Qs]=\"body\":(this[Qs]=\"header\",s.end()),this[Ya]?this[ja].push(s):(this[ja].push(s),this[DF]())))}}}[O9](e){let t=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[Ya]=e,this.emit(\"entry\",e),e.emittedEnd||(e.on(\"end\",i=>this[DF]()),t=!1)):(this[Ya]=null,t=!1),t}[DF](){do;while(this[O9](this[ja].shift()));if(!this[ja].length){let e=this[Ya];!e||e.flowing||e.size===e.remain?this[LC]||this.emit(\"drain\"):e.once(\"drain\",i=>this.emit(\"drain\"))}}[kF](e,t){let i=this[Lc],n=i.blockRemain,s=n>=e.length&&t===0?e:e.slice(t,t+n);return i.write(s),i.blockRemain||(this[Qs]=\"header\",this[Lc]=null,i.end()),s.length}[U9](e,t){let i=this[Lc],n=this[kF](e,t);return this[Lc]||this[M9](i),n}[Oc](e,t,i){!this[ja].length&&!this[Ya]?this.emit(e,t,i):this[ja].push([e,t,i])}[M9](e){switch(this[Oc](\"meta\",this[el]),e.type){case\"ExtendedHeader\":case\"OldExtendedHeader\":this[bs]=T9.parse(this[el],this[bs],!1);break;case\"GlobalExtendedHeader\":this[NC]=T9.parse(this[el],this[NC],!0);break;case\"NextFileHasLongPath\":case\"OldGnuLongPath\":this[bs]=this[bs]||Object.create(null),this[bs].path=this[el].replace(/\\0.*/,\"\");break;case\"NextFileHasLongLinkpath\":this[bs]=this[bs]||Object.create(null),this[bs].linkpath=this[el].replace(/\\0.*/,\"\");break;default:throw new Error(\"unknown meta: \"+e.type)}}abort(e){this[tl]=!0,this.emit(\"abort\",e),this.warn(\"TAR_ABORT\",e,{recoverable:!1})}write(e){if(this[tl])return;if(this[vn]===null&&e){if(this[Er]&&(e=Buffer.concat([this[Er],e]),this[Er]=null),e.length<PF.length)return this[Er]=e,!0;for(let i=0;this[vn]===null&&i<PF.length;i++)e[i]!==PF[i]&&(this[vn]=!1);if(this[vn]===null){let i=this[Tc];this[Tc]=!1,this[vn]=new vRe.Unzip,this[vn].on(\"data\",s=>this[e0](s)),this[vn].on(\"error\",s=>this.abort(s)),this[vn].on(\"end\",s=>{this[Tc]=!0,this[e0]()}),this[LC]=!0;let n=this[vn][i?\"end\":\"write\"](e);return this[LC]=!1,n}}this[LC]=!0,this[vn]?this[vn].write(e):this[e0](e),this[LC]=!1;let t=this[ja].length?!1:this[Ya]?this[Ya].flowing:!0;return!t&&!this[ja].length&&this[Ya].once(\"drain\",i=>this.emit(\"drain\")),t}[RF](e){e&&!this[tl]&&(this[Er]=this[Er]?Buffer.concat([this[Er],e]):e)}[FF](){if(this[Tc]&&!this[K9]&&!this[tl]&&!this[r0]){this[K9]=!0;let e=this[Lc];if(e&&e.blockRemain){let t=this[Er]?this[Er].length:0;this.warn(\"TAR_BAD_ARCHIVE\",`Truncated input (needed ${e.blockRemain} more bytes, only ${t} available)`,{entry:e}),this[Er]&&e.write(this[Er]),e.end()}this[Oc](i0)}}[e0](e){if(this[r0])this[RF](e);else if(!e&&!this[Er])this[FF]();else{if(this[r0]=!0,this[Er]){this[RF](e);let t=this[Er];this[Er]=null,this[t0](t)}else this[t0](e);for(;this[Er]&&this[Er].length>=512&&!this[tl]&&!this[s0];){let t=this[Er];this[Er]=null,this[t0](t)}this[r0]=!1}(!this[Er]||this[Tc])&&this[FF]()}[t0](e){let t=0,i=e.length;for(;t+512<=i&&!this[tl]&&!this[s0];)switch(this[Qs]){case\"begin\":case\"header\":this[H9](e,t),t+=512;break;case\"ignore\":case\"body\":t+=this[kF](e,t);break;case\"meta\":t+=this[U9](e,t);break;default:throw new Error(\"invalid state: \"+this[Qs])}t<i&&(this[Er]?this[Er]=Buffer.concat([e.slice(t),this[Er]]):this[Er]=e.slice(t))}end(e){this[tl]||(this[vn]?this[vn].end(e):(this[Tc]=!0,this.write(e)))}})});var o0=w((Yst,J9)=>{\"use strict\";var PRe=Uf(),j9=TC(),eh=J(\"fs\"),DRe=$f(),Y9=J(\"path\"),Gst=J9.exports=(r,e,t)=>{typeof r==\"function\"?(t=r,e=null,r={}):Array.isArray(r)&&(e=r,r={}),typeof e==\"function\"&&(t=e,e=null),e?e=Array.from(e):e=[];let i=PRe(r);if(i.sync&&typeof t==\"function\")throw new TypeError(\"callback not supported for sync tar functions\");if(!i.file&&typeof t==\"function\")throw new TypeError(\"callback only supported with file option\");return e.length&&RRe(i,e),i.noResume||kRe(i),i.file&&i.sync?FRe(i):i.file?NRe(i,t):q9(i)},kRe=r=>{let e=r.onentry;r.onentry=e?t=>{e(t),t.resume()}:t=>t.resume()},RRe=(r,e)=>{let t=new Map(e.map(s=>[s.replace(/\\/+$/,\"\"),!0])),i=r.filter,n=(s,o)=>{let a=o||Y9.parse(s).root||\".\",l=s===a?!1:t.has(s)?t.get(s):n(Y9.dirname(s),a);return t.set(s,l),l};r.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\\/+$/,\"\")):s=>n(s.replace(/\\/+$/,\"\"))},FRe=r=>{let e=q9(r),t=r.file,i=!0,n;try{let s=eh.statSync(t),o=r.maxReadSize||16*1024*1024;if(s.size<o)e.end(eh.readFileSync(t));else{let a=0,l=Buffer.allocUnsafe(o);for(n=eh.openSync(t,\"r\");a<s.size;){let c=eh.readSync(n,l,0,o,a);a+=c,e.write(l.slice(0,c))}e.end()}i=!1}finally{if(i&&n)try{eh.closeSync(n)}catch{}}},NRe=(r,e)=>{let t=new j9(r),i=r.maxReadSize||16*1024*1024,n=r.file,s=new Promise((o,a)=>{t.on(\"error\",a),t.on(\"end\",o),eh.stat(n,(l,c)=>{if(l)a(l);else{let u=new DRe.ReadStream(n,{readSize:i,size:c.size});u.on(\"error\",a),u.pipe(t)}})});return e?s.then(e,e):s},q9=r=>new j9(r)});var Z9=w((Jst,_9)=>{\"use strict\";var LRe=Uf(),a0=JB(),jst=J(\"fs\"),W9=$f(),z9=o0(),V9=J(\"path\"),qst=_9.exports=(r,e,t)=>{if(typeof e==\"function\"&&(t=e),Array.isArray(r)&&(e=r,r={}),!e||!Array.isArray(e)||!e.length)throw new TypeError(\"no files or directories specified\");e=Array.from(e);let i=LRe(r);if(i.sync&&typeof t==\"function\")throw new TypeError(\"callback not supported for sync tar functions\");if(!i.file&&typeof t==\"function\")throw new TypeError(\"callback only supported with file option\");return i.file&&i.sync?TRe(i,e):i.file?ORe(i,e,t):i.sync?MRe(i,e):KRe(i,e)},TRe=(r,e)=>{let t=new a0.Sync(r),i=new W9.WriteStreamSync(r.file,{mode:r.mode||438});t.pipe(i),X9(t,e)},ORe=(r,e,t)=>{let i=new a0(r),n=new W9.WriteStream(r.file,{mode:r.mode||438});i.pipe(n);let s=new Promise((o,a)=>{n.on(\"error\",a),n.on(\"close\",o),i.on(\"error\",a)});return NF(i,e),t?s.then(t,t):s},X9=(r,e)=>{e.forEach(t=>{t.charAt(0)===\"@\"?z9({file:V9.resolve(r.cwd,t.substr(1)),sync:!0,noResume:!0,onentry:i=>r.add(i)}):r.add(t)}),r.end()},NF=(r,e)=>{for(;e.length;){let t=e.shift();if(t.charAt(0)===\"@\")return z9({file:V9.resolve(r.cwd,t.substr(1)),noResume:!0,onentry:i=>r.add(i)}).then(i=>NF(r,e));r.add(t)}r.end()},MRe=(r,e)=>{let t=new a0.Sync(r);return X9(t,e),t},KRe=(r,e)=>{let t=new a0(r);return NF(t,e),t}});var LF=w((Vst,s7)=>{\"use strict\";var URe=Uf(),$9=JB(),Wst=TC(),Ss=J(\"fs\"),e7=$f(),t7=o0(),r7=J(\"path\"),i7=qf(),zst=s7.exports=(r,e,t)=>{let i=URe(r);if(!i.file)throw new TypeError(\"file is required\");if(i.gzip)throw new TypeError(\"cannot append to compressed archives\");if(!e||!Array.isArray(e)||!e.length)throw new TypeError(\"no files or directories specified\");return e=Array.from(e),i.sync?HRe(i,e):YRe(i,e,t)},HRe=(r,e)=>{let t=new $9.Sync(r),i=!0,n,s;try{try{n=Ss.openSync(r.file,\"r+\")}catch(l){if(l.code===\"ENOENT\")n=Ss.openSync(r.file,\"w+\");else throw l}let o=Ss.fstatSync(n),a=Buffer.alloc(512);e:for(s=0;s<o.size;s+=512){for(let u=0,g=0;u<512;u+=g){if(g=Ss.readSync(n,a,u,a.length-u,s+u),s===0&&a[0]===31&&a[1]===139)throw new Error(\"cannot append to compressed archives\");if(!g)break e}let l=new i7(a);if(!l.cksumValid)break;let c=512*Math.ceil(l.size/512);if(s+c+512>o.size)break;s+=c,r.mtimeCache&&r.mtimeCache.set(l.path,l.mtime)}i=!1,GRe(r,t,s,n,e)}finally{if(i)try{Ss.closeSync(n)}catch{}}},GRe=(r,e,t,i,n)=>{let s=new e7.WriteStreamSync(r.file,{fd:i,start:t});e.pipe(s),jRe(e,n)},YRe=(r,e,t)=>{e=Array.from(e);let i=new $9(r),n=(o,a,l)=>{let c=(p,C)=>{p?Ss.close(o,y=>l(p)):l(null,C)},u=0;if(a===0)return c(null,0);let g=0,f=Buffer.alloc(512),h=(p,C)=>{if(p)return c(p);if(g+=C,g<512&&C)return Ss.read(o,f,g,f.length-g,u+g,h);if(u===0&&f[0]===31&&f[1]===139)return c(new Error(\"cannot append to compressed archives\"));if(g<512)return c(null,u);let y=new i7(f);if(!y.cksumValid)return c(null,u);let B=512*Math.ceil(y.size/512);if(u+B+512>a||(u+=B+512,u>=a))return c(null,u);r.mtimeCache&&r.mtimeCache.set(y.path,y.mtime),g=0,Ss.read(o,f,0,512,u,h)};Ss.read(o,f,0,512,u,h)},s=new Promise((o,a)=>{i.on(\"error\",a);let l=\"r+\",c=(u,g)=>{if(u&&u.code===\"ENOENT\"&&l===\"r+\")return l=\"w+\",Ss.open(r.file,l,c);if(u)return a(u);Ss.fstat(g,(f,h)=>{if(f)return a(f);n(g,h.size,(p,C)=>{if(p)return a(p);let y=new e7.WriteStream(r.file,{fd:g,start:C});i.pipe(y),y.on(\"error\",a),y.on(\"close\",o),n7(i,e)})})};Ss.open(r.file,l,c)});return t?s.then(t,t):s},jRe=(r,e)=>{e.forEach(t=>{t.charAt(0)===\"@\"?t7({file:r7.resolve(r.cwd,t.substr(1)),sync:!0,noResume:!0,onentry:i=>r.add(i)}):r.add(t)}),r.end()},n7=(r,e)=>{for(;e.length;){let t=e.shift();if(t.charAt(0)===\"@\")return t7({file:r7.resolve(r.cwd,t.substr(1)),noResume:!0,onentry:i=>r.add(i)}).then(i=>n7(r,e));r.add(t)}r.end()}});var a7=w((_st,o7)=>{\"use strict\";var qRe=Uf(),JRe=LF(),Xst=o7.exports=(r,e,t)=>{let i=qRe(r);if(!i.file)throw new TypeError(\"file is required\");if(i.gzip)throw new TypeError(\"cannot append to compressed archives\");if(!e||!Array.isArray(e)||!e.length)throw new TypeError(\"no files or directories specified\");return e=Array.from(e),WRe(i),JRe(i,e,t)},WRe=r=>{let e=r.filter;r.mtimeCache||(r.mtimeCache=new Map),r.filter=e?(t,i)=>e(t,i)&&!(r.mtimeCache.get(t)>i.mtime):(t,i)=>!(r.mtimeCache.get(t)>i.mtime)}});var c7=w((Zst,l7)=>{var{promisify:A7}=J(\"util\"),rl=J(\"fs\"),zRe=r=>{if(!r)r={mode:511,fs:rl};else if(typeof r==\"object\")r={mode:511,fs:rl,...r};else if(typeof r==\"number\")r={mode:r,fs:rl};else if(typeof r==\"string\")r={mode:parseInt(r,8),fs:rl};else throw new TypeError(\"invalid options argument\");return r.mkdir=r.mkdir||r.fs.mkdir||rl.mkdir,r.mkdirAsync=A7(r.mkdir),r.stat=r.stat||r.fs.stat||rl.stat,r.statAsync=A7(r.stat),r.statSync=r.statSync||r.fs.statSync||rl.statSync,r.mkdirSync=r.mkdirSync||r.fs.mkdirSync||rl.mkdirSync,r};l7.exports=zRe});var g7=w(($st,u7)=>{var VRe=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform,{resolve:XRe,parse:_Re}=J(\"path\"),ZRe=r=>{if(/\\0/.test(r))throw Object.assign(new TypeError(\"path must be a string without null bytes\"),{path:r,code:\"ERR_INVALID_ARG_VALUE\"});if(r=XRe(r),VRe===\"win32\"){let e=/[*|\"<>?:]/,{root:t}=_Re(r);if(e.test(r.substr(t.length)))throw Object.assign(new Error(\"Illegal characters in path.\"),{path:r,code:\"EINVAL\"})}return r};u7.exports=ZRe});var C7=w((eot,d7)=>{var{dirname:f7}=J(\"path\"),h7=(r,e,t=void 0)=>t===e?Promise.resolve():r.statAsync(e).then(i=>i.isDirectory()?t:void 0,i=>i.code===\"ENOENT\"?h7(r,f7(e),e):void 0),p7=(r,e,t=void 0)=>{if(t!==e)try{return r.statSync(e).isDirectory()?t:void 0}catch(i){return i.code===\"ENOENT\"?p7(r,f7(e),e):void 0}};d7.exports={findMade:h7,findMadeSync:p7}});var MF=w((tot,E7)=>{var{dirname:m7}=J(\"path\"),TF=(r,e,t)=>{e.recursive=!1;let i=m7(r);return i===r?e.mkdirAsync(r,e).catch(n=>{if(n.code!==\"EISDIR\")throw n}):e.mkdirAsync(r,e).then(()=>t||r,n=>{if(n.code===\"ENOENT\")return TF(i,e).then(s=>TF(r,e,s));if(n.code!==\"EEXIST\"&&n.code!==\"EROFS\")throw n;return e.statAsync(r).then(s=>{if(s.isDirectory())return t;throw n},()=>{throw n})})},OF=(r,e,t)=>{let i=m7(r);if(e.recursive=!1,i===r)try{return e.mkdirSync(r,e)}catch(n){if(n.code!==\"EISDIR\")throw n;return}try{return e.mkdirSync(r,e),t||r}catch(n){if(n.code===\"ENOENT\")return OF(r,e,OF(i,e,t));if(n.code!==\"EEXIST\"&&n.code!==\"EROFS\")throw n;try{if(!e.statSync(r).isDirectory())throw n}catch{throw n}}};E7.exports={mkdirpManual:TF,mkdirpManualSync:OF}});var w7=w((rot,y7)=>{var{dirname:I7}=J(\"path\"),{findMade:$Re,findMadeSync:eFe}=C7(),{mkdirpManual:tFe,mkdirpManualSync:rFe}=MF(),iFe=(r,e)=>(e.recursive=!0,I7(r)===r?e.mkdirAsync(r,e):$Re(e,r).then(i=>e.mkdirAsync(r,e).then(()=>i).catch(n=>{if(n.code===\"ENOENT\")return tFe(r,e);throw n}))),nFe=(r,e)=>{if(e.recursive=!0,I7(r)===r)return e.mkdirSync(r,e);let i=eFe(e,r);try{return e.mkdirSync(r,e),i}catch(n){if(n.code===\"ENOENT\")return rFe(r,e);throw n}};y7.exports={mkdirpNative:iFe,mkdirpNativeSync:nFe}});var S7=w((iot,b7)=>{var B7=J(\"fs\"),sFe=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version,KF=sFe.replace(/^v/,\"\").split(\".\"),Q7=+KF[0]>10||+KF[0]==10&&+KF[1]>=12,oFe=Q7?r=>r.mkdir===B7.mkdir:()=>!1,aFe=Q7?r=>r.mkdirSync===B7.mkdirSync:()=>!1;b7.exports={useNative:oFe,useNativeSync:aFe}});var R7=w((not,k7)=>{var th=c7(),rh=g7(),{mkdirpNative:v7,mkdirpNativeSync:x7}=w7(),{mkdirpManual:P7,mkdirpManualSync:D7}=MF(),{useNative:AFe,useNativeSync:lFe}=S7(),ih=(r,e)=>(r=rh(r),e=th(e),AFe(e)?v7(r,e):P7(r,e)),cFe=(r,e)=>(r=rh(r),e=th(e),lFe(e)?x7(r,e):D7(r,e));ih.sync=cFe;ih.native=(r,e)=>v7(rh(r),th(e));ih.manual=(r,e)=>P7(rh(r),th(e));ih.nativeSync=(r,e)=>x7(rh(r),th(e));ih.manualSync=(r,e)=>D7(rh(r),th(e));k7.exports=ih});var K7=w((sot,M7)=>{\"use strict\";var vs=J(\"fs\"),Kc=J(\"path\"),uFe=vs.lchown?\"lchown\":\"chown\",gFe=vs.lchownSync?\"lchownSync\":\"chownSync\",N7=vs.lchown&&!process.version.match(/v1[1-9]+\\./)&&!process.version.match(/v10\\.[6-9]/),F7=(r,e,t)=>{try{return vs[gFe](r,e,t)}catch(i){if(i.code!==\"ENOENT\")throw i}},fFe=(r,e,t)=>{try{return vs.chownSync(r,e,t)}catch(i){if(i.code!==\"ENOENT\")throw i}},hFe=N7?(r,e,t,i)=>n=>{!n||n.code!==\"EISDIR\"?i(n):vs.chown(r,e,t,i)}:(r,e,t,i)=>i,UF=N7?(r,e,t)=>{try{return F7(r,e,t)}catch(i){if(i.code!==\"EISDIR\")throw i;fFe(r,e,t)}}:(r,e,t)=>F7(r,e,t),pFe=process.version,L7=(r,e,t)=>vs.readdir(r,e,t),dFe=(r,e)=>vs.readdirSync(r,e);/^v4\\./.test(pFe)&&(L7=(r,e,t)=>vs.readdir(r,t));var A0=(r,e,t,i)=>{vs[uFe](r,e,t,hFe(r,e,t,n=>{i(n&&n.code!==\"ENOENT\"?n:null)}))},T7=(r,e,t,i,n)=>{if(typeof e==\"string\")return vs.lstat(Kc.resolve(r,e),(s,o)=>{if(s)return n(s.code!==\"ENOENT\"?s:null);o.name=e,T7(r,o,t,i,n)});if(e.isDirectory())HF(Kc.resolve(r,e.name),t,i,s=>{if(s)return n(s);let o=Kc.resolve(r,e.name);A0(o,t,i,n)});else{let s=Kc.resolve(r,e.name);A0(s,t,i,n)}},HF=(r,e,t,i)=>{L7(r,{withFileTypes:!0},(n,s)=>{if(n){if(n.code===\"ENOENT\")return i();if(n.code!==\"ENOTDIR\"&&n.code!==\"ENOTSUP\")return i(n)}if(n||!s.length)return A0(r,e,t,i);let o=s.length,a=null,l=c=>{if(!a){if(c)return i(a=c);if(--o===0)return A0(r,e,t,i)}};s.forEach(c=>T7(r,c,e,t,l))})},CFe=(r,e,t,i)=>{if(typeof e==\"string\")try{let n=vs.lstatSync(Kc.resolve(r,e));n.name=e,e=n}catch(n){if(n.code===\"ENOENT\")return;throw n}e.isDirectory()&&O7(Kc.resolve(r,e.name),t,i),UF(Kc.resolve(r,e.name),t,i)},O7=(r,e,t)=>{let i;try{i=dFe(r,{withFileTypes:!0})}catch(n){if(n.code===\"ENOENT\")return;if(n.code===\"ENOTDIR\"||n.code===\"ENOTSUP\")return UF(r,e,t);throw n}return i&&i.length&&i.forEach(n=>CFe(r,n,e,t)),UF(r,e,t)};M7.exports=HF;HF.sync=O7});var Y7=w((Aot,GF)=>{\"use strict\";var U7=R7(),xs=J(\"fs\"),l0=J(\"path\"),H7=K7(),c0=class extends Error{constructor(e,t){super(\"Cannot extract through symbolic link\"),this.path=t,this.symlink=e}get name(){return\"SylinkError\"}},nh=class extends Error{constructor(e,t){super(t+\": Cannot cd into '\"+e+\"'\"),this.path=e,this.code=t}get name(){return\"CwdError\"}},oot=GF.exports=(r,e,t)=>{let i=e.umask,n=e.mode|448,s=(n&i)!==0,o=e.uid,a=e.gid,l=typeof o==\"number\"&&typeof a==\"number\"&&(o!==e.processUid||a!==e.processGid),c=e.preserve,u=e.unlink,g=e.cache,f=e.cwd,h=(y,B)=>{y?t(y):(g.set(r,!0),B&&l?H7(B,o,a,v=>h(v)):s?xs.chmod(r,n,t):t())};if(g&&g.get(r)===!0)return h();if(r===f)return xs.stat(r,(y,B)=>{(y||!B.isDirectory())&&(y=new nh(r,y&&y.code||\"ENOTDIR\")),h(y)});if(c)return U7(r,{mode:n}).then(y=>h(null,y),h);let C=l0.relative(f,r).split(/\\/|\\\\/);u0(f,C,n,g,u,f,null,h)},u0=(r,e,t,i,n,s,o,a)=>{if(!e.length)return a(null,o);let l=e.shift(),c=r+\"/\"+l;if(i.get(c))return u0(c,e,t,i,n,s,o,a);xs.mkdir(c,t,G7(c,e,t,i,n,s,o,a))},G7=(r,e,t,i,n,s,o,a)=>l=>{if(l){if(l.path&&l0.dirname(l.path)===s&&(l.code===\"ENOTDIR\"||l.code===\"ENOENT\"))return a(new nh(s,l.code));xs.lstat(r,(c,u)=>{if(c)a(c);else if(u.isDirectory())u0(r,e,t,i,n,s,o,a);else if(n)xs.unlink(r,g=>{if(g)return a(g);xs.mkdir(r,t,G7(r,e,t,i,n,s,o,a))});else{if(u.isSymbolicLink())return a(new c0(r,r+\"/\"+e.join(\"/\")));a(l)}})}else o=o||r,u0(r,e,t,i,n,s,o,a)},aot=GF.exports.sync=(r,e)=>{let t=e.umask,i=e.mode|448,n=(i&t)!==0,s=e.uid,o=e.gid,a=typeof s==\"number\"&&typeof o==\"number\"&&(s!==e.processUid||o!==e.processGid),l=e.preserve,c=e.unlink,u=e.cache,g=e.cwd,f=y=>{u.set(r,!0),y&&a&&H7.sync(y,s,o),n&&xs.chmodSync(r,i)};if(u&&u.get(r)===!0)return f();if(r===g){let y=!1,B=\"ENOTDIR\";try{y=xs.statSync(r).isDirectory()}catch(v){B=v.code}finally{if(!y)throw new nh(r,B)}f();return}if(l)return f(U7.sync(r,i));let p=l0.relative(g,r).split(/\\/|\\\\/),C=null;for(let y=p.shift(),B=g;y&&(B+=\"/\"+y);y=p.shift())if(!u.get(B))try{xs.mkdirSync(B,i),C=C||B,u.set(B,!0)}catch(v){if(v.path&&l0.dirname(v.path)===g&&(v.code===\"ENOTDIR\"||v.code===\"ENOENT\"))return new nh(g,v.code);let D=xs.lstatSync(B);if(D.isDirectory()){u.set(B,!0);continue}else if(c){xs.unlinkSync(B),xs.mkdirSync(B,i),C=C||B,u.set(B,!0);continue}else if(D.isSymbolicLink())return new c0(B,B+\"/\"+p.join(\"/\"))}return f(C)}});var J7=w((lot,q7)=>{var j7=J(\"assert\");q7.exports=()=>{let r=new Map,e=new Map,{join:t}=J(\"path\"),i=u=>t(u).split(/[\\\\\\/]/).slice(0,-1).reduce((g,f)=>g.length?g.concat(t(g[g.length-1],f)):[f],[]),n=new Set,s=u=>{let g=e.get(u);if(!g)throw new Error(\"function does not have any path reservations\");return{paths:g.paths.map(f=>r.get(f)),dirs:[...g.dirs].map(f=>r.get(f))}},o=u=>{let{paths:g,dirs:f}=s(u);return g.every(h=>h[0]===u)&&f.every(h=>h[0]instanceof Set&&h[0].has(u))},a=u=>n.has(u)||!o(u)?!1:(n.add(u),u(()=>l(u)),!0),l=u=>{if(!n.has(u))return!1;let{paths:g,dirs:f}=e.get(u),h=new Set;return g.forEach(p=>{let C=r.get(p);j7.equal(C[0],u),C.length===1?r.delete(p):(C.shift(),typeof C[0]==\"function\"?h.add(C[0]):C[0].forEach(y=>h.add(y)))}),f.forEach(p=>{let C=r.get(p);j7(C[0]instanceof Set),C[0].size===1&&C.length===1?r.delete(p):C[0].size===1?(C.shift(),h.add(C[0])):C[0].delete(u)}),n.delete(u),h.forEach(p=>a(p)),!0};return{check:o,reserve:(u,g)=>{let f=new Set(u.map(h=>i(h)).reduce((h,p)=>h.concat(p)));return e.set(g,{dirs:f,paths:u}),u.forEach(h=>{let p=r.get(h);p?p.push(g):r.set(h,[g])}),f.forEach(h=>{let p=r.get(h);p?p[p.length-1]instanceof Set?p[p.length-1].add(g):p.push(new Set([g])):r.set(h,[new Set([g])])}),a(g)}}}});var V7=w((cot,z7)=>{var mFe=process.env.__FAKE_PLATFORM__||process.platform,EFe=mFe===\"win32\",IFe=global.__FAKE_TESTING_FS__||J(\"fs\"),{O_CREAT:yFe,O_TRUNC:wFe,O_WRONLY:BFe,UV_FS_O_FILEMAP:W7=0}=IFe.constants,QFe=EFe&&!!W7,bFe=512*1024,SFe=W7|wFe|yFe|BFe;z7.exports=QFe?r=>r<bFe?SFe:\"w\":()=>\"w\"});var ZF=w((hot,aX)=>{\"use strict\";var vFe=J(\"assert\"),uot=J(\"events\").EventEmitter,xFe=TC(),Xt=J(\"fs\"),PFe=$f(),qa=J(\"path\"),_F=Y7(),got=_F.sync,X7=nF(),DFe=J7(),_7=Symbol(\"onEntry\"),qF=Symbol(\"checkFs\"),Z7=Symbol(\"checkFs2\"),JF=Symbol(\"isReusable\"),Ja=Symbol(\"makeFs\"),WF=Symbol(\"file\"),zF=Symbol(\"directory\"),h0=Symbol(\"link\"),$7=Symbol(\"symlink\"),eX=Symbol(\"hardlink\"),tX=Symbol(\"unsupported\"),fot=Symbol(\"unknown\"),rX=Symbol(\"checkPath\"),oh=Symbol(\"mkdir\"),sn=Symbol(\"onError\"),g0=Symbol(\"pending\"),iX=Symbol(\"pend\"),sh=Symbol(\"unpend\"),YF=Symbol(\"ended\"),jF=Symbol(\"maybeClose\"),VF=Symbol(\"skip\"),OC=Symbol(\"doChown\"),MC=Symbol(\"uid\"),KC=Symbol(\"gid\"),sX=J(\"crypto\"),oX=V7(),f0=()=>{throw new Error(\"sync function called cb somehow?!?\")},kFe=(r,e)=>{if(process.platform!==\"win32\")return Xt.unlink(r,e);let t=r+\".DELETE.\"+sX.randomBytes(16).toString(\"hex\");Xt.rename(r,t,i=>{if(i)return e(i);Xt.unlink(t,e)})},RFe=r=>{if(process.platform!==\"win32\")return Xt.unlinkSync(r);let e=r+\".DELETE.\"+sX.randomBytes(16).toString(\"hex\");Xt.renameSync(r,e),Xt.unlinkSync(e)},nX=(r,e,t)=>r===r>>>0?r:e===e>>>0?e:t,UC=class extends xFe{constructor(e){if(e||(e={}),e.ondone=t=>{this[YF]=!0,this[jF]()},super(e),this.reservations=DFe(),this.transform=typeof e.transform==\"function\"?e.transform:null,this.writable=!0,this.readable=!1,this[g0]=0,this[YF]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid==\"number\"||typeof e.gid==\"number\"){if(typeof e.uid!=\"number\"||typeof e.gid!=\"number\")throw new TypeError(\"cannot set owner without number uid and gid\");if(e.preserveOwner)throw new TypeError(\"cannot preserve owner in archive and also set owner explicitly\");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!=\"number\"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||process.platform===\"win32\",this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=qa.resolve(e.cwd||process.cwd()),this.strip=+e.strip||0,this.processUmask=process.umask(),this.umask=typeof e.umask==\"number\"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on(\"entry\",t=>this[_7](t))}warn(e,t,i={}){return(e===\"TAR_BAD_ARCHIVE\"||e===\"TAR_ABORT\")&&(i.recoverable=!1),super.warn(e,t,i)}[jF](){this[YF]&&this[g0]===0&&(this.emit(\"prefinish\"),this.emit(\"finish\"),this.emit(\"end\"),this.emit(\"close\"))}[rX](e){if(this.strip){let t=e.path.split(/\\/|\\\\/);if(t.length<this.strip)return!1;if(e.path=t.slice(this.strip).join(\"/\"),e.type===\"Link\"){let i=e.linkpath.split(/\\/|\\\\/);i.length>=this.strip&&(e.linkpath=i.slice(this.strip).join(\"/\"))}}if(!this.preservePaths){let t=e.path;if(t.match(/(^|\\/|\\\\)\\.\\.(\\\\|\\/|$)/))return this.warn(\"TAR_ENTRY_ERROR\",\"path contains '..'\",{entry:e,path:t}),!1;if(qa.win32.isAbsolute(t)){let i=qa.win32.parse(t);e.path=t.substr(i.root.length);let n=i.root;this.warn(\"TAR_ENTRY_INFO\",`stripping ${n} from absolute path`,{entry:e,path:t})}}if(this.win32){let t=qa.win32.parse(e.path);e.path=t.root===\"\"?X7.encode(e.path):t.root+X7.encode(e.path.substr(t.root.length))}return qa.isAbsolute(e.path)?e.absolute=e.path:e.absolute=qa.resolve(this.cwd,e.path),!0}[_7](e){if(!this[rX](e))return e.resume();switch(vFe.equal(typeof e.absolute,\"string\"),e.type){case\"Directory\":case\"GNUDumpDir\":e.mode&&(e.mode=e.mode|448);case\"File\":case\"OldFile\":case\"ContiguousFile\":case\"Link\":case\"SymbolicLink\":return this[qF](e);case\"CharacterDevice\":case\"BlockDevice\":case\"FIFO\":return this[tX](e)}}[sn](e,t){e.name===\"CwdError\"?this.emit(\"error\",e):(this.warn(\"TAR_ENTRY_ERROR\",e,{entry:t}),this[sh](),t.resume())}[oh](e,t,i){_F(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:t},i)}[OC](e){return this.forceChown||this.preserveOwner&&(typeof e.uid==\"number\"&&e.uid!==this.processUid||typeof e.gid==\"number\"&&e.gid!==this.processGid)||typeof this.uid==\"number\"&&this.uid!==this.processUid||typeof this.gid==\"number\"&&this.gid!==this.processGid}[MC](e){return nX(this.uid,e.uid,this.processUid)}[KC](e){return nX(this.gid,e.gid,this.processGid)}[WF](e,t){let i=e.mode&4095||this.fmode,n=new PFe.WriteStream(e.absolute,{flags:oX(e.size),mode:i,autoClose:!1});n.on(\"error\",l=>this[sn](l,e));let s=1,o=l=>{if(l)return this[sn](l,e);--s===0&&Xt.close(n.fd,c=>{t(),c?this[sn](c,e):this[sh]()})};n.on(\"finish\",l=>{let c=e.absolute,u=n.fd;if(e.mtime&&!this.noMtime){s++;let g=e.atime||new Date,f=e.mtime;Xt.futimes(u,g,f,h=>h?Xt.utimes(c,g,f,p=>o(p&&h)):o())}if(this[OC](e)){s++;let g=this[MC](e),f=this[KC](e);Xt.fchown(u,g,f,h=>h?Xt.chown(c,g,f,p=>o(p&&h)):o())}o()});let a=this.transform&&this.transform(e)||e;a!==e&&(a.on(\"error\",l=>this[sn](l,e)),e.pipe(a)),a.pipe(n)}[zF](e,t){let i=e.mode&4095||this.dmode;this[oh](e.absolute,i,n=>{if(n)return t(),this[sn](n,e);let s=1,o=a=>{--s===0&&(t(),this[sh](),e.resume())};e.mtime&&!this.noMtime&&(s++,Xt.utimes(e.absolute,e.atime||new Date,e.mtime,o)),this[OC](e)&&(s++,Xt.chown(e.absolute,this[MC](e),this[KC](e),o)),o()})}[tX](e){e.unsupported=!0,this.warn(\"TAR_ENTRY_UNSUPPORTED\",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[$7](e,t){this[h0](e,e.linkpath,\"symlink\",t)}[eX](e,t){this[h0](e,qa.resolve(this.cwd,e.linkpath),\"link\",t)}[iX](){this[g0]++}[sh](){this[g0]--,this[jF]()}[VF](e){this[sh](),e.resume()}[JF](e,t){return e.type===\"File\"&&!this.unlink&&t.isFile()&&t.nlink<=1&&process.platform!==\"win32\"}[qF](e){this[iX]();let t=[e.path];e.linkpath&&t.push(e.linkpath),this.reservations.reserve(t,i=>this[Z7](e,i))}[Z7](e,t){this[oh](qa.dirname(e.absolute),this.dmode,i=>{if(i)return t(),this[sn](i,e);Xt.lstat(e.absolute,(n,s)=>{s&&(this.keep||this.newer&&s.mtime>e.mtime)?(this[VF](e),t()):n||this[JF](e,s)?this[Ja](null,e,t):s.isDirectory()?e.type===\"Directory\"?!e.mode||(s.mode&4095)===e.mode?this[Ja](null,e,t):Xt.chmod(e.absolute,e.mode,o=>this[Ja](o,e,t)):Xt.rmdir(e.absolute,o=>this[Ja](o,e,t)):kFe(e.absolute,o=>this[Ja](o,e,t))})})}[Ja](e,t,i){if(e)return this[sn](e,t);switch(t.type){case\"File\":case\"OldFile\":case\"ContiguousFile\":return this[WF](t,i);case\"Link\":return this[eX](t,i);case\"SymbolicLink\":return this[$7](t,i);case\"Directory\":case\"GNUDumpDir\":return this[zF](t,i)}}[h0](e,t,i,n){Xt[i](t,e.absolute,s=>{if(s)return this[sn](s,e);n(),this[sh](),e.resume()})}},XF=class extends UC{constructor(e){super(e)}[qF](e){let t=this[oh](qa.dirname(e.absolute),this.dmode,f0);if(t)return this[sn](t,e);try{let i=Xt.lstatSync(e.absolute);if(this.keep||this.newer&&i.mtime>e.mtime)return this[VF](e);if(this[JF](e,i))return this[Ja](null,e,f0);try{return i.isDirectory()?e.type===\"Directory\"?e.mode&&(i.mode&4095)!==e.mode&&Xt.chmodSync(e.absolute,e.mode):Xt.rmdirSync(e.absolute):RFe(e.absolute),this[Ja](null,e,f0)}catch(n){return this[sn](n,e)}}catch{return this[Ja](null,e,f0)}}[WF](e,t){let i=e.mode&4095||this.fmode,n=l=>{let c;try{Xt.closeSync(o)}catch(u){c=u}(l||c)&&this[sn](l||c,e)},s,o;try{o=Xt.openSync(e.absolute,oX(e.size),i)}catch(l){return n(l)}let a=this.transform&&this.transform(e)||e;a!==e&&(a.on(\"error\",l=>this[sn](l,e)),e.pipe(a)),a.on(\"data\",l=>{try{Xt.writeSync(o,l,0,l.length)}catch(c){n(c)}}),a.on(\"end\",l=>{let c=null;if(e.mtime&&!this.noMtime){let u=e.atime||new Date,g=e.mtime;try{Xt.futimesSync(o,u,g)}catch(f){try{Xt.utimesSync(e.absolute,u,g)}catch{c=f}}}if(this[OC](e)){let u=this[MC](e),g=this[KC](e);try{Xt.fchownSync(o,u,g)}catch(f){try{Xt.chownSync(e.absolute,u,g)}catch{c=c||f}}}n(c)})}[zF](e,t){let i=e.mode&4095||this.dmode,n=this[oh](e.absolute,i);if(n)return this[sn](n,e);if(e.mtime&&!this.noMtime)try{Xt.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch{}if(this[OC](e))try{Xt.chownSync(e.absolute,this[MC](e),this[KC](e))}catch{}e.resume()}[oh](e,t){try{return _F.sync(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:t})}catch(i){return i}}[h0](e,t,i,n){try{Xt[i+\"Sync\"](t,e.absolute),e.resume()}catch(s){return this[sn](s,e)}}};UC.Sync=XF;aX.exports=UC});var gX=w((dot,uX)=>{\"use strict\";var FFe=Uf(),p0=ZF(),lX=J(\"fs\"),cX=$f(),AX=J(\"path\"),pot=uX.exports=(r,e,t)=>{typeof r==\"function\"?(t=r,e=null,r={}):Array.isArray(r)&&(e=r,r={}),typeof e==\"function\"&&(t=e,e=null),e?e=Array.from(e):e=[];let i=FFe(r);if(i.sync&&typeof t==\"function\")throw new TypeError(\"callback not supported for sync tar functions\");if(!i.file&&typeof t==\"function\")throw new TypeError(\"callback only supported with file option\");return e.length&&NFe(i,e),i.file&&i.sync?LFe(i):i.file?TFe(i,t):i.sync?OFe(i):MFe(i)},NFe=(r,e)=>{let t=new Map(e.map(s=>[s.replace(/\\/+$/,\"\"),!0])),i=r.filter,n=(s,o)=>{let a=o||AX.parse(s).root||\".\",l=s===a?!1:t.has(s)?t.get(s):n(AX.dirname(s),a);return t.set(s,l),l};r.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\\/+$/,\"\")):s=>n(s.replace(/\\/+$/,\"\"))},LFe=r=>{let e=new p0.Sync(r),t=r.file,i=!0,n,s=lX.statSync(t),o=r.maxReadSize||16*1024*1024;new cX.ReadStreamSync(t,{readSize:o,size:s.size}).pipe(e)},TFe=(r,e)=>{let t=new p0(r),i=r.maxReadSize||16*1024*1024,n=r.file,s=new Promise((o,a)=>{t.on(\"error\",a),t.on(\"close\",o),lX.stat(n,(l,c)=>{if(l)a(l);else{let u=new cX.ReadStream(n,{readSize:i,size:c.size});u.on(\"error\",a),u.pipe(t)}})});return e?s.then(e,e):s},OFe=r=>new p0.Sync(r),MFe=r=>new p0(r)});var fX=w(ci=>{\"use strict\";ci.c=ci.create=Z9();ci.r=ci.replace=LF();ci.t=ci.list=o0();ci.u=ci.update=a7();ci.x=ci.extract=gX();ci.Pack=JB();ci.Unpack=ZF();ci.Parse=TC();ci.ReadEntry=PC();ci.WriteEntry=gF();ci.Header=qf();ci.Pax=kB();ci.types=xC()});var CX=w((Eot,dX)=>{var $F;dX.exports.getContent=()=>(typeof $F>\"u\"&&($F=J(\"zlib\").brotliDecompressSync(Buffer.from(\"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\",\"base64\")).toString()),$F)});var BX=w((eN,wX)=>{(function(r,e){typeof eN==\"object\"?wX.exports=e():typeof define==\"function\"&&define.amd?define(e):r.treeify=e()})(eN,function(){function r(n,s){var o=s?\"\\u2514\":\"\\u251C\";return n?o+=\"\\u2500 \":o+=\"\\u2500\\u2500\\u2510\",o}function e(n,s){var o=[];for(var a in n)!n.hasOwnProperty(a)||s&&typeof n[a]==\"function\"||o.push(a);return o}function t(n,s,o,a,l,c,u){var g=\"\",f=0,h,p,C=a.slice(0);if(C.push([s,o])&&a.length>0&&(a.forEach(function(B,v){v>0&&(g+=(B[1]?\" \":\"\\u2502\")+\"  \"),!p&&B[0]===s&&(p=!0)}),g+=r(n,o)+n,l&&(typeof s!=\"object\"||s instanceof Date)&&(g+=\": \"+s),p&&(g+=\" (circular ref.)\"),u(g)),!p&&typeof s==\"object\"){var y=e(s,c);y.forEach(function(B){h=++f===y.length,t(B,s[B],h,C,l,c,u)})}}var i={};return i.asLines=function(n,s,o,a){var l=typeof o!=\"function\"?o:!1;t(\".\",n,!1,[],s,l,a||o)},i.asTree=function(n,s,o){var a=\"\";return t(\".\",n,!1,[],s,o,function(l){a+=l+`\n`}),a},i})});var E0=w((Got,FX)=>{var rNe=ws(),iNe=tC(),nNe=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,sNe=/^\\w*$/;function oNe(r,e){if(rNe(r))return!1;var t=typeof r;return t==\"number\"||t==\"symbol\"||t==\"boolean\"||r==null||iNe(r)?!0:sNe.test(r)||!nNe.test(r)||e!=null&&r in Object(e)}FX.exports=oNe});var I0=w((Yot,NX)=>{var aNe=Ic(),ANe=bn(),lNe=\"[object AsyncFunction]\",cNe=\"[object Function]\",uNe=\"[object GeneratorFunction]\",gNe=\"[object Proxy]\";function fNe(r){if(!ANe(r))return!1;var e=aNe(r);return e==cNe||e==uNe||e==lNe||e==gNe}NX.exports=fNe});var TX=w((jot,LX)=>{var hNe=ds(),pNe=hNe[\"__core-js_shared__\"];LX.exports=pNe});var KX=w((qot,MX)=>{var AN=TX(),OX=function(){var r=/[^.]+$/.exec(AN&&AN.keys&&AN.keys.IE_PROTO||\"\");return r?\"Symbol(src)_1.\"+r:\"\"}();function dNe(r){return!!OX&&OX in r}MX.exports=dNe});var lN=w((Jot,UX)=>{var CNe=Function.prototype,mNe=CNe.toString;function ENe(r){if(r!=null){try{return mNe.call(r)}catch{}try{return r+\"\"}catch{}}return\"\"}UX.exports=ENe});var GX=w((Wot,HX)=>{var INe=I0(),yNe=KX(),wNe=bn(),BNe=lN(),QNe=/[\\\\^$.*+?()[\\]{}|]/g,bNe=/^\\[object .+?Constructor\\]$/,SNe=Function.prototype,vNe=Object.prototype,xNe=SNe.toString,PNe=vNe.hasOwnProperty,DNe=RegExp(\"^\"+xNe.call(PNe).replace(QNe,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");function kNe(r){if(!wNe(r)||yNe(r))return!1;var e=INe(r)?DNe:bNe;return e.test(BNe(r))}HX.exports=kNe});var jX=w((zot,YX)=>{function RNe(r,e){return r==null?void 0:r[e]}YX.exports=RNe});var nl=w((Vot,qX)=>{var FNe=GX(),NNe=jX();function LNe(r,e){var t=NNe(r,e);return FNe(t)?t:void 0}qX.exports=LNe});var GC=w((Xot,JX)=>{var TNe=nl(),ONe=TNe(Object,\"create\");JX.exports=ONe});var VX=w((_ot,zX)=>{var WX=GC();function MNe(){this.__data__=WX?WX(null):{},this.size=0}zX.exports=MNe});var _X=w((Zot,XX)=>{function KNe(r){var e=this.has(r)&&delete this.__data__[r];return this.size-=e?1:0,e}XX.exports=KNe});var $X=w(($ot,ZX)=>{var UNe=GC(),HNe=\"__lodash_hash_undefined__\",GNe=Object.prototype,YNe=GNe.hasOwnProperty;function jNe(r){var e=this.__data__;if(UNe){var t=e[r];return t===HNe?void 0:t}return YNe.call(e,r)?e[r]:void 0}ZX.exports=jNe});var t_=w((eat,e_)=>{var qNe=GC(),JNe=Object.prototype,WNe=JNe.hasOwnProperty;function zNe(r){var e=this.__data__;return qNe?e[r]!==void 0:WNe.call(e,r)}e_.exports=zNe});var i_=w((tat,r_)=>{var VNe=GC(),XNe=\"__lodash_hash_undefined__\";function _Ne(r,e){var t=this.__data__;return this.size+=this.has(r)?0:1,t[r]=VNe&&e===void 0?XNe:e,this}r_.exports=_Ne});var s_=w((rat,n_)=>{var ZNe=VX(),$Ne=_X(),eLe=$X(),tLe=t_(),rLe=i_();function ah(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}ah.prototype.clear=ZNe;ah.prototype.delete=$Ne;ah.prototype.get=eLe;ah.prototype.has=tLe;ah.prototype.set=rLe;n_.exports=ah});var a_=w((iat,o_)=>{function iLe(){this.__data__=[],this.size=0}o_.exports=iLe});var Ah=w((nat,A_)=>{function nLe(r,e){return r===e||r!==r&&e!==e}A_.exports=nLe});var YC=w((sat,l_)=>{var sLe=Ah();function oLe(r,e){for(var t=r.length;t--;)if(sLe(r[t][0],e))return t;return-1}l_.exports=oLe});var u_=w((oat,c_)=>{var aLe=YC(),ALe=Array.prototype,lLe=ALe.splice;function cLe(r){var e=this.__data__,t=aLe(e,r);if(t<0)return!1;var i=e.length-1;return t==i?e.pop():lLe.call(e,t,1),--this.size,!0}c_.exports=cLe});var f_=w((aat,g_)=>{var uLe=YC();function gLe(r){var e=this.__data__,t=uLe(e,r);return t<0?void 0:e[t][1]}g_.exports=gLe});var p_=w((Aat,h_)=>{var fLe=YC();function hLe(r){return fLe(this.__data__,r)>-1}h_.exports=hLe});var C_=w((lat,d_)=>{var pLe=YC();function dLe(r,e){var t=this.__data__,i=pLe(t,r);return i<0?(++this.size,t.push([r,e])):t[i][1]=e,this}d_.exports=dLe});var jC=w((cat,m_)=>{var CLe=a_(),mLe=u_(),ELe=f_(),ILe=p_(),yLe=C_();function lh(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}lh.prototype.clear=CLe;lh.prototype.delete=mLe;lh.prototype.get=ELe;lh.prototype.has=ILe;lh.prototype.set=yLe;m_.exports=lh});var y0=w((uat,E_)=>{var wLe=nl(),BLe=ds(),QLe=wLe(BLe,\"Map\");E_.exports=QLe});var w_=w((gat,y_)=>{var I_=s_(),bLe=jC(),SLe=y0();function vLe(){this.size=0,this.__data__={hash:new I_,map:new(SLe||bLe),string:new I_}}y_.exports=vLe});var Q_=w((fat,B_)=>{function xLe(r){var e=typeof r;return e==\"string\"||e==\"number\"||e==\"symbol\"||e==\"boolean\"?r!==\"__proto__\":r===null}B_.exports=xLe});var qC=w((hat,b_)=>{var PLe=Q_();function DLe(r,e){var t=r.__data__;return PLe(e)?t[typeof e==\"string\"?\"string\":\"hash\"]:t.map}b_.exports=DLe});var v_=w((pat,S_)=>{var kLe=qC();function RLe(r){var e=kLe(this,r).delete(r);return this.size-=e?1:0,e}S_.exports=RLe});var P_=w((dat,x_)=>{var FLe=qC();function NLe(r){return FLe(this,r).get(r)}x_.exports=NLe});var k_=w((Cat,D_)=>{var LLe=qC();function TLe(r){return LLe(this,r).has(r)}D_.exports=TLe});var F_=w((mat,R_)=>{var OLe=qC();function MLe(r,e){var t=OLe(this,r),i=t.size;return t.set(r,e),this.size+=t.size==i?0:1,this}R_.exports=MLe});var w0=w((Eat,N_)=>{var KLe=w_(),ULe=v_(),HLe=P_(),GLe=k_(),YLe=F_();function ch(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}ch.prototype.clear=KLe;ch.prototype.delete=ULe;ch.prototype.get=HLe;ch.prototype.has=GLe;ch.prototype.set=YLe;N_.exports=ch});var O_=w((Iat,T_)=>{var L_=w0(),jLe=\"Expected a function\";function cN(r,e){if(typeof r!=\"function\"||e!=null&&typeof e!=\"function\")throw new TypeError(jLe);var t=function(){var i=arguments,n=e?e.apply(this,i):i[0],s=t.cache;if(s.has(n))return s.get(n);var o=r.apply(this,i);return t.cache=s.set(n,o)||s,o};return t.cache=new(cN.Cache||L_),t}cN.Cache=L_;T_.exports=cN});var K_=w((yat,M_)=>{var qLe=O_(),JLe=500;function WLe(r){var e=qLe(r,function(i){return t.size===JLe&&t.clear(),i}),t=e.cache;return e}M_.exports=WLe});var H_=w((wat,U_)=>{var zLe=K_(),VLe=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,XLe=/\\\\(\\\\)?/g,_Le=zLe(function(r){var e=[];return r.charCodeAt(0)===46&&e.push(\"\"),r.replace(VLe,function(t,i,n,s){e.push(n?s.replace(XLe,\"$1\"):i||t)}),e});U_.exports=_Le});var uh=w((Bat,G_)=>{var ZLe=ws(),$Le=E0(),eTe=H_(),tTe=Kf();function rTe(r,e){return ZLe(r)?r:$Le(r,e)?[r]:eTe(tTe(r))}G_.exports=rTe});var Uc=w((Qat,Y_)=>{var iTe=tC(),nTe=1/0;function sTe(r){if(typeof r==\"string\"||iTe(r))return r;var e=r+\"\";return e==\"0\"&&1/r==-nTe?\"-0\":e}Y_.exports=sTe});var JC=w((bat,j_)=>{var oTe=uh(),aTe=Uc();function ATe(r,e){e=oTe(e,r);for(var t=0,i=e.length;r!=null&&t<i;)r=r[aTe(e[t++])];return t&&t==i?r:void 0}j_.exports=ATe});var uN=w((Sat,q_)=>{var lTe=nl(),cTe=function(){try{var r=lTe(Object,\"defineProperty\");return r({},\"\",{}),r}catch{}}();q_.exports=cTe});var gh=w((vat,W_)=>{var J_=uN();function uTe(r,e,t){e==\"__proto__\"&&J_?J_(r,e,{configurable:!0,enumerable:!0,value:t,writable:!0}):r[e]=t}W_.exports=uTe});var B0=w((xat,z_)=>{var gTe=gh(),fTe=Ah(),hTe=Object.prototype,pTe=hTe.hasOwnProperty;function dTe(r,e,t){var i=r[e];(!(pTe.call(r,e)&&fTe(i,t))||t===void 0&&!(e in r))&&gTe(r,e,t)}z_.exports=dTe});var WC=w((Pat,V_)=>{var CTe=9007199254740991,mTe=/^(?:0|[1-9]\\d*)$/;function ETe(r,e){var t=typeof r;return e=e==null?CTe:e,!!e&&(t==\"number\"||t!=\"symbol\"&&mTe.test(r))&&r>-1&&r%1==0&&r<e}V_.exports=ETe});var gN=w((Dat,__)=>{var ITe=B0(),yTe=uh(),wTe=WC(),X_=bn(),BTe=Uc();function QTe(r,e,t,i){if(!X_(r))return r;e=yTe(e,r);for(var n=-1,s=e.length,o=s-1,a=r;a!=null&&++n<s;){var l=BTe(e[n]),c=t;if(l===\"__proto__\"||l===\"constructor\"||l===\"prototype\")return r;if(n!=o){var u=a[l];c=i?i(u,l,a):void 0,c===void 0&&(c=X_(u)?u:wTe(e[n+1])?[]:{})}ITe(a,l,c),a=a[l]}return r}__.exports=QTe});var $_=w((kat,Z_)=>{var bTe=JC(),STe=gN(),vTe=uh();function xTe(r,e,t){for(var i=-1,n=e.length,s={};++i<n;){var o=e[i],a=bTe(r,o);t(a,o)&&STe(s,vTe(o,r),a)}return s}Z_.exports=xTe});var tZ=w((Rat,eZ)=>{function PTe(r,e){return r!=null&&e in Object(r)}eZ.exports=PTe});var iZ=w((Fat,rZ)=>{var DTe=Ic(),kTe=Go(),RTe=\"[object Arguments]\";function FTe(r){return kTe(r)&&DTe(r)==RTe}rZ.exports=FTe});var zC=w((Nat,oZ)=>{var nZ=iZ(),NTe=Go(),sZ=Object.prototype,LTe=sZ.hasOwnProperty,TTe=sZ.propertyIsEnumerable,OTe=nZ(function(){return arguments}())?nZ:function(r){return NTe(r)&&LTe.call(r,\"callee\")&&!TTe.call(r,\"callee\")};oZ.exports=OTe});var Q0=w((Lat,aZ)=>{var MTe=9007199254740991;function KTe(r){return typeof r==\"number\"&&r>-1&&r%1==0&&r<=MTe}aZ.exports=KTe});var fN=w((Tat,AZ)=>{var UTe=uh(),HTe=zC(),GTe=ws(),YTe=WC(),jTe=Q0(),qTe=Uc();function JTe(r,e,t){e=UTe(e,r);for(var i=-1,n=e.length,s=!1;++i<n;){var o=qTe(e[i]);if(!(s=r!=null&&t(r,o)))break;r=r[o]}return s||++i!=n?s:(n=r==null?0:r.length,!!n&&jTe(n)&&YTe(o,n)&&(GTe(r)||HTe(r)))}AZ.exports=JTe});var hN=w((Oat,lZ)=>{var WTe=tZ(),zTe=fN();function VTe(r,e){return r!=null&&zTe(r,e,WTe)}lZ.exports=VTe});var uZ=w((Mat,cZ)=>{var XTe=$_(),_Te=hN();function ZTe(r,e){return XTe(r,e,function(t,i){return _Te(r,i)})}cZ.exports=ZTe});var b0=w((Kat,gZ)=>{function $Te(r,e){for(var t=-1,i=e.length,n=r.length;++t<i;)r[n+t]=e[t];return r}gZ.exports=$Te});var dZ=w((Uat,pZ)=>{var fZ=Ec(),eOe=zC(),tOe=ws(),hZ=fZ?fZ.isConcatSpreadable:void 0;function rOe(r){return tOe(r)||eOe(r)||!!(hZ&&r&&r[hZ])}pZ.exports=rOe});var EZ=w((Hat,mZ)=>{var iOe=b0(),nOe=dZ();function CZ(r,e,t,i,n){var s=-1,o=r.length;for(t||(t=nOe),n||(n=[]);++s<o;){var a=r[s];e>0&&t(a)?e>1?CZ(a,e-1,t,i,n):iOe(n,a):i||(n[n.length]=a)}return n}mZ.exports=CZ});var yZ=w((Gat,IZ)=>{var sOe=EZ();function oOe(r){var e=r==null?0:r.length;return e?sOe(r,1):[]}IZ.exports=oOe});var BZ=w((Yat,wZ)=>{function aOe(r,e,t){switch(t.length){case 0:return r.call(e);case 1:return r.call(e,t[0]);case 2:return r.call(e,t[0],t[1]);case 3:return r.call(e,t[0],t[1],t[2])}return r.apply(e,t)}wZ.exports=aOe});var pN=w((jat,bZ)=>{var AOe=BZ(),QZ=Math.max;function lOe(r,e,t){return e=QZ(e===void 0?r.length-1:e,0),function(){for(var i=arguments,n=-1,s=QZ(i.length-e,0),o=Array(s);++n<s;)o[n]=i[e+n];n=-1;for(var a=Array(e+1);++n<e;)a[n]=i[n];return a[e]=t(o),AOe(r,this,a)}}bZ.exports=lOe});var vZ=w((qat,SZ)=>{function cOe(r){return function(){return r}}SZ.exports=cOe});var S0=w((Jat,xZ)=>{function uOe(r){return r}xZ.exports=uOe});var kZ=w((Wat,DZ)=>{var gOe=vZ(),PZ=uN(),fOe=S0(),hOe=PZ?function(r,e){return PZ(r,\"toString\",{configurable:!0,enumerable:!1,value:gOe(e),writable:!0})}:fOe;DZ.exports=hOe});var FZ=w((zat,RZ)=>{var pOe=800,dOe=16,COe=Date.now;function mOe(r){var e=0,t=0;return function(){var i=COe(),n=dOe-(i-t);if(t=i,n>0){if(++e>=pOe)return arguments[0]}else e=0;return r.apply(void 0,arguments)}}RZ.exports=mOe});var dN=w((Vat,NZ)=>{var EOe=kZ(),IOe=FZ(),yOe=IOe(EOe);NZ.exports=yOe});var TZ=w((Xat,LZ)=>{var wOe=yZ(),BOe=pN(),QOe=dN();function bOe(r){return QOe(BOe(r,void 0,wOe),r+\"\")}LZ.exports=bOe});var MZ=w((_at,OZ)=>{var SOe=uZ(),vOe=TZ(),xOe=vOe(function(r,e){return r==null?{}:SOe(r,e)});OZ.exports=xOe});var XZ=w((Ilt,VZ)=>{\"use strict\";var BN;try{BN=Map}catch{}var QN;try{QN=Set}catch{}function WZ(r,e,t){if(!r||typeof r!=\"object\"||typeof r==\"function\")return r;if(r.nodeType&&\"cloneNode\"in r)return r.cloneNode(!0);if(r instanceof Date)return new Date(r.getTime());if(r instanceof RegExp)return new RegExp(r);if(Array.isArray(r))return r.map(zZ);if(BN&&r instanceof BN)return new Map(Array.from(r.entries()));if(QN&&r instanceof QN)return new Set(Array.from(r.values()));if(r instanceof Object){e.push(r);var i=Object.create(r);t.push(i);for(var n in r){var s=e.findIndex(function(o){return o===r[n]});i[n]=s>-1?t[s]:WZ(r[n],e,t)}return i}return r}function zZ(r){return WZ(r,[],[])}VZ.exports=zZ});var XC=w(bN=>{\"use strict\";Object.defineProperty(bN,\"__esModule\",{value:!0});bN.default=YOe;var OOe=Object.prototype.toString,MOe=Error.prototype.toString,KOe=RegExp.prototype.toString,UOe=typeof Symbol<\"u\"?Symbol.prototype.toString:()=>\"\",HOe=/^Symbol\\((.*)\\)(.*)$/;function GOe(r){return r!=+r?\"NaN\":r===0&&1/r<0?\"-0\":\"\"+r}function _Z(r,e=!1){if(r==null||r===!0||r===!1)return\"\"+r;let t=typeof r;if(t===\"number\")return GOe(r);if(t===\"string\")return e?`\"${r}\"`:r;if(t===\"function\")return\"[Function \"+(r.name||\"anonymous\")+\"]\";if(t===\"symbol\")return UOe.call(r).replace(HOe,\"Symbol($1)\");let i=OOe.call(r).slice(8,-1);return i===\"Date\"?isNaN(r.getTime())?\"\"+r:r.toISOString(r):i===\"Error\"||r instanceof Error?\"[\"+MOe.call(r)+\"]\":i===\"RegExp\"?KOe.call(r):null}function YOe(r,e){let t=_Z(r,e);return t!==null?t:JSON.stringify(r,function(i,n){let s=_Z(this[i],e);return s!==null?s:n},2)}});var za=w(mi=>{\"use strict\";Object.defineProperty(mi,\"__esModule\",{value:!0});mi.default=mi.array=mi.object=mi.boolean=mi.date=mi.number=mi.string=mi.mixed=void 0;var ZZ=jOe(XC());function jOe(r){return r&&r.__esModule?r:{default:r}}var $Z={default:\"${path} is invalid\",required:\"${path} is a required field\",oneOf:\"${path} must be one of the following values: ${values}\",notOneOf:\"${path} must not be one of the following values: ${values}\",notType:({path:r,type:e,value:t,originalValue:i})=>{let n=i!=null&&i!==t,s=`${r} must be a \\`${e}\\` type, but the final value was: \\`${(0,ZZ.default)(t,!0)}\\``+(n?` (cast from the value \\`${(0,ZZ.default)(i,!0)}\\`).`:\".\");return t===null&&(s+='\\n If \"null\" is intended as an empty value be sure to mark the schema as `.nullable()`'),s},defined:\"${path} must be defined\"};mi.mixed=$Z;var e$={length:\"${path} must be exactly ${length} characters\",min:\"${path} must be at least ${min} characters\",max:\"${path} must be at most ${max} characters\",matches:'${path} must match the following: \"${regex}\"',email:\"${path} must be a valid email\",url:\"${path} must be a valid URL\",uuid:\"${path} must be a valid UUID\",trim:\"${path} must be a trimmed string\",lowercase:\"${path} must be a lowercase string\",uppercase:\"${path} must be a upper case string\"};mi.string=e$;var t$={min:\"${path} must be greater than or equal to ${min}\",max:\"${path} must be less than or equal to ${max}\",lessThan:\"${path} must be less than ${less}\",moreThan:\"${path} must be greater than ${more}\",positive:\"${path} must be a positive number\",negative:\"${path} must be a negative number\",integer:\"${path} must be an integer\"};mi.number=t$;var r$={min:\"${path} field must be later than ${min}\",max:\"${path} field must be at earlier than ${max}\"};mi.date=r$;var i$={isValue:\"${path} field must be ${value}\"};mi.boolean=i$;var n$={noUnknown:\"${path} field has unspecified keys: ${unknown}\"};mi.object=n$;var s$={min:\"${path} field must have at least ${min} items\",max:\"${path} field must have less than or equal to ${max} items\",length:\"${path} must be have ${length} items\"};mi.array=s$;var qOe=Object.assign(Object.create(null),{mixed:$Z,string:e$,number:t$,date:r$,object:n$,array:s$,boolean:i$});mi.default=qOe});var a$=w((Blt,o$)=>{var JOe=Object.prototype,WOe=JOe.hasOwnProperty;function zOe(r,e){return r!=null&&WOe.call(r,e)}o$.exports=zOe});var _C=w((Qlt,A$)=>{var VOe=a$(),XOe=fN();function _Oe(r,e){return r!=null&&XOe(r,e,VOe)}A$.exports=_Oe});var dh=w(F0=>{\"use strict\";Object.defineProperty(F0,\"__esModule\",{value:!0});F0.default=void 0;var ZOe=r=>r&&r.__isYupSchema__;F0.default=ZOe});var c$=w(N0=>{\"use strict\";Object.defineProperty(N0,\"__esModule\",{value:!0});N0.default=void 0;var $Oe=l$(_C()),eMe=l$(dh());function l$(r){return r&&r.__esModule?r:{default:r}}var SN=class{constructor(e,t){if(this.refs=e,this.refs=e,typeof t==\"function\"){this.fn=t;return}if(!(0,$Oe.default)(t,\"is\"))throw new TypeError(\"`is:` is required for `when()` conditions\");if(!t.then&&!t.otherwise)throw new TypeError(\"either `then:` or `otherwise:` is required for `when()` conditions\");let{is:i,then:n,otherwise:s}=t,o=typeof i==\"function\"?i:(...a)=>a.every(l=>l===i);this.fn=function(...a){let l=a.pop(),c=a.pop(),u=o(...a)?n:s;if(!!u)return typeof u==\"function\"?u(c):c.concat(u.resolve(l))}}resolve(e,t){let i=this.refs.map(s=>s.getValue(t==null?void 0:t.value,t==null?void 0:t.parent,t==null?void 0:t.context)),n=this.fn.apply(e,i.concat(e,t));if(n===void 0||n===e)return e;if(!(0,eMe.default)(n))throw new TypeError(\"conditions must return a schema object\");return n.resolve(t)}},tMe=SN;N0.default=tMe});var xN=w(vN=>{\"use strict\";Object.defineProperty(vN,\"__esModule\",{value:!0});vN.default=rMe;function rMe(r){return r==null?[]:[].concat(r)}});var Hc=w(L0=>{\"use strict\";Object.defineProperty(L0,\"__esModule\",{value:!0});L0.default=void 0;var iMe=u$(XC()),nMe=u$(xN());function u$(r){return r&&r.__esModule?r:{default:r}}function PN(){return PN=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r[i]=t[i])}return r},PN.apply(this,arguments)}var sMe=/\\$\\{\\s*(\\w+)\\s*\\}/g,Ch=class extends Error{static formatError(e,t){let i=t.label||t.path||\"this\";return i!==t.path&&(t=PN({},t,{path:i})),typeof e==\"string\"?e.replace(sMe,(n,s)=>(0,iMe.default)(t[s])):typeof e==\"function\"?e(t):e}static isError(e){return e&&e.name===\"ValidationError\"}constructor(e,t,i,n){super(),this.name=\"ValidationError\",this.value=t,this.path=i,this.type=n,this.errors=[],this.inner=[],(0,nMe.default)(e).forEach(s=>{Ch.isError(s)?(this.errors.push(...s.errors),this.inner=this.inner.concat(s.inner.length?s.inner:s)):this.errors.push(s)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,Ch)}};L0.default=Ch});var T0=w(kN=>{\"use strict\";Object.defineProperty(kN,\"__esModule\",{value:!0});kN.default=AMe;var DN=oMe(Hc());function oMe(r){return r&&r.__esModule?r:{default:r}}var aMe=r=>{let e=!1;return(...t)=>{e||(e=!0,r(...t))}};function AMe(r,e){let{endEarly:t,tests:i,args:n,value:s,errors:o,sort:a,path:l}=r,c=aMe(e),u=i.length,g=[];if(o=o||[],!u)return o.length?c(new DN.default(o,s,l)):c(null,s);for(let f=0;f<i.length;f++){let h=i[f];h(n,function(C){if(C){if(!DN.default.isError(C))return c(C,s);if(t)return C.value=s,c(C,s);g.push(C)}if(--u<=0){if(g.length&&(a&&g.sort(a),o.length&&g.push(...o),o=g),o.length){c(new DN.default(o,s,l),s);return}c(null,s)}})}}});var f$=w((Dlt,g$)=>{function lMe(r){return function(e,t,i){for(var n=-1,s=Object(e),o=i(e),a=o.length;a--;){var l=o[r?a:++n];if(t(s[l],l,s)===!1)break}return e}}g$.exports=lMe});var RN=w((klt,h$)=>{var cMe=f$(),uMe=cMe();h$.exports=uMe});var d$=w((Rlt,p$)=>{function gMe(r,e){for(var t=-1,i=Array(r);++t<r;)i[t]=e(t);return i}p$.exports=gMe});var m$=w((Flt,C$)=>{function fMe(){return!1}C$.exports=fMe});var $C=w((ZC,mh)=>{var hMe=ds(),pMe=m$(),y$=typeof ZC==\"object\"&&ZC&&!ZC.nodeType&&ZC,E$=y$&&typeof mh==\"object\"&&mh&&!mh.nodeType&&mh,dMe=E$&&E$.exports===y$,I$=dMe?hMe.Buffer:void 0,CMe=I$?I$.isBuffer:void 0,mMe=CMe||pMe;mh.exports=mMe});var B$=w((Nlt,w$)=>{var EMe=Ic(),IMe=Q0(),yMe=Go(),wMe=\"[object Arguments]\",BMe=\"[object Array]\",QMe=\"[object Boolean]\",bMe=\"[object Date]\",SMe=\"[object Error]\",vMe=\"[object Function]\",xMe=\"[object Map]\",PMe=\"[object Number]\",DMe=\"[object Object]\",kMe=\"[object RegExp]\",RMe=\"[object Set]\",FMe=\"[object String]\",NMe=\"[object WeakMap]\",LMe=\"[object ArrayBuffer]\",TMe=\"[object DataView]\",OMe=\"[object Float32Array]\",MMe=\"[object Float64Array]\",KMe=\"[object Int8Array]\",UMe=\"[object Int16Array]\",HMe=\"[object Int32Array]\",GMe=\"[object Uint8Array]\",YMe=\"[object Uint8ClampedArray]\",jMe=\"[object Uint16Array]\",qMe=\"[object Uint32Array]\",Ir={};Ir[OMe]=Ir[MMe]=Ir[KMe]=Ir[UMe]=Ir[HMe]=Ir[GMe]=Ir[YMe]=Ir[jMe]=Ir[qMe]=!0;Ir[wMe]=Ir[BMe]=Ir[LMe]=Ir[QMe]=Ir[TMe]=Ir[bMe]=Ir[SMe]=Ir[vMe]=Ir[xMe]=Ir[PMe]=Ir[DMe]=Ir[kMe]=Ir[RMe]=Ir[FMe]=Ir[NMe]=!1;function JMe(r){return yMe(r)&&IMe(r.length)&&!!Ir[EMe(r)]}w$.exports=JMe});var O0=w((Llt,Q$)=>{function WMe(r){return function(e){return r(e)}}Q$.exports=WMe});var M0=w((em,Eh)=>{var zMe=kD(),b$=typeof em==\"object\"&&em&&!em.nodeType&&em,tm=b$&&typeof Eh==\"object\"&&Eh&&!Eh.nodeType&&Eh,VMe=tm&&tm.exports===b$,FN=VMe&&zMe.process,XMe=function(){try{var r=tm&&tm.require&&tm.require(\"util\").types;return r||FN&&FN.binding&&FN.binding(\"util\")}catch{}}();Eh.exports=XMe});var K0=w((Tlt,x$)=>{var _Me=B$(),ZMe=O0(),S$=M0(),v$=S$&&S$.isTypedArray,$Me=v$?ZMe(v$):_Me;x$.exports=$Me});var NN=w((Olt,P$)=>{var e1e=d$(),t1e=zC(),r1e=ws(),i1e=$C(),n1e=WC(),s1e=K0(),o1e=Object.prototype,a1e=o1e.hasOwnProperty;function A1e(r,e){var t=r1e(r),i=!t&&t1e(r),n=!t&&!i&&i1e(r),s=!t&&!i&&!n&&s1e(r),o=t||i||n||s,a=o?e1e(r.length,String):[],l=a.length;for(var c in r)(e||a1e.call(r,c))&&!(o&&(c==\"length\"||n&&(c==\"offset\"||c==\"parent\")||s&&(c==\"buffer\"||c==\"byteLength\"||c==\"byteOffset\")||n1e(c,l)))&&a.push(c);return a}P$.exports=A1e});var U0=w((Mlt,D$)=>{var l1e=Object.prototype;function c1e(r){var e=r&&r.constructor,t=typeof e==\"function\"&&e.prototype||l1e;return r===t}D$.exports=c1e});var LN=w((Klt,k$)=>{function u1e(r,e){return function(t){return r(e(t))}}k$.exports=u1e});var F$=w((Ult,R$)=>{var g1e=LN(),f1e=g1e(Object.keys,Object);R$.exports=f1e});var L$=w((Hlt,N$)=>{var h1e=U0(),p1e=F$(),d1e=Object.prototype,C1e=d1e.hasOwnProperty;function m1e(r){if(!h1e(r))return p1e(r);var e=[];for(var t in Object(r))C1e.call(r,t)&&t!=\"constructor\"&&e.push(t);return e}N$.exports=m1e});var rm=w((Glt,T$)=>{var E1e=I0(),I1e=Q0();function y1e(r){return r!=null&&I1e(r.length)&&!E1e(r)}T$.exports=y1e});var Ih=w((Ylt,O$)=>{var w1e=NN(),B1e=L$(),Q1e=rm();function b1e(r){return Q1e(r)?w1e(r):B1e(r)}O$.exports=b1e});var TN=w((jlt,M$)=>{var S1e=RN(),v1e=Ih();function x1e(r,e){return r&&S1e(r,e,v1e)}M$.exports=x1e});var U$=w((qlt,K$)=>{var P1e=jC();function D1e(){this.__data__=new P1e,this.size=0}K$.exports=D1e});var G$=w((Jlt,H$)=>{function k1e(r){var e=this.__data__,t=e.delete(r);return this.size=e.size,t}H$.exports=k1e});var j$=w((Wlt,Y$)=>{function R1e(r){return this.__data__.get(r)}Y$.exports=R1e});var J$=w((zlt,q$)=>{function F1e(r){return this.__data__.has(r)}q$.exports=F1e});var z$=w((Vlt,W$)=>{var N1e=jC(),L1e=y0(),T1e=w0(),O1e=200;function M1e(r,e){var t=this.__data__;if(t instanceof N1e){var i=t.__data__;if(!L1e||i.length<O1e-1)return i.push([r,e]),this.size=++t.size,this;t=this.__data__=new T1e(i)}return t.set(r,e),this.size=t.size,this}W$.exports=M1e});var im=w((Xlt,V$)=>{var K1e=jC(),U1e=U$(),H1e=G$(),G1e=j$(),Y1e=J$(),j1e=z$();function yh(r){var e=this.__data__=new K1e(r);this.size=e.size}yh.prototype.clear=U1e;yh.prototype.delete=H1e;yh.prototype.get=G1e;yh.prototype.has=Y1e;yh.prototype.set=j1e;V$.exports=yh});var _$=w((_lt,X$)=>{var q1e=\"__lodash_hash_undefined__\";function J1e(r){return this.__data__.set(r,q1e),this}X$.exports=J1e});var $$=w((Zlt,Z$)=>{function W1e(r){return this.__data__.has(r)}Z$.exports=W1e});var tee=w(($lt,eee)=>{var z1e=w0(),V1e=_$(),X1e=$$();function H0(r){var e=-1,t=r==null?0:r.length;for(this.__data__=new z1e;++e<t;)this.add(r[e])}H0.prototype.add=H0.prototype.push=V1e;H0.prototype.has=X1e;eee.exports=H0});var iee=w((ect,ree)=>{function _1e(r,e){for(var t=-1,i=r==null?0:r.length;++t<i;)if(e(r[t],t,r))return!0;return!1}ree.exports=_1e});var see=w((tct,nee)=>{function Z1e(r,e){return r.has(e)}nee.exports=Z1e});var ON=w((rct,oee)=>{var $1e=tee(),eKe=iee(),tKe=see(),rKe=1,iKe=2;function nKe(r,e,t,i,n,s){var o=t&rKe,a=r.length,l=e.length;if(a!=l&&!(o&&l>a))return!1;var c=s.get(r),u=s.get(e);if(c&&u)return c==e&&u==r;var g=-1,f=!0,h=t&iKe?new $1e:void 0;for(s.set(r,e),s.set(e,r);++g<a;){var p=r[g],C=e[g];if(i)var y=o?i(C,p,g,e,r,s):i(p,C,g,r,e,s);if(y!==void 0){if(y)continue;f=!1;break}if(h){if(!eKe(e,function(B,v){if(!tKe(h,v)&&(p===B||n(p,B,t,i,s)))return h.push(v)})){f=!1;break}}else if(!(p===C||n(p,C,t,i,s))){f=!1;break}}return s.delete(r),s.delete(e),f}oee.exports=nKe});var MN=w((ict,aee)=>{var sKe=ds(),oKe=sKe.Uint8Array;aee.exports=oKe});var lee=w((nct,Aee)=>{function aKe(r){var e=-1,t=Array(r.size);return r.forEach(function(i,n){t[++e]=[n,i]}),t}Aee.exports=aKe});var uee=w((sct,cee)=>{function AKe(r){var e=-1,t=Array(r.size);return r.forEach(function(i){t[++e]=i}),t}cee.exports=AKe});var dee=w((oct,pee)=>{var gee=Ec(),fee=MN(),lKe=Ah(),cKe=ON(),uKe=lee(),gKe=uee(),fKe=1,hKe=2,pKe=\"[object Boolean]\",dKe=\"[object Date]\",CKe=\"[object Error]\",mKe=\"[object Map]\",EKe=\"[object Number]\",IKe=\"[object RegExp]\",yKe=\"[object Set]\",wKe=\"[object String]\",BKe=\"[object Symbol]\",QKe=\"[object ArrayBuffer]\",bKe=\"[object DataView]\",hee=gee?gee.prototype:void 0,KN=hee?hee.valueOf:void 0;function SKe(r,e,t,i,n,s,o){switch(t){case bKe:if(r.byteLength!=e.byteLength||r.byteOffset!=e.byteOffset)return!1;r=r.buffer,e=e.buffer;case QKe:return!(r.byteLength!=e.byteLength||!s(new fee(r),new fee(e)));case pKe:case dKe:case EKe:return lKe(+r,+e);case CKe:return r.name==e.name&&r.message==e.message;case IKe:case wKe:return r==e+\"\";case mKe:var a=uKe;case yKe:var l=i&fKe;if(a||(a=gKe),r.size!=e.size&&!l)return!1;var c=o.get(r);if(c)return c==e;i|=hKe,o.set(r,e);var u=cKe(a(r),a(e),i,n,s,o);return o.delete(r),u;case BKe:if(KN)return KN.call(r)==KN.call(e)}return!1}pee.exports=SKe});var UN=w((act,Cee)=>{var vKe=b0(),xKe=ws();function PKe(r,e,t){var i=e(r);return xKe(r)?i:vKe(i,t(r))}Cee.exports=PKe});var Eee=w((Act,mee)=>{function DKe(r,e){for(var t=-1,i=r==null?0:r.length,n=0,s=[];++t<i;){var o=r[t];e(o,t,r)&&(s[n++]=o)}return s}mee.exports=DKe});var HN=w((lct,Iee)=>{function kKe(){return[]}Iee.exports=kKe});var G0=w((cct,wee)=>{var RKe=Eee(),FKe=HN(),NKe=Object.prototype,LKe=NKe.propertyIsEnumerable,yee=Object.getOwnPropertySymbols,TKe=yee?function(r){return r==null?[]:(r=Object(r),RKe(yee(r),function(e){return LKe.call(r,e)}))}:FKe;wee.exports=TKe});var GN=w((uct,Bee)=>{var OKe=UN(),MKe=G0(),KKe=Ih();function UKe(r){return OKe(r,KKe,MKe)}Bee.exports=UKe});var See=w((gct,bee)=>{var Qee=GN(),HKe=1,GKe=Object.prototype,YKe=GKe.hasOwnProperty;function jKe(r,e,t,i,n,s){var o=t&HKe,a=Qee(r),l=a.length,c=Qee(e),u=c.length;if(l!=u&&!o)return!1;for(var g=l;g--;){var f=a[g];if(!(o?f in e:YKe.call(e,f)))return!1}var h=s.get(r),p=s.get(e);if(h&&p)return h==e&&p==r;var C=!0;s.set(r,e),s.set(e,r);for(var y=o;++g<l;){f=a[g];var B=r[f],v=e[f];if(i)var D=o?i(v,B,f,e,r,s):i(B,v,f,r,e,s);if(!(D===void 0?B===v||n(B,v,t,i,s):D)){C=!1;break}y||(y=f==\"constructor\")}if(C&&!y){var L=r.constructor,H=e.constructor;L!=H&&\"constructor\"in r&&\"constructor\"in e&&!(typeof L==\"function\"&&L instanceof L&&typeof H==\"function\"&&H instanceof H)&&(C=!1)}return s.delete(r),s.delete(e),C}bee.exports=jKe});var xee=w((fct,vee)=>{var qKe=nl(),JKe=ds(),WKe=qKe(JKe,\"DataView\");vee.exports=WKe});var Dee=w((hct,Pee)=>{var zKe=nl(),VKe=ds(),XKe=zKe(VKe,\"Promise\");Pee.exports=XKe});var Ree=w((pct,kee)=>{var _Ke=nl(),ZKe=ds(),$Ke=_Ke(ZKe,\"Set\");kee.exports=$Ke});var Nee=w((dct,Fee)=>{var eUe=nl(),tUe=ds(),rUe=eUe(tUe,\"WeakMap\");Fee.exports=rUe});var nm=w((Cct,Hee)=>{var YN=xee(),jN=y0(),qN=Dee(),JN=Ree(),WN=Nee(),Uee=Ic(),wh=lN(),Lee=\"[object Map]\",iUe=\"[object Object]\",Tee=\"[object Promise]\",Oee=\"[object Set]\",Mee=\"[object WeakMap]\",Kee=\"[object DataView]\",nUe=wh(YN),sUe=wh(jN),oUe=wh(qN),aUe=wh(JN),AUe=wh(WN),Gc=Uee;(YN&&Gc(new YN(new ArrayBuffer(1)))!=Kee||jN&&Gc(new jN)!=Lee||qN&&Gc(qN.resolve())!=Tee||JN&&Gc(new JN)!=Oee||WN&&Gc(new WN)!=Mee)&&(Gc=function(r){var e=Uee(r),t=e==iUe?r.constructor:void 0,i=t?wh(t):\"\";if(i)switch(i){case nUe:return Kee;case sUe:return Lee;case oUe:return Tee;case aUe:return Oee;case AUe:return Mee}return e});Hee.exports=Gc});var Vee=w((mct,zee)=>{var zN=im(),lUe=ON(),cUe=dee(),uUe=See(),Gee=nm(),Yee=ws(),jee=$C(),gUe=K0(),fUe=1,qee=\"[object Arguments]\",Jee=\"[object Array]\",Y0=\"[object Object]\",hUe=Object.prototype,Wee=hUe.hasOwnProperty;function pUe(r,e,t,i,n,s){var o=Yee(r),a=Yee(e),l=o?Jee:Gee(r),c=a?Jee:Gee(e);l=l==qee?Y0:l,c=c==qee?Y0:c;var u=l==Y0,g=c==Y0,f=l==c;if(f&&jee(r)){if(!jee(e))return!1;o=!0,u=!1}if(f&&!u)return s||(s=new zN),o||gUe(r)?lUe(r,e,t,i,n,s):cUe(r,e,l,t,i,n,s);if(!(t&fUe)){var h=u&&Wee.call(r,\"__wrapped__\"),p=g&&Wee.call(e,\"__wrapped__\");if(h||p){var C=h?r.value():r,y=p?e.value():e;return s||(s=new zN),n(C,y,t,i,s)}}return f?(s||(s=new zN),uUe(r,e,t,i,n,s)):!1}zee.exports=pUe});var VN=w((Ect,Zee)=>{var dUe=Vee(),Xee=Go();function _ee(r,e,t,i,n){return r===e?!0:r==null||e==null||!Xee(r)&&!Xee(e)?r!==r&&e!==e:dUe(r,e,t,i,_ee,n)}Zee.exports=_ee});var ete=w((Ict,$ee)=>{var CUe=im(),mUe=VN(),EUe=1,IUe=2;function yUe(r,e,t,i){var n=t.length,s=n,o=!i;if(r==null)return!s;for(r=Object(r);n--;){var a=t[n];if(o&&a[2]?a[1]!==r[a[0]]:!(a[0]in r))return!1}for(;++n<s;){a=t[n];var l=a[0],c=r[l],u=a[1];if(o&&a[2]){if(c===void 0&&!(l in r))return!1}else{var g=new CUe;if(i)var f=i(c,u,l,r,e,g);if(!(f===void 0?mUe(u,c,EUe|IUe,i,g):f))return!1}}return!0}$ee.exports=yUe});var XN=w((yct,tte)=>{var wUe=bn();function BUe(r){return r===r&&!wUe(r)}tte.exports=BUe});var ite=w((wct,rte)=>{var QUe=XN(),bUe=Ih();function SUe(r){for(var e=bUe(r),t=e.length;t--;){var i=e[t],n=r[i];e[t]=[i,n,QUe(n)]}return e}rte.exports=SUe});var _N=w((Bct,nte)=>{function vUe(r,e){return function(t){return t==null?!1:t[r]===e&&(e!==void 0||r in Object(t))}}nte.exports=vUe});var ote=w((Qct,ste)=>{var xUe=ete(),PUe=ite(),DUe=_N();function kUe(r){var e=PUe(r);return e.length==1&&e[0][2]?DUe(e[0][0],e[0][1]):function(t){return t===r||xUe(t,r,e)}}ste.exports=kUe});var j0=w((bct,ate)=>{var RUe=JC();function FUe(r,e,t){var i=r==null?void 0:RUe(r,e);return i===void 0?t:i}ate.exports=FUe});var lte=w((Sct,Ate)=>{var NUe=VN(),LUe=j0(),TUe=hN(),OUe=E0(),MUe=XN(),KUe=_N(),UUe=Uc(),HUe=1,GUe=2;function YUe(r,e){return OUe(r)&&MUe(e)?KUe(UUe(r),e):function(t){var i=LUe(t,r);return i===void 0&&i===e?TUe(t,r):NUe(e,i,HUe|GUe)}}Ate.exports=YUe});var ute=w((vct,cte)=>{function jUe(r){return function(e){return e==null?void 0:e[r]}}cte.exports=jUe});var fte=w((xct,gte)=>{var qUe=JC();function JUe(r){return function(e){return qUe(e,r)}}gte.exports=JUe});var pte=w((Pct,hte)=>{var WUe=ute(),zUe=fte(),VUe=E0(),XUe=Uc();function _Ue(r){return VUe(r)?WUe(XUe(r)):zUe(r)}hte.exports=_Ue});var ZN=w((Dct,dte)=>{var ZUe=ote(),$Ue=lte(),e2e=S0(),t2e=ws(),r2e=pte();function i2e(r){return typeof r==\"function\"?r:r==null?e2e:typeof r==\"object\"?t2e(r)?$Ue(r[0],r[1]):ZUe(r):r2e(r)}dte.exports=i2e});var $N=w((kct,Cte)=>{var n2e=gh(),s2e=TN(),o2e=ZN();function a2e(r,e){var t={};return e=o2e(e,3),s2e(r,function(i,n,s){n2e(t,n,e(i,n,s))}),t}Cte.exports=a2e});var sm=w((Rct,wte)=>{\"use strict\";function Yc(r){this._maxSize=r,this.clear()}Yc.prototype.clear=function(){this._size=0,this._values=Object.create(null)};Yc.prototype.get=function(r){return this._values[r]};Yc.prototype.set=function(r,e){return this._size>=this._maxSize&&this.clear(),r in this._values||this._size++,this._values[r]=e};var A2e=/[^.^\\]^[]+|(?=\\[\\]|\\.\\.)/g,yte=/^\\d+$/,l2e=/^\\d/,c2e=/[~`!#$%\\^&*+=\\-\\[\\]\\\\';,/{}|\\\\\":<>\\?]/g,u2e=/^\\s*(['\"]?)(.*?)(\\1)\\s*$/,rL=512,mte=new Yc(rL),Ete=new Yc(rL),Ite=new Yc(rL);wte.exports={Cache:Yc,split:tL,normalizePath:eL,setter:function(r){var e=eL(r);return Ete.get(r)||Ete.set(r,function(i,n){for(var s=0,o=e.length,a=i;s<o-1;){var l=e[s];if(l===\"__proto__\"||l===\"constructor\"||l===\"prototype\")return i;a=a[e[s++]]}a[e[s]]=n})},getter:function(r,e){var t=eL(r);return Ite.get(r)||Ite.set(r,function(n){for(var s=0,o=t.length;s<o;)if(n!=null||!e)n=n[t[s++]];else return;return n})},join:function(r){return r.reduce(function(e,t){return e+(iL(t)||yte.test(t)?\"[\"+t+\"]\":(e?\".\":\"\")+t)},\"\")},forEach:function(r,e,t){g2e(Array.isArray(r)?r:tL(r),e,t)}};function eL(r){return mte.get(r)||mte.set(r,tL(r).map(function(e){return e.replace(u2e,\"$2\")}))}function tL(r){return r.match(A2e)}function g2e(r,e,t){var i=r.length,n,s,o,a;for(s=0;s<i;s++)n=r[s],n&&(p2e(n)&&(n='\"'+n+'\"'),a=iL(n),o=!a&&/^\\d+$/.test(n),e.call(t,n,a,o,s,r))}function iL(r){return typeof r==\"string\"&&r&&[\"'\",'\"'].indexOf(r.charAt(0))!==-1}function f2e(r){return r.match(l2e)&&!r.match(yte)}function h2e(r){return c2e.test(r)}function p2e(r){return!iL(r)&&(f2e(r)||h2e(r))}});var jc=w(am=>{\"use strict\";Object.defineProperty(am,\"__esModule\",{value:!0});am.create=C2e;am.default=void 0;var d2e=sm(),q0={context:\"$\",value:\".\"};function C2e(r,e){return new om(r,e)}var om=class{constructor(e,t={}){if(typeof e!=\"string\")throw new TypeError(\"ref must be a string, got: \"+e);if(this.key=e.trim(),e===\"\")throw new TypeError(\"ref must be a non-empty string\");this.isContext=this.key[0]===q0.context,this.isValue=this.key[0]===q0.value,this.isSibling=!this.isContext&&!this.isValue;let i=this.isContext?q0.context:this.isValue?q0.value:\"\";this.path=this.key.slice(i.length),this.getter=this.path&&(0,d2e.getter)(this.path,!0),this.map=t.map}getValue(e,t,i){let n=this.isContext?i:this.isValue?e:t;return this.getter&&(n=this.getter(n||{})),this.map&&(n=this.map(n)),n}cast(e,t){return this.getValue(e,t==null?void 0:t.parent,t==null?void 0:t.context)}resolve(){return this}describe(){return{type:\"ref\",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}};am.default=om;om.prototype.__isYupRef=!0});var Bte=w(sL=>{\"use strict\";Object.defineProperty(sL,\"__esModule\",{value:!0});sL.default=y2e;var m2e=nL($N()),J0=nL(Hc()),E2e=nL(jc());function nL(r){return r&&r.__esModule?r:{default:r}}function W0(){return W0=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r[i]=t[i])}return r},W0.apply(this,arguments)}function I2e(r,e){if(r==null)return{};var t={},i=Object.keys(r),n,s;for(s=0;s<i.length;s++)n=i[s],!(e.indexOf(n)>=0)&&(t[n]=r[n]);return t}function y2e(r){function e(t,i){let{value:n,path:s=\"\",label:o,options:a,originalValue:l,sync:c}=t,u=I2e(t,[\"value\",\"path\",\"label\",\"options\",\"originalValue\",\"sync\"]),{name:g,test:f,params:h,message:p}=r,{parent:C,context:y}=a;function B(j){return E2e.default.isRef(j)?j.getValue(n,C,y):j}function v(j={}){let $=(0,m2e.default)(W0({value:n,originalValue:l,label:o,path:j.path||s},h,j.params),B),V=new J0.default(J0.default.formatError(j.message||p,$),n,$.path,j.type||g);return V.params=$,V}let D=W0({path:s,parent:C,type:g,createError:v,resolve:B,options:a,originalValue:l},u);if(!c){try{Promise.resolve(f.call(D,n,D)).then(j=>{J0.default.isError(j)?i(j):j?i(null,j):i(v())})}catch(j){i(j)}return}let L;try{var H;if(L=f.call(D,n,D),typeof((H=L)==null?void 0:H.then)==\"function\")throw new Error(`Validation test of type: \"${D.type}\" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(j){i(j);return}J0.default.isError(L)?i(L):L?i(null,L):i(v())}return e.OPTIONS=r,e}});var oL=w(Am=>{\"use strict\";Object.defineProperty(Am,\"__esModule\",{value:!0});Am.getIn=Qte;Am.default=void 0;var w2e=sm(),B2e=r=>r.substr(0,r.length-1).substr(1);function Qte(r,e,t,i=t){let n,s,o;return e?((0,w2e.forEach)(e,(a,l,c)=>{let u=l?B2e(a):a;if(r=r.resolve({context:i,parent:n,value:t}),r.innerType){let g=c?parseInt(u,10):0;if(t&&g>=t.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${a}, in the path: ${e}. because there is no value at that index. `);n=t,t=t&&t[g],r=r.innerType}if(!c){if(!r.fields||!r.fields[u])throw new Error(`The schema does not contain the path: ${e}. (failed at: ${o} which is a type: \"${r._type}\")`);n=t,t=t&&t[u],r=r.fields[u]}s=u,o=l?\"[\"+a+\"]\":\".\"+a}),{schema:r,parent:n,parentPath:s}):{parent:n,parentPath:e,schema:r}}var Q2e=(r,e,t,i)=>Qte(r,e,t,i).schema,b2e=Q2e;Am.default=b2e});var Ste=w(z0=>{\"use strict\";Object.defineProperty(z0,\"__esModule\",{value:!0});z0.default=void 0;var bte=S2e(jc());function S2e(r){return r&&r.__esModule?r:{default:r}}var lm=class{constructor(){this.list=new Set,this.refs=new Map}get size(){return this.list.size+this.refs.size}describe(){let e=[];for(let t of this.list)e.push(t);for(let[,t]of this.refs)e.push(t.describe());return e}toArray(){return Array.from(this.list).concat(Array.from(this.refs.values()))}add(e){bte.default.isRef(e)?this.refs.set(e.key,e):this.list.add(e)}delete(e){bte.default.isRef(e)?this.refs.delete(e.key):this.list.delete(e)}has(e,t){if(this.list.has(e))return!0;let i,n=this.refs.values();for(;i=n.next(),!i.done;)if(t(i.value)===e)return!0;return!1}clone(){let e=new lm;return e.list=new Set(this.list),e.refs=new Map(this.refs),e}merge(e,t){let i=this.clone();return e.list.forEach(n=>i.add(n)),e.refs.forEach(n=>i.add(n)),t.list.forEach(n=>i.delete(n)),t.refs.forEach(n=>i.delete(n)),i}};z0.default=lm});var Xa=w(X0=>{\"use strict\";Object.defineProperty(X0,\"__esModule\",{value:!0});X0.default=void 0;var vte=Va(XZ()),Bh=za(),v2e=Va(c$()),xte=Va(T0()),V0=Va(Bte()),Pte=Va(XC()),x2e=Va(jc()),P2e=oL(),D2e=Va(xN()),Dte=Va(Hc()),kte=Va(Ste());function Va(r){return r&&r.__esModule?r:{default:r}}function Ps(){return Ps=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r[i]=t[i])}return r},Ps.apply(this,arguments)}var no=class{constructor(e){this.deps=[],this.conditions=[],this._whitelist=new kte.default,this._blacklist=new kte.default,this.exclusiveTests=Object.create(null),this.tests=[],this.transforms=[],this.withMutation(()=>{this.typeError(Bh.mixed.notType)}),this.type=(e==null?void 0:e.type)||\"mixed\",this.spec=Ps({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,presence:\"optional\"},e==null?void 0:e.spec)}get _type(){return this.type}_typeCheck(e){return!0}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;let t=Object.create(Object.getPrototypeOf(this));return t.type=this.type,t._typeError=this._typeError,t._whitelistError=this._whitelistError,t._blacklistError=this._blacklistError,t._whitelist=this._whitelist.clone(),t._blacklist=this._blacklist.clone(),t.exclusiveTests=Ps({},this.exclusiveTests),t.deps=[...this.deps],t.conditions=[...this.conditions],t.tests=[...this.tests],t.transforms=[...this.transforms],t.spec=(0,vte.default)(Ps({},this.spec,e)),t}label(e){var t=this.clone();return t.spec.label=e,t}meta(...e){if(e.length===0)return this.spec.meta;let t=this.clone();return t.spec.meta=Object.assign(t.spec.meta||{},e[0]),t}withMutation(e){let t=this._mutate;this._mutate=!0;let i=e(this);return this._mutate=t,i}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&this.type!==\"mixed\")throw new TypeError(`You cannot \\`concat()\\` schema's of different types: ${this.type} and ${e.type}`);let t=this,i=e.clone(),n=Ps({},t.spec,i.spec);return i.spec=n,i._typeError||(i._typeError=t._typeError),i._whitelistError||(i._whitelistError=t._whitelistError),i._blacklistError||(i._blacklistError=t._blacklistError),i._whitelist=t._whitelist.merge(e._whitelist,e._blacklist),i._blacklist=t._blacklist.merge(e._blacklist,e._whitelist),i.tests=t.tests,i.exclusiveTests=t.exclusiveTests,i.withMutation(s=>{e.tests.forEach(o=>{s.test(o.OPTIONS)})}),i}isType(e){return this.spec.nullable&&e===null?!0:this._typeCheck(e)}resolve(e){let t=this;if(t.conditions.length){let i=t.conditions;t=t.clone(),t.conditions=[],t=i.reduce((n,s)=>s.resolve(n,e),t),t=t.resolve(e)}return t}cast(e,t={}){let i=this.resolve(Ps({value:e},t)),n=i._cast(e,t);if(e!==void 0&&t.assert!==!1&&i.isType(n)!==!0){let s=(0,Pte.default)(e),o=(0,Pte.default)(n);throw new TypeError(`The value of ${t.path||\"field\"} could not be cast to a value that satisfies the schema type: \"${i._type}\". \n\nattempted value: ${s} \n`+(o!==s?`result of cast: ${o}`:\"\"))}return n}_cast(e,t){let i=e===void 0?e:this.transforms.reduce((n,s)=>s.call(this,n,e,this),e);return i===void 0&&(i=this.getDefault()),i}_validate(e,t={},i){let{sync:n,path:s,from:o=[],originalValue:a=e,strict:l=this.spec.strict,abortEarly:c=this.spec.abortEarly}=t,u=e;l||(u=this._cast(u,Ps({assert:!1},t)));let g={value:u,path:s,options:t,originalValue:a,schema:this,label:this.spec.label,sync:n,from:o},f=[];this._typeError&&f.push(this._typeError),this._whitelistError&&f.push(this._whitelistError),this._blacklistError&&f.push(this._blacklistError),(0,xte.default)({args:g,value:u,path:s,sync:n,tests:f,endEarly:c},h=>{if(h)return void i(h,u);(0,xte.default)({tests:this.tests,args:g,path:s,sync:n,value:u,endEarly:c},i)})}validate(e,t,i){let n=this.resolve(Ps({},t,{value:e}));return typeof i==\"function\"?n._validate(e,t,i):new Promise((s,o)=>n._validate(e,t,(a,l)=>{a?o(a):s(l)}))}validateSync(e,t){let i=this.resolve(Ps({},t,{value:e})),n;return i._validate(e,Ps({},t,{sync:!0}),(s,o)=>{if(s)throw s;n=o}),n}isValid(e,t){return this.validate(e,t).then(()=>!0,i=>{if(Dte.default.isError(i))return!1;throw i})}isValidSync(e,t){try{return this.validateSync(e,t),!0}catch(i){if(Dte.default.isError(i))return!1;throw i}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e==\"function\"?e.call(this):(0,vte.default)(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){var t=this.clone();return t.spec.strict=e,t}_isPresent(e){return e!=null}defined(e=Bh.mixed.defined){return this.test({message:e,name:\"defined\",exclusive:!0,test(t){return t!==void 0}})}required(e=Bh.mixed.required){return this.clone({presence:\"required\"}).withMutation(t=>t.test({message:e,name:\"required\",exclusive:!0,test(i){return this.schema._isPresent(i)}}))}notRequired(){var e=this.clone({presence:\"optional\"});return e.tests=e.tests.filter(t=>t.OPTIONS.name!==\"required\"),e}nullable(e=!0){var t=this.clone({nullable:e!==!1});return t}transform(e){var t=this.clone();return t.transforms.push(e),t}test(...e){let t;if(e.length===1?typeof e[0]==\"function\"?t={test:e[0]}:t=e[0]:e.length===2?t={name:e[0],test:e[1]}:t={name:e[0],message:e[1],test:e[2]},t.message===void 0&&(t.message=Bh.mixed.default),typeof t.test!=\"function\")throw new TypeError(\"`test` is a required parameters\");let i=this.clone(),n=(0,V0.default)(t),s=t.exclusive||t.name&&i.exclusiveTests[t.name]===!0;if(t.exclusive&&!t.name)throw new TypeError(\"Exclusive tests must provide a unique `name` identifying the test\");return t.name&&(i.exclusiveTests[t.name]=!!t.exclusive),i.tests=i.tests.filter(o=>!(o.OPTIONS.name===t.name&&(s||o.OPTIONS.test===n.OPTIONS.test))),i.tests.push(n),i}when(e,t){!Array.isArray(e)&&typeof e!=\"string\"&&(t=e,e=\".\");let i=this.clone(),n=(0,D2e.default)(e).map(s=>new x2e.default(s));return n.forEach(s=>{s.isSibling&&i.deps.push(s.key)}),i.conditions.push(new v2e.default(n,t)),i}typeError(e){var t=this.clone();return t._typeError=(0,V0.default)({message:e,name:\"typeError\",test(i){return i!==void 0&&!this.schema.isType(i)?this.createError({params:{type:this.schema._type}}):!0}}),t}oneOf(e,t=Bh.mixed.oneOf){var i=this.clone();return e.forEach(n=>{i._whitelist.add(n),i._blacklist.delete(n)}),i._whitelistError=(0,V0.default)({message:t,name:\"oneOf\",test(n){if(n===void 0)return!0;let s=this.schema._whitelist;return s.has(n,this.resolve)?!0:this.createError({params:{values:s.toArray().join(\", \")}})}}),i}notOneOf(e,t=Bh.mixed.notOneOf){var i=this.clone();return e.forEach(n=>{i._blacklist.add(n),i._whitelist.delete(n)}),i._blacklistError=(0,V0.default)({message:t,name:\"notOneOf\",test(n){let s=this.schema._blacklist;return s.has(n,this.resolve)?this.createError({params:{values:s.toArray().join(\", \")}}):!0}}),i}strip(e=!0){let t=this.clone();return t.spec.strip=e,t}describe(){let e=this.clone(),{label:t,meta:i}=e.spec;return{meta:i,label:t,type:e.type,oneOf:e._whitelist.describe(),notOneOf:e._blacklist.describe(),tests:e.tests.map(s=>({name:s.OPTIONS.name,params:s.OPTIONS.params})).filter((s,o,a)=>a.findIndex(l=>l.name===s.name)===o)}}};X0.default=no;no.prototype.__isYupSchema__=!0;for(let r of[\"validate\",\"validateSync\"])no.prototype[`${r}At`]=function(e,t,i={}){let{parent:n,parentPath:s,schema:o}=(0,P2e.getIn)(this,e,t,i.context);return o[r](n&&n[s],Ps({},i,{parent:n,path:e}))};for(let r of[\"equals\",\"is\"])no.prototype[r]=no.prototype.oneOf;for(let r of[\"not\",\"nope\"])no.prototype[r]=no.prototype.notOneOf;no.prototype.optional=no.prototype.notRequired});var Fte=w(cm=>{\"use strict\";Object.defineProperty(cm,\"__esModule\",{value:!0});cm.create=Rte;cm.default=void 0;var k2e=R2e(Xa());function R2e(r){return r&&r.__esModule?r:{default:r}}var aL=k2e.default,F2e=aL;cm.default=F2e;function Rte(){return new aL}Rte.prototype=aL.prototype});var Qh=w(_0=>{\"use strict\";Object.defineProperty(_0,\"__esModule\",{value:!0});_0.default=void 0;var N2e=r=>r==null;_0.default=N2e});var Mte=w(gm=>{\"use strict\";Object.defineProperty(gm,\"__esModule\",{value:!0});gm.create=Ote;gm.default=void 0;var L2e=Tte(Xa()),Nte=za(),Lte=Tte(Qh());function Tte(r){return r&&r.__esModule?r:{default:r}}function Ote(){return new um}var um=class extends L2e.default{constructor(){super({type:\"boolean\"}),this.withMutation(()=>{this.transform(function(e){if(!this.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}_typeCheck(e){return e instanceof Boolean&&(e=e.valueOf()),typeof e==\"boolean\"}isTrue(e=Nte.boolean.isValue){return this.test({message:e,name:\"is-value\",exclusive:!0,params:{value:\"true\"},test(t){return(0,Lte.default)(t)||t===!0}})}isFalse(e=Nte.boolean.isValue){return this.test({message:e,name:\"is-value\",exclusive:!0,params:{value:\"false\"},test(t){return(0,Lte.default)(t)||t===!1}})}};gm.default=um;Ote.prototype=um.prototype});var Hte=w(hm=>{\"use strict\";Object.defineProperty(hm,\"__esModule\",{value:!0});hm.create=Ute;hm.default=void 0;var Zo=za(),_a=Kte(Qh()),T2e=Kte(Xa());function Kte(r){return r&&r.__esModule?r:{default:r}}var O2e=/^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/i,M2e=/^((https?|ftp):)?\\/\\/(((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:)*@)?(((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.?)(:\\d*)?)(\\/((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)?)?(\\?((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|[\\uE000-\\uF8FF]|\\/|\\?)*)?(\\#((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$/i,K2e=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,U2e=r=>(0,_a.default)(r)||r===r.trim(),H2e={}.toString();function Ute(){return new fm}var fm=class extends T2e.default{constructor(){super({type:\"string\"}),this.withMutation(()=>{this.transform(function(e){if(this.isType(e)||Array.isArray(e))return e;let t=e!=null&&e.toString?e.toString():e;return t===H2e?e:t})})}_typeCheck(e){return e instanceof String&&(e=e.valueOf()),typeof e==\"string\"}_isPresent(e){return super._isPresent(e)&&!!e.length}length(e,t=Zo.string.length){return this.test({message:t,name:\"length\",exclusive:!0,params:{length:e},test(i){return(0,_a.default)(i)||i.length===this.resolve(e)}})}min(e,t=Zo.string.min){return this.test({message:t,name:\"min\",exclusive:!0,params:{min:e},test(i){return(0,_a.default)(i)||i.length>=this.resolve(e)}})}max(e,t=Zo.string.max){return this.test({name:\"max\",exclusive:!0,message:t,params:{max:e},test(i){return(0,_a.default)(i)||i.length<=this.resolve(e)}})}matches(e,t){let i=!1,n,s;return t&&(typeof t==\"object\"?{excludeEmptyString:i=!1,message:n,name:s}=t:n=t),this.test({name:s||\"matches\",message:n||Zo.string.matches,params:{regex:e},test:o=>(0,_a.default)(o)||o===\"\"&&i||o.search(e)!==-1})}email(e=Zo.string.email){return this.matches(O2e,{name:\"email\",message:e,excludeEmptyString:!0})}url(e=Zo.string.url){return this.matches(M2e,{name:\"url\",message:e,excludeEmptyString:!0})}uuid(e=Zo.string.uuid){return this.matches(K2e,{name:\"uuid\",message:e,excludeEmptyString:!1})}ensure(){return this.default(\"\").transform(e=>e===null?\"\":e)}trim(e=Zo.string.trim){return this.transform(t=>t!=null?t.trim():t).test({message:e,name:\"trim\",test:U2e})}lowercase(e=Zo.string.lowercase){return this.transform(t=>(0,_a.default)(t)?t:t.toLowerCase()).test({message:e,name:\"string_case\",exclusive:!0,test:t=>(0,_a.default)(t)||t===t.toLowerCase()})}uppercase(e=Zo.string.uppercase){return this.transform(t=>(0,_a.default)(t)?t:t.toUpperCase()).test({message:e,name:\"string_case\",exclusive:!0,test:t=>(0,_a.default)(t)||t===t.toUpperCase()})}};hm.default=fm;Ute.prototype=fm.prototype});var jte=w(dm=>{\"use strict\";Object.defineProperty(dm,\"__esModule\",{value:!0});dm.create=Yte;dm.default=void 0;var qc=za(),Jc=Gte(Qh()),G2e=Gte(Xa());function Gte(r){return r&&r.__esModule?r:{default:r}}var Y2e=r=>r!=+r;function Yte(){return new pm}var pm=class extends G2e.default{constructor(){super({type:\"number\"}),this.withMutation(()=>{this.transform(function(e){let t=e;if(typeof t==\"string\"){if(t=t.replace(/\\s/g,\"\"),t===\"\")return NaN;t=+t}return this.isType(t)?t:parseFloat(t)})})}_typeCheck(e){return e instanceof Number&&(e=e.valueOf()),typeof e==\"number\"&&!Y2e(e)}min(e,t=qc.number.min){return this.test({message:t,name:\"min\",exclusive:!0,params:{min:e},test(i){return(0,Jc.default)(i)||i>=this.resolve(e)}})}max(e,t=qc.number.max){return this.test({message:t,name:\"max\",exclusive:!0,params:{max:e},test(i){return(0,Jc.default)(i)||i<=this.resolve(e)}})}lessThan(e,t=qc.number.lessThan){return this.test({message:t,name:\"max\",exclusive:!0,params:{less:e},test(i){return(0,Jc.default)(i)||i<this.resolve(e)}})}moreThan(e,t=qc.number.moreThan){return this.test({message:t,name:\"min\",exclusive:!0,params:{more:e},test(i){return(0,Jc.default)(i)||i>this.resolve(e)}})}positive(e=qc.number.positive){return this.moreThan(0,e)}negative(e=qc.number.negative){return this.lessThan(0,e)}integer(e=qc.number.integer){return this.test({name:\"integer\",message:e,test:t=>(0,Jc.default)(t)||Number.isInteger(t)})}truncate(){return this.transform(e=>(0,Jc.default)(e)?e:e|0)}round(e){var t,i=[\"ceil\",\"floor\",\"round\",\"trunc\"];if(e=((t=e)==null?void 0:t.toLowerCase())||\"round\",e===\"trunc\")return this.truncate();if(i.indexOf(e.toLowerCase())===-1)throw new TypeError(\"Only valid options for round() are: \"+i.join(\", \"));return this.transform(n=>(0,Jc.default)(n)?n:Math[e](n))}};dm.default=pm;Yte.prototype=pm.prototype});var qte=w(AL=>{\"use strict\";Object.defineProperty(AL,\"__esModule\",{value:!0});AL.default=q2e;var j2e=/^(\\d{4}|[+\\-]\\d{6})(?:-?(\\d{2})(?:-?(\\d{2}))?)?(?:[ T]?(\\d{2}):?(\\d{2})(?::?(\\d{2})(?:[,\\.](\\d{1,}))?)?(?:(Z)|([+\\-])(\\d{2})(?::?(\\d{2}))?)?)?$/;function q2e(r){var e=[1,4,5,6,7,10,11],t=0,i,n;if(n=j2e.exec(r)){for(var s=0,o;o=e[s];++s)n[o]=+n[o]||0;n[2]=(+n[2]||1)-1,n[3]=+n[3]||1,n[7]=n[7]?String(n[7]).substr(0,3):0,(n[8]===void 0||n[8]===\"\")&&(n[9]===void 0||n[9]===\"\")?i=+new Date(n[1],n[2],n[3],n[4],n[5],n[6],n[7]):(n[8]!==\"Z\"&&n[9]!==void 0&&(t=n[10]*60+n[11],n[9]===\"+\"&&(t=0-t)),i=Date.UTC(n[1],n[2],n[3],n[4],n[5]+t,n[6],n[7]))}else i=Date.parse?Date.parse(r):NaN;return i}});var zte=w(Cm=>{\"use strict\";Object.defineProperty(Cm,\"__esModule\",{value:!0});Cm.create=cL;Cm.default=void 0;var J2e=Z0(qte()),Jte=za(),Wte=Z0(Qh()),W2e=Z0(jc()),z2e=Z0(Xa());function Z0(r){return r&&r.__esModule?r:{default:r}}var lL=new Date(\"\"),V2e=r=>Object.prototype.toString.call(r)===\"[object Date]\";function cL(){return new bh}var bh=class extends z2e.default{constructor(){super({type:\"date\"}),this.withMutation(()=>{this.transform(function(e){return this.isType(e)?e:(e=(0,J2e.default)(e),isNaN(e)?lL:new Date(e))})})}_typeCheck(e){return V2e(e)&&!isNaN(e.getTime())}prepareParam(e,t){let i;if(W2e.default.isRef(e))i=e;else{let n=this.cast(e);if(!this._typeCheck(n))throw new TypeError(`\\`${t}\\` must be a Date or a value that can be \\`cast()\\` to a Date`);i=n}return i}min(e,t=Jte.date.min){let i=this.prepareParam(e,\"min\");return this.test({message:t,name:\"min\",exclusive:!0,params:{min:e},test(n){return(0,Wte.default)(n)||n>=this.resolve(i)}})}max(e,t=Jte.date.max){var i=this.prepareParam(e,\"max\");return this.test({message:t,name:\"max\",exclusive:!0,params:{max:e},test(n){return(0,Wte.default)(n)||n<=this.resolve(i)}})}};Cm.default=bh;bh.INVALID_DATE=lL;cL.prototype=bh.prototype;cL.INVALID_DATE=lL});var Xte=w((qct,Vte)=>{function X2e(r,e,t,i){var n=-1,s=r==null?0:r.length;for(i&&s&&(t=r[++n]);++n<s;)t=e(t,r[n],n,r);return t}Vte.exports=X2e});var Zte=w((Jct,_te)=>{function _2e(r){return function(e){return r==null?void 0:r[e]}}_te.exports=_2e});var ere=w((Wct,$te)=>{var Z2e=Zte(),$2e={\\u00C0:\"A\",\\u00C1:\"A\",\\u00C2:\"A\",\\u00C3:\"A\",\\u00C4:\"A\",\\u00C5:\"A\",\\u00E0:\"a\",\\u00E1:\"a\",\\u00E2:\"a\",\\u00E3:\"a\",\\u00E4:\"a\",\\u00E5:\"a\",\\u00C7:\"C\",\\u00E7:\"c\",\\u00D0:\"D\",\\u00F0:\"d\",\\u00C8:\"E\",\\u00C9:\"E\",\\u00CA:\"E\",\\u00CB:\"E\",\\u00E8:\"e\",\\u00E9:\"e\",\\u00EA:\"e\",\\u00EB:\"e\",\\u00CC:\"I\",\\u00CD:\"I\",\\u00CE:\"I\",\\u00CF:\"I\",\\u00EC:\"i\",\\u00ED:\"i\",\\u00EE:\"i\",\\u00EF:\"i\",\\u00D1:\"N\",\\u00F1:\"n\",\\u00D2:\"O\",\\u00D3:\"O\",\\u00D4:\"O\",\\u00D5:\"O\",\\u00D6:\"O\",\\u00D8:\"O\",\\u00F2:\"o\",\\u00F3:\"o\",\\u00F4:\"o\",\\u00F5:\"o\",\\u00F6:\"o\",\\u00F8:\"o\",\\u00D9:\"U\",\\u00DA:\"U\",\\u00DB:\"U\",\\u00DC:\"U\",\\u00F9:\"u\",\\u00FA:\"u\",\\u00FB:\"u\",\\u00FC:\"u\",\\u00DD:\"Y\",\\u00FD:\"y\",\\u00FF:\"y\",\\u00C6:\"Ae\",\\u00E6:\"ae\",\\u00DE:\"Th\",\\u00FE:\"th\",\\u00DF:\"ss\",\\u0100:\"A\",\\u0102:\"A\",\\u0104:\"A\",\\u0101:\"a\",\\u0103:\"a\",\\u0105:\"a\",\\u0106:\"C\",\\u0108:\"C\",\\u010A:\"C\",\\u010C:\"C\",\\u0107:\"c\",\\u0109:\"c\",\\u010B:\"c\",\\u010D:\"c\",\\u010E:\"D\",\\u0110:\"D\",\\u010F:\"d\",\\u0111:\"d\",\\u0112:\"E\",\\u0114:\"E\",\\u0116:\"E\",\\u0118:\"E\",\\u011A:\"E\",\\u0113:\"e\",\\u0115:\"e\",\\u0117:\"e\",\\u0119:\"e\",\\u011B:\"e\",\\u011C:\"G\",\\u011E:\"G\",\\u0120:\"G\",\\u0122:\"G\",\\u011D:\"g\",\\u011F:\"g\",\\u0121:\"g\",\\u0123:\"g\",\\u0124:\"H\",\\u0126:\"H\",\\u0125:\"h\",\\u0127:\"h\",\\u0128:\"I\",\\u012A:\"I\",\\u012C:\"I\",\\u012E:\"I\",\\u0130:\"I\",\\u0129:\"i\",\\u012B:\"i\",\\u012D:\"i\",\\u012F:\"i\",\\u0131:\"i\",\\u0134:\"J\",\\u0135:\"j\",\\u0136:\"K\",\\u0137:\"k\",\\u0138:\"k\",\\u0139:\"L\",\\u013B:\"L\",\\u013D:\"L\",\\u013F:\"L\",\\u0141:\"L\",\\u013A:\"l\",\\u013C:\"l\",\\u013E:\"l\",\\u0140:\"l\",\\u0142:\"l\",\\u0143:\"N\",\\u0145:\"N\",\\u0147:\"N\",\\u014A:\"N\",\\u0144:\"n\",\\u0146:\"n\",\\u0148:\"n\",\\u014B:\"n\",\\u014C:\"O\",\\u014E:\"O\",\\u0150:\"O\",\\u014D:\"o\",\\u014F:\"o\",\\u0151:\"o\",\\u0154:\"R\",\\u0156:\"R\",\\u0158:\"R\",\\u0155:\"r\",\\u0157:\"r\",\\u0159:\"r\",\\u015A:\"S\",\\u015C:\"S\",\\u015E:\"S\",\\u0160:\"S\",\\u015B:\"s\",\\u015D:\"s\",\\u015F:\"s\",\\u0161:\"s\",\\u0162:\"T\",\\u0164:\"T\",\\u0166:\"T\",\\u0163:\"t\",\\u0165:\"t\",\\u0167:\"t\",\\u0168:\"U\",\\u016A:\"U\",\\u016C:\"U\",\\u016E:\"U\",\\u0170:\"U\",\\u0172:\"U\",\\u0169:\"u\",\\u016B:\"u\",\\u016D:\"u\",\\u016F:\"u\",\\u0171:\"u\",\\u0173:\"u\",\\u0174:\"W\",\\u0175:\"w\",\\u0176:\"Y\",\\u0177:\"y\",\\u0178:\"Y\",\\u0179:\"Z\",\\u017B:\"Z\",\\u017D:\"Z\",\\u017A:\"z\",\\u017C:\"z\",\\u017E:\"z\",\\u0132:\"IJ\",\\u0133:\"ij\",\\u0152:\"Oe\",\\u0153:\"oe\",\\u0149:\"'n\",\\u017F:\"s\"},eHe=Z2e($2e);$te.exports=eHe});var rre=w((zct,tre)=>{var tHe=ere(),rHe=Kf(),iHe=/[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g,nHe=\"\\\\u0300-\\\\u036f\",sHe=\"\\\\ufe20-\\\\ufe2f\",oHe=\"\\\\u20d0-\\\\u20ff\",aHe=nHe+sHe+oHe,AHe=\"[\"+aHe+\"]\",lHe=RegExp(AHe,\"g\");function cHe(r){return r=rHe(r),r&&r.replace(iHe,tHe).replace(lHe,\"\")}tre.exports=cHe});var nre=w((Vct,ire)=>{var uHe=/[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;function gHe(r){return r.match(uHe)||[]}ire.exports=gHe});var ore=w((Xct,sre)=>{var fHe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function hHe(r){return fHe.test(r)}sre.exports=hHe});var bre=w((_ct,Qre)=>{var ure=\"\\\\ud800-\\\\udfff\",pHe=\"\\\\u0300-\\\\u036f\",dHe=\"\\\\ufe20-\\\\ufe2f\",CHe=\"\\\\u20d0-\\\\u20ff\",mHe=pHe+dHe+CHe,gre=\"\\\\u2700-\\\\u27bf\",fre=\"a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff\",EHe=\"\\\\xac\\\\xb1\\\\xd7\\\\xf7\",IHe=\"\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\",yHe=\"\\\\u2000-\\\\u206f\",wHe=\" \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\",hre=\"A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde\",BHe=\"\\\\ufe0e\\\\ufe0f\",pre=EHe+IHe+yHe+wHe,dre=\"['\\u2019]\",are=\"[\"+pre+\"]\",QHe=\"[\"+mHe+\"]\",Cre=\"\\\\d+\",bHe=\"[\"+gre+\"]\",mre=\"[\"+fre+\"]\",Ere=\"[^\"+ure+pre+Cre+gre+fre+hre+\"]\",SHe=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",vHe=\"(?:\"+QHe+\"|\"+SHe+\")\",xHe=\"[^\"+ure+\"]\",Ire=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",yre=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",Sh=\"[\"+hre+\"]\",PHe=\"\\\\u200d\",Are=\"(?:\"+mre+\"|\"+Ere+\")\",DHe=\"(?:\"+Sh+\"|\"+Ere+\")\",lre=\"(?:\"+dre+\"(?:d|ll|m|re|s|t|ve))?\",cre=\"(?:\"+dre+\"(?:D|LL|M|RE|S|T|VE))?\",wre=vHe+\"?\",Bre=\"[\"+BHe+\"]?\",kHe=\"(?:\"+PHe+\"(?:\"+[xHe,Ire,yre].join(\"|\")+\")\"+Bre+wre+\")*\",RHe=\"\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])\",FHe=\"\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])\",NHe=Bre+wre+kHe,LHe=\"(?:\"+[bHe,Ire,yre].join(\"|\")+\")\"+NHe,THe=RegExp([Sh+\"?\"+mre+\"+\"+lre+\"(?=\"+[are,Sh,\"$\"].join(\"|\")+\")\",DHe+\"+\"+cre+\"(?=\"+[are,Sh+Are,\"$\"].join(\"|\")+\")\",Sh+\"?\"+Are+\"+\"+lre,Sh+\"+\"+cre,FHe,RHe,Cre,LHe].join(\"|\"),\"g\");function OHe(r){return r.match(THe)||[]}Qre.exports=OHe});var vre=w((Zct,Sre)=>{var MHe=nre(),KHe=ore(),UHe=Kf(),HHe=bre();function GHe(r,e,t){return r=UHe(r),e=t?void 0:e,e===void 0?KHe(r)?HHe(r):MHe(r):r.match(e)||[]}Sre.exports=GHe});var uL=w(($ct,xre)=>{var YHe=Xte(),jHe=rre(),qHe=vre(),JHe=\"['\\u2019]\",WHe=RegExp(JHe,\"g\");function zHe(r){return function(e){return YHe(qHe(jHe(e).replace(WHe,\"\")),r,\"\")}}xre.exports=zHe});var Dre=w((eut,Pre)=>{var VHe=uL(),XHe=VHe(function(r,e,t){return r+(t?\"_\":\"\")+e.toLowerCase()});Pre.exports=XHe});var Rre=w((tut,kre)=>{var _He=dB(),ZHe=uL(),$He=ZHe(function(r,e,t){return e=e.toLowerCase(),r+(t?_He(e):e)});kre.exports=$He});var Nre=w((rut,Fre)=>{var eGe=gh(),tGe=TN(),rGe=ZN();function iGe(r,e){var t={};return e=rGe(e,3),tGe(r,function(i,n,s){eGe(t,e(i,n,s),i)}),t}Fre.exports=iGe});var Tre=w((iut,gL)=>{gL.exports=function(r){return Lre(nGe(r),r)};gL.exports.array=Lre;function Lre(r,e){var t=r.length,i=new Array(t),n={},s=t,o=sGe(e),a=oGe(r);for(e.forEach(function(c){if(!a.has(c[0])||!a.has(c[1]))throw new Error(\"Unknown node. There is an unknown node in the supplied edges.\")});s--;)n[s]||l(r[s],s,new Set);return i;function l(c,u,g){if(g.has(c)){var f;try{f=\", node was:\"+JSON.stringify(c)}catch{f=\"\"}throw new Error(\"Cyclic dependency\"+f)}if(!a.has(c))throw new Error(\"Found unknown node. Make sure to provided all involved nodes. Unknown node: \"+JSON.stringify(c));if(!n[u]){n[u]=!0;var h=o.get(c)||new Set;if(h=Array.from(h),u=h.length){g.add(c);do{var p=h[--u];l(p,a.get(p),g)}while(u);g.delete(c)}i[--t]=c}}}function nGe(r){for(var e=new Set,t=0,i=r.length;t<i;t++){var n=r[t];e.add(n[0]),e.add(n[1])}return Array.from(e)}function sGe(r){for(var e=new Map,t=0,i=r.length;t<i;t++){var n=r[t];e.has(n[0])||e.set(n[0],new Set),e.has(n[1])||e.set(n[1],new Set),e.get(n[0]).add(n[1])}return e}function oGe(r){for(var e=new Map,t=0,i=r.length;t<i;t++)e.set(r[t],t);return e}});var Ore=w(fL=>{\"use strict\";Object.defineProperty(fL,\"__esModule\",{value:!0});fL.default=gGe;var aGe=$0(_C()),AGe=$0(Tre()),lGe=sm(),cGe=$0(jc()),uGe=$0(dh());function $0(r){return r&&r.__esModule?r:{default:r}}function gGe(r,e=[]){let t=[],i=[];function n(s,o){var a=(0,lGe.split)(s)[0];~i.indexOf(a)||i.push(a),~e.indexOf(`${o}-${a}`)||t.push([o,a])}for(let s in r)if((0,aGe.default)(r,s)){let o=r[s];~i.indexOf(s)||i.push(s),cGe.default.isRef(o)&&o.isSibling?n(o.path,s):(0,uGe.default)(o)&&\"deps\"in o&&o.deps.forEach(a=>n(a,s))}return AGe.default.array(i,t).reverse()}});var Kre=w(hL=>{\"use strict\";Object.defineProperty(hL,\"__esModule\",{value:!0});hL.default=fGe;function Mre(r,e){let t=1/0;return r.some((i,n)=>{var s;if(((s=e.path)==null?void 0:s.indexOf(i))!==-1)return t=n,!0}),t}function fGe(r){return(e,t)=>Mre(r,e)-Mre(r,t)}});var Jre=w(Em=>{\"use strict\";Object.defineProperty(Em,\"__esModule\",{value:!0});Em.create=qre;Em.default=void 0;var Ure=$o(_C()),Hre=$o(Dre()),hGe=$o(Rre()),pGe=$o(Nre()),dGe=$o($N()),CGe=sm(),Gre=za(),mGe=$o(Ore()),jre=$o(Kre()),EGe=$o(T0()),IGe=$o(Hc()),pL=$o(Xa());function $o(r){return r&&r.__esModule?r:{default:r}}function vh(){return vh=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r[i]=t[i])}return r},vh.apply(this,arguments)}var Yre=r=>Object.prototype.toString.call(r)===\"[object Object]\";function yGe(r,e){let t=Object.keys(r.fields);return Object.keys(e).filter(i=>t.indexOf(i)===-1)}var wGe=(0,jre.default)([]),mm=class extends pL.default{constructor(e){super({type:\"object\"}),this.fields=Object.create(null),this._sortErrors=wGe,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{this.transform(function(i){if(typeof i==\"string\")try{i=JSON.parse(i)}catch{i=null}return this.isType(i)?i:null}),e&&this.shape(e)})}_typeCheck(e){return Yre(e)||typeof e==\"function\"}_cast(e,t={}){var i;let n=super._cast(e,t);if(n===void 0)return this.getDefault();if(!this._typeCheck(n))return n;let s=this.fields,o=(i=t.stripUnknown)!=null?i:this.spec.noUnknown,a=this._nodes.concat(Object.keys(n).filter(g=>this._nodes.indexOf(g)===-1)),l={},c=vh({},t,{parent:l,__validating:t.__validating||!1}),u=!1;for(let g of a){let f=s[g],h=(0,Ure.default)(n,g);if(f){let p,C=n[g];c.path=(t.path?`${t.path}.`:\"\")+g,f=f.resolve({value:C,context:t.context,parent:l});let y=\"spec\"in f?f.spec:void 0,B=y==null?void 0:y.strict;if(y!=null&&y.strip){u=u||g in n;continue}p=!t.__validating||!B?f.cast(n[g],c):n[g],p!==void 0&&(l[g]=p)}else h&&!o&&(l[g]=n[g]);l[g]!==n[g]&&(u=!0)}return u?l:n}_validate(e,t={},i){let n=[],{sync:s,from:o=[],originalValue:a=e,abortEarly:l=this.spec.abortEarly,recursive:c=this.spec.recursive}=t;o=[{schema:this,value:a},...o],t.__validating=!0,t.originalValue=a,t.from=o,super._validate(e,t,(u,g)=>{if(u){if(!IGe.default.isError(u)||l)return void i(u,g);n.push(u)}if(!c||!Yre(g)){i(n[0]||null,g);return}a=a||g;let f=this._nodes.map(h=>(p,C)=>{let y=h.indexOf(\".\")===-1?(t.path?`${t.path}.`:\"\")+h:`${t.path||\"\"}[\"${h}\"]`,B=this.fields[h];if(B&&\"validate\"in B){B.validate(g[h],vh({},t,{path:y,from:o,strict:!0,parent:g,originalValue:a[h]}),C);return}C(null)});(0,EGe.default)({sync:s,tests:f,value:g,errors:n,endEarly:l,sort:this._sortErrors,path:t.path},i)})}clone(e){let t=super.clone(e);return t.fields=vh({},this.fields),t._nodes=this._nodes,t._excludedEdges=this._excludedEdges,t._sortErrors=this._sortErrors,t}concat(e){let t=super.concat(e),i=t.fields;for(let[n,s]of Object.entries(this.fields)){let o=i[n];o===void 0?i[n]=s:o instanceof pL.default&&s instanceof pL.default&&(i[n]=s.concat(o))}return t.withMutation(()=>t.shape(i))}getDefaultFromShape(){let e={};return this._nodes.forEach(t=>{let i=this.fields[t];e[t]=\"default\"in i?i.getDefault():void 0}),e}_getDefault(){if(\"default\"in this.spec)return super._getDefault();if(!!this._nodes.length)return this.getDefaultFromShape()}shape(e,t=[]){let i=this.clone(),n=Object.assign(i.fields,e);if(i.fields=n,i._sortErrors=(0,jre.default)(Object.keys(n)),t.length){Array.isArray(t[0])||(t=[t]);let s=t.map(([o,a])=>`${o}-${a}`);i._excludedEdges=i._excludedEdges.concat(s)}return i._nodes=(0,mGe.default)(n,i._excludedEdges),i}pick(e){let t={};for(let i of e)this.fields[i]&&(t[i]=this.fields[i]);return this.clone().withMutation(i=>(i.fields={},i.shape(t)))}omit(e){let t=this.clone(),i=t.fields;t.fields={};for(let n of e)delete i[n];return t.withMutation(()=>t.shape(i))}from(e,t,i){let n=(0,CGe.getter)(e,!0);return this.transform(s=>{if(s==null)return s;let o=s;return(0,Ure.default)(s,e)&&(o=vh({},s),i||delete o[e],o[t]=n(s)),o})}noUnknown(e=!0,t=Gre.object.noUnknown){typeof e==\"string\"&&(t=e,e=!0);let i=this.test({name:\"noUnknown\",exclusive:!0,message:t,test(n){if(n==null)return!0;let s=yGe(this.schema,n);return!e||s.length===0||this.createError({params:{unknown:s.join(\", \")}})}});return i.spec.noUnknown=e,i}unknown(e=!0,t=Gre.object.noUnknown){return this.noUnknown(!e,t)}transformKeys(e){return this.transform(t=>t&&(0,pGe.default)(t,(i,n)=>e(n)))}camelCase(){return this.transformKeys(hGe.default)}snakeCase(){return this.transformKeys(Hre.default)}constantCase(){return this.transformKeys(e=>(0,Hre.default)(e).toUpperCase())}describe(){let e=super.describe();return e.fields=(0,dGe.default)(this.fields,t=>t.describe()),e}};Em.default=mm;function qre(r){return new mm(r)}qre.prototype=mm.prototype});var zre=w(ym=>{\"use strict\";Object.defineProperty(ym,\"__esModule\",{value:!0});ym.create=Wre;ym.default=void 0;var dL=xh(Qh()),BGe=xh(dh()),QGe=xh(XC()),CL=za(),bGe=xh(T0()),SGe=xh(Hc()),vGe=xh(Xa());function xh(r){return r&&r.__esModule?r:{default:r}}function eQ(){return eQ=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r[i]=t[i])}return r},eQ.apply(this,arguments)}function Wre(r){return new Im(r)}var Im=class extends vGe.default{constructor(e){super({type:\"array\"}),this.innerType=e,this.withMutation(()=>{this.transform(function(t){if(typeof t==\"string\")try{t=JSON.parse(t)}catch{t=null}return this.isType(t)?t:null})})}_typeCheck(e){return Array.isArray(e)}get _subType(){return this.innerType}_cast(e,t){let i=super._cast(e,t);if(!this._typeCheck(i)||!this.innerType)return i;let n=!1,s=i.map((o,a)=>{let l=this.innerType.cast(o,eQ({},t,{path:`${t.path||\"\"}[${a}]`}));return l!==o&&(n=!0),l});return n?s:i}_validate(e,t={},i){var n,s;let o=[],a=t.sync,l=t.path,c=this.innerType,u=(n=t.abortEarly)!=null?n:this.spec.abortEarly,g=(s=t.recursive)!=null?s:this.spec.recursive,f=t.originalValue!=null?t.originalValue:e;super._validate(e,t,(h,p)=>{if(h){if(!SGe.default.isError(h)||u)return void i(h,p);o.push(h)}if(!g||!c||!this._typeCheck(p)){i(o[0]||null,p);return}f=f||p;let C=new Array(p.length);for(let y=0;y<p.length;y++){let B=p[y],v=`${t.path||\"\"}[${y}]`,D=eQ({},t,{path:v,strict:!0,parent:p,index:y,originalValue:f[y]});C[y]=(L,H)=>c.validate(B,D,H)}(0,bGe.default)({sync:a,path:l,value:p,errors:o,endEarly:u,tests:C},i)})}clone(e){let t=super.clone(e);return t.innerType=this.innerType,t}concat(e){let t=super.concat(e);return t.innerType=this.innerType,e.innerType&&(t.innerType=t.innerType?t.innerType.concat(e.innerType):e.innerType),t}of(e){let t=this.clone();if(!(0,BGe.default)(e))throw new TypeError(\"`array.of()` sub-schema must be a valid yup schema not: \"+(0,QGe.default)(e));return t.innerType=e,t}length(e,t=CL.array.length){return this.test({message:t,name:\"length\",exclusive:!0,params:{length:e},test(i){return(0,dL.default)(i)||i.length===this.resolve(e)}})}min(e,t){return t=t||CL.array.min,this.test({message:t,name:\"min\",exclusive:!0,params:{min:e},test(i){return(0,dL.default)(i)||i.length>=this.resolve(e)}})}max(e,t){return t=t||CL.array.max,this.test({message:t,name:\"max\",exclusive:!0,params:{max:e},test(i){return(0,dL.default)(i)||i.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,t)=>this._typeCheck(e)?e:t==null?[]:[].concat(t))}compact(e){let t=e?(i,n,s)=>!e(i,n,s):i=>!!i;return this.transform(i=>i!=null?i.filter(t):i)}describe(){let e=super.describe();return this.innerType&&(e.innerType=this.innerType.describe()),e}nullable(e=!0){return super.nullable(e)}defined(){return super.defined()}required(e){return super.required(e)}};ym.default=Im;Wre.prototype=Im.prototype});var Vre=w(wm=>{\"use strict\";Object.defineProperty(wm,\"__esModule\",{value:!0});wm.create=DGe;wm.default=void 0;var xGe=PGe(dh());function PGe(r){return r&&r.__esModule?r:{default:r}}function DGe(r){return new tQ(r)}var tQ=class{constructor(e){this.type=\"lazy\",this.__isYupSchema__=!0,this._resolve=(t,i={})=>{let n=this.builder(t,i);if(!(0,xGe.default)(n))throw new TypeError(\"lazy() functions must return a valid schema\");return n.resolve(i)},this.builder=e}resolve(e){return this._resolve(e.value,e)}cast(e,t){return this._resolve(e,t).cast(e,t)}validate(e,t,i){return this._resolve(e,t).validate(e,t,i)}validateSync(e,t){return this._resolve(e,t).validateSync(e,t)}validateAt(e,t,i){return this._resolve(t,i).validateAt(e,t,i)}validateSyncAt(e,t,i){return this._resolve(t,i).validateSyncAt(e,t,i)}describe(){return null}isValid(e,t){return this._resolve(e,t).isValid(e,t)}isValidSync(e,t){return this._resolve(e,t).isValidSync(e,t)}},kGe=tQ;wm.default=kGe});var Xre=w(mL=>{\"use strict\";Object.defineProperty(mL,\"__esModule\",{value:!0});mL.default=NGe;var RGe=FGe(za());function FGe(r){return r&&r.__esModule?r:{default:r}}function NGe(r){Object.keys(r).forEach(e=>{Object.keys(r[e]).forEach(t=>{RGe.default[e][t]=r[e][t]})})}});var IL=w(yr=>{\"use strict\";Object.defineProperty(yr,\"__esModule\",{value:!0});yr.addMethod=HGe;Object.defineProperty(yr,\"MixedSchema\",{enumerable:!0,get:function(){return _re.default}});Object.defineProperty(yr,\"mixed\",{enumerable:!0,get:function(){return _re.create}});Object.defineProperty(yr,\"BooleanSchema\",{enumerable:!0,get:function(){return EL.default}});Object.defineProperty(yr,\"bool\",{enumerable:!0,get:function(){return EL.create}});Object.defineProperty(yr,\"boolean\",{enumerable:!0,get:function(){return EL.create}});Object.defineProperty(yr,\"StringSchema\",{enumerable:!0,get:function(){return Zre.default}});Object.defineProperty(yr,\"string\",{enumerable:!0,get:function(){return Zre.create}});Object.defineProperty(yr,\"NumberSchema\",{enumerable:!0,get:function(){return $re.default}});Object.defineProperty(yr,\"number\",{enumerable:!0,get:function(){return $re.create}});Object.defineProperty(yr,\"DateSchema\",{enumerable:!0,get:function(){return eie.default}});Object.defineProperty(yr,\"date\",{enumerable:!0,get:function(){return eie.create}});Object.defineProperty(yr,\"ObjectSchema\",{enumerable:!0,get:function(){return tie.default}});Object.defineProperty(yr,\"object\",{enumerable:!0,get:function(){return tie.create}});Object.defineProperty(yr,\"ArraySchema\",{enumerable:!0,get:function(){return rie.default}});Object.defineProperty(yr,\"array\",{enumerable:!0,get:function(){return rie.create}});Object.defineProperty(yr,\"ref\",{enumerable:!0,get:function(){return LGe.create}});Object.defineProperty(yr,\"lazy\",{enumerable:!0,get:function(){return TGe.create}});Object.defineProperty(yr,\"ValidationError\",{enumerable:!0,get:function(){return OGe.default}});Object.defineProperty(yr,\"reach\",{enumerable:!0,get:function(){return MGe.default}});Object.defineProperty(yr,\"isSchema\",{enumerable:!0,get:function(){return iie.default}});Object.defineProperty(yr,\"setLocale\",{enumerable:!0,get:function(){return KGe.default}});Object.defineProperty(yr,\"BaseSchema\",{enumerable:!0,get:function(){return UGe.default}});var _re=Wc(Fte()),EL=Wc(Mte()),Zre=Wc(Hte()),$re=Wc(jte()),eie=Wc(zte()),tie=Wc(Jre()),rie=Wc(zre()),LGe=jc(),TGe=Vre(),OGe=Bm(Hc()),MGe=Bm(oL()),iie=Bm(dh()),KGe=Bm(Xre()),UGe=Bm(Xa());function Bm(r){return r&&r.__esModule?r:{default:r}}function nie(){if(typeof WeakMap!=\"function\")return null;var r=new WeakMap;return nie=function(){return r},r}function Wc(r){if(r&&r.__esModule)return r;if(r===null||typeof r!=\"object\"&&typeof r!=\"function\")return{default:r};var e=nie();if(e&&e.has(r))return e.get(r);var t={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in r)if(Object.prototype.hasOwnProperty.call(r,n)){var s=i?Object.getOwnPropertyDescriptor(r,n):null;s&&(s.get||s.set)?Object.defineProperty(t,n,s):t[n]=r[n]}return t.default=r,e&&e.set(r,t),t}function HGe(r,e,t){if(!r||!(0,iie.default)(r.prototype))throw new TypeError(\"You must provide a yup schema constructor function\");if(typeof e!=\"string\")throw new TypeError(\"A Method name must be provided\");if(typeof t!=\"function\")throw new TypeError(\"Method function must be provided\");r.prototype[e]=t}});var lie=w((But,bm)=>{\"use strict\";var jGe=process.env.TERM_PROGRAM===\"Hyper\",qGe=process.platform===\"win32\",oie=process.platform===\"linux\",yL={ballotDisabled:\"\\u2612\",ballotOff:\"\\u2610\",ballotOn:\"\\u2611\",bullet:\"\\u2022\",bulletWhite:\"\\u25E6\",fullBlock:\"\\u2588\",heart:\"\\u2764\",identicalTo:\"\\u2261\",line:\"\\u2500\",mark:\"\\u203B\",middot:\"\\xB7\",minus:\"\\uFF0D\",multiplication:\"\\xD7\",obelus:\"\\xF7\",pencilDownRight:\"\\u270E\",pencilRight:\"\\u270F\",pencilUpRight:\"\\u2710\",percent:\"%\",pilcrow2:\"\\u2761\",pilcrow:\"\\xB6\",plusMinus:\"\\xB1\",section:\"\\xA7\",starsOff:\"\\u2606\",starsOn:\"\\u2605\",upDownArrow:\"\\u2195\"},aie=Object.assign({},yL,{check:\"\\u221A\",cross:\"\\xD7\",ellipsisLarge:\"...\",ellipsis:\"...\",info:\"i\",question:\"?\",questionSmall:\"?\",pointer:\">\",pointerSmall:\"\\xBB\",radioOff:\"( )\",radioOn:\"(*)\",warning:\"\\u203C\"}),Aie=Object.assign({},yL,{ballotCross:\"\\u2718\",check:\"\\u2714\",cross:\"\\u2716\",ellipsisLarge:\"\\u22EF\",ellipsis:\"\\u2026\",info:\"\\u2139\",question:\"?\",questionFull:\"\\uFF1F\",questionSmall:\"\\uFE56\",pointer:oie?\"\\u25B8\":\"\\u276F\",pointerSmall:oie?\"\\u2023\":\"\\u203A\",radioOff:\"\\u25EF\",radioOn:\"\\u25C9\",warning:\"\\u26A0\"});bm.exports=qGe&&!jGe?aie:Aie;Reflect.defineProperty(bm.exports,\"common\",{enumerable:!1,value:yL});Reflect.defineProperty(bm.exports,\"windows\",{enumerable:!1,value:aie});Reflect.defineProperty(bm.exports,\"other\",{enumerable:!1,value:Aie})});var so=w((Qut,wL)=>{\"use strict\";var JGe=r=>r!==null&&typeof r==\"object\"&&!Array.isArray(r),WGe=/[\\u001b\\u009b][[\\]#;?()]*(?:(?:(?:[^\\W_]*;?[^\\W_]*)\\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,cie=()=>{let r={enabled:!0,visible:!0,styles:{},keys:{}};\"FORCE_COLOR\"in process.env&&(r.enabled=process.env.FORCE_COLOR!==\"0\");let e=s=>{let o=s.open=`\\x1B[${s.codes[0]}m`,a=s.close=`\\x1B[${s.codes[1]}m`,l=s.regex=new RegExp(`\\\\u001b\\\\[${s.codes[1]}m`,\"g\");return s.wrap=(c,u)=>{c.includes(a)&&(c=c.replace(l,a+o));let g=o+c+a;return u?g.replace(/\\r*\\n/g,`${a}$&${o}`):g},s},t=(s,o,a)=>typeof s==\"function\"?s(o):s.wrap(o,a),i=(s,o)=>{if(s===\"\"||s==null)return\"\";if(r.enabled===!1)return s;if(r.visible===!1)return\"\";let a=\"\"+s,l=a.includes(`\n`),c=o.length;for(c>0&&o.includes(\"unstyle\")&&(o=[...new Set([\"unstyle\",...o])].reverse());c-- >0;)a=t(r.styles[o[c]],a,l);return a},n=(s,o,a)=>{r.styles[s]=e({name:s,codes:o}),(r.keys[a]||(r.keys[a]=[])).push(s),Reflect.defineProperty(r,s,{configurable:!0,enumerable:!0,set(c){r.alias(s,c)},get(){let c=u=>i(u,c.stack);return Reflect.setPrototypeOf(c,r),c.stack=this.stack?this.stack.concat(s):[s],c}})};return n(\"reset\",[0,0],\"modifier\"),n(\"bold\",[1,22],\"modifier\"),n(\"dim\",[2,22],\"modifier\"),n(\"italic\",[3,23],\"modifier\"),n(\"underline\",[4,24],\"modifier\"),n(\"inverse\",[7,27],\"modifier\"),n(\"hidden\",[8,28],\"modifier\"),n(\"strikethrough\",[9,29],\"modifier\"),n(\"black\",[30,39],\"color\"),n(\"red\",[31,39],\"color\"),n(\"green\",[32,39],\"color\"),n(\"yellow\",[33,39],\"color\"),n(\"blue\",[34,39],\"color\"),n(\"magenta\",[35,39],\"color\"),n(\"cyan\",[36,39],\"color\"),n(\"white\",[37,39],\"color\"),n(\"gray\",[90,39],\"color\"),n(\"grey\",[90,39],\"color\"),n(\"bgBlack\",[40,49],\"bg\"),n(\"bgRed\",[41,49],\"bg\"),n(\"bgGreen\",[42,49],\"bg\"),n(\"bgYellow\",[43,49],\"bg\"),n(\"bgBlue\",[44,49],\"bg\"),n(\"bgMagenta\",[45,49],\"bg\"),n(\"bgCyan\",[46,49],\"bg\"),n(\"bgWhite\",[47,49],\"bg\"),n(\"blackBright\",[90,39],\"bright\"),n(\"redBright\",[91,39],\"bright\"),n(\"greenBright\",[92,39],\"bright\"),n(\"yellowBright\",[93,39],\"bright\"),n(\"blueBright\",[94,39],\"bright\"),n(\"magentaBright\",[95,39],\"bright\"),n(\"cyanBright\",[96,39],\"bright\"),n(\"whiteBright\",[97,39],\"bright\"),n(\"bgBlackBright\",[100,49],\"bgBright\"),n(\"bgRedBright\",[101,49],\"bgBright\"),n(\"bgGreenBright\",[102,49],\"bgBright\"),n(\"bgYellowBright\",[103,49],\"bgBright\"),n(\"bgBlueBright\",[104,49],\"bgBright\"),n(\"bgMagentaBright\",[105,49],\"bgBright\"),n(\"bgCyanBright\",[106,49],\"bgBright\"),n(\"bgWhiteBright\",[107,49],\"bgBright\"),r.ansiRegex=WGe,r.hasColor=r.hasAnsi=s=>(r.ansiRegex.lastIndex=0,typeof s==\"string\"&&s!==\"\"&&r.ansiRegex.test(s)),r.alias=(s,o)=>{let a=typeof o==\"string\"?r[o]:o;if(typeof a!=\"function\")throw new TypeError(\"Expected alias to be the name of an existing color (string) or a function\");a.stack||(Reflect.defineProperty(a,\"name\",{value:s}),r.styles[s]=a,a.stack=[s]),Reflect.defineProperty(r,s,{configurable:!0,enumerable:!0,set(l){r.alias(s,l)},get(){let l=c=>i(c,l.stack);return Reflect.setPrototypeOf(l,r),l.stack=this.stack?this.stack.concat(a.stack):a.stack,l}})},r.theme=s=>{if(!JGe(s))throw new TypeError(\"Expected theme to be an object\");for(let o of Object.keys(s))r.alias(o,s[o]);return r},r.alias(\"unstyle\",s=>typeof s==\"string\"&&s!==\"\"?(r.ansiRegex.lastIndex=0,s.replace(r.ansiRegex,\"\")):\"\"),r.alias(\"noop\",s=>s),r.none=r.clear=r.noop,r.stripColor=r.unstyle,r.symbols=lie(),r.define=n,r};wL.exports=cie();wL.exports.create=cie});var Gi=w(Lt=>{\"use strict\";var zGe=Object.prototype.toString,Ds=so(),uie=!1,BL=[],gie={yellow:\"blue\",cyan:\"red\",green:\"magenta\",black:\"white\",blue:\"yellow\",red:\"cyan\",magenta:\"green\",white:\"black\"};Lt.longest=(r,e)=>r.reduce((t,i)=>Math.max(t,e?i[e].length:i.length),0);Lt.hasColor=r=>!!r&&Ds.hasColor(r);var iQ=Lt.isObject=r=>r!==null&&typeof r==\"object\"&&!Array.isArray(r);Lt.nativeType=r=>zGe.call(r).slice(8,-1).toLowerCase().replace(/\\s/g,\"\");Lt.isAsyncFn=r=>Lt.nativeType(r)===\"asyncfunction\";Lt.isPrimitive=r=>r!=null&&typeof r!=\"object\"&&typeof r!=\"function\";Lt.resolve=(r,e,...t)=>typeof e==\"function\"?e.call(r,...t):e;Lt.scrollDown=(r=[])=>[...r.slice(1),r[0]];Lt.scrollUp=(r=[])=>[r.pop(),...r];Lt.reorder=(r=[])=>{let e=r.slice();return e.sort((t,i)=>t.index>i.index?1:t.index<i.index?-1:0),e};Lt.swap=(r,e,t)=>{let i=r.length,n=t===i?0:t<0?i-1:t,s=r[e];r[e]=r[n],r[n]=s};Lt.width=(r,e=80)=>{let t=r&&r.columns?r.columns:e;return r&&typeof r.getWindowSize==\"function\"&&(t=r.getWindowSize()[0]),process.platform===\"win32\"?t-1:t};Lt.height=(r,e=20)=>{let t=r&&r.rows?r.rows:e;return r&&typeof r.getWindowSize==\"function\"&&(t=r.getWindowSize()[1]),t};Lt.wordWrap=(r,e={})=>{if(!r)return r;typeof e==\"number\"&&(e={width:e});let{indent:t=\"\",newline:i=`\n`+t,width:n=80}=e;n-=((i+t).match(/[^\\S\\n]/g)||[]).length;let o=`.{1,${n}}([\\\\s\\\\u200B]+|$)|[^\\\\s\\\\u200B]+?([\\\\s\\\\u200B]+|$)`,a=r.trim(),l=new RegExp(o,\"g\"),c=a.match(l)||[];return c=c.map(u=>u.replace(/\\n$/,\"\")),e.padEnd&&(c=c.map(u=>u.padEnd(n,\" \"))),e.padStart&&(c=c.map(u=>u.padStart(n,\" \"))),t+c.join(i)};Lt.unmute=r=>{let e=r.stack.find(i=>Ds.keys.color.includes(i));return e?Ds[e]:r.stack.find(i=>i.slice(2)===\"bg\")?Ds[e.slice(2)]:i=>i};Lt.pascal=r=>r?r[0].toUpperCase()+r.slice(1):\"\";Lt.inverse=r=>{if(!r||!r.stack)return r;let e=r.stack.find(i=>Ds.keys.color.includes(i));if(e){let i=Ds[\"bg\"+Lt.pascal(e)];return i?i.black:r}let t=r.stack.find(i=>i.slice(0,2)===\"bg\");return t?Ds[t.slice(2).toLowerCase()]||r:Ds.none};Lt.complement=r=>{if(!r||!r.stack)return r;let e=r.stack.find(i=>Ds.keys.color.includes(i)),t=r.stack.find(i=>i.slice(0,2)===\"bg\");if(e&&!t)return Ds[gie[e]||e];if(t){let i=t.slice(2).toLowerCase(),n=gie[i];return n&&Ds[\"bg\"+Lt.pascal(n)]||r}return Ds.none};Lt.meridiem=r=>{let e=r.getHours(),t=r.getMinutes(),i=e>=12?\"pm\":\"am\";e=e%12;let n=e===0?12:e,s=t<10?\"0\"+t:t;return n+\":\"+s+\" \"+i};Lt.set=(r={},e=\"\",t)=>e.split(\".\").reduce((i,n,s,o)=>{let a=o.length-1>s?i[n]||{}:t;return!Lt.isObject(a)&&s<o.length-1&&(a={}),i[n]=a},r);Lt.get=(r={},e=\"\",t)=>{let i=r[e]==null?e.split(\".\").reduce((n,s)=>n&&n[s],r):r[e];return i==null?t:i};Lt.mixin=(r,e)=>{if(!iQ(r))return e;if(!iQ(e))return r;for(let t of Object.keys(e)){let i=Object.getOwnPropertyDescriptor(e,t);if(i.hasOwnProperty(\"value\"))if(r.hasOwnProperty(t)&&iQ(i.value)){let n=Object.getOwnPropertyDescriptor(r,t);iQ(n.value)?r[t]=Lt.merge({},r[t],e[t]):Reflect.defineProperty(r,t,i)}else Reflect.defineProperty(r,t,i);else Reflect.defineProperty(r,t,i)}return r};Lt.merge=(...r)=>{let e={};for(let t of r)Lt.mixin(e,t);return e};Lt.mixinEmitter=(r,e)=>{let t=e.constructor.prototype;for(let i of Object.keys(t)){let n=t[i];typeof n==\"function\"?Lt.define(r,i,n.bind(e)):Lt.define(r,i,n)}};Lt.onExit=r=>{let e=(t,i)=>{uie||(uie=!0,BL.forEach(n=>n()),t===!0&&process.exit(128+i))};BL.length===0&&(process.once(\"SIGTERM\",e.bind(null,!0,15)),process.once(\"SIGINT\",e.bind(null,!0,2)),process.once(\"exit\",e)),BL.push(r)};Lt.define=(r,e,t)=>{Reflect.defineProperty(r,e,{value:t})};Lt.defineExport=(r,e,t)=>{let i;Reflect.defineProperty(r,e,{enumerable:!0,configurable:!0,set(n){i=n},get(){return i?i():t()}})}});var fie=w(Dh=>{\"use strict\";Dh.ctrl={a:\"first\",b:\"backward\",c:\"cancel\",d:\"deleteForward\",e:\"last\",f:\"forward\",g:\"reset\",i:\"tab\",k:\"cutForward\",l:\"reset\",n:\"newItem\",m:\"cancel\",j:\"submit\",p:\"search\",r:\"remove\",s:\"save\",u:\"undo\",w:\"cutLeft\",x:\"toggleCursor\",v:\"paste\"};Dh.shift={up:\"shiftUp\",down:\"shiftDown\",left:\"shiftLeft\",right:\"shiftRight\",tab:\"prev\"};Dh.fn={up:\"pageUp\",down:\"pageDown\",left:\"pageLeft\",right:\"pageRight\",delete:\"deleteForward\"};Dh.option={b:\"backward\",f:\"forward\",d:\"cutRight\",left:\"cutLeft\",up:\"altUp\",down:\"altDown\"};Dh.keys={pageup:\"pageUp\",pagedown:\"pageDown\",home:\"home\",end:\"end\",cancel:\"cancel\",delete:\"deleteForward\",backspace:\"delete\",down:\"down\",enter:\"submit\",escape:\"cancel\",left:\"left\",space:\"space\",number:\"number\",return:\"submit\",right:\"right\",tab:\"next\",up:\"up\"}});var die=w((vut,pie)=>{\"use strict\";var hie=J(\"readline\"),VGe=fie(),XGe=/^(?:\\x1b)([a-zA-Z0-9])$/,_Ge=/^(?:\\x1b+)(O|N|\\[|\\[\\[)(?:(\\d+)(?:;(\\d+))?([~^$])|(?:1;)?(\\d+)?([a-zA-Z]))/,ZGe={OP:\"f1\",OQ:\"f2\",OR:\"f3\",OS:\"f4\",\"[11~\":\"f1\",\"[12~\":\"f2\",\"[13~\":\"f3\",\"[14~\":\"f4\",\"[[A\":\"f1\",\"[[B\":\"f2\",\"[[C\":\"f3\",\"[[D\":\"f4\",\"[[E\":\"f5\",\"[15~\":\"f5\",\"[17~\":\"f6\",\"[18~\":\"f7\",\"[19~\":\"f8\",\"[20~\":\"f9\",\"[21~\":\"f10\",\"[23~\":\"f11\",\"[24~\":\"f12\",\"[A\":\"up\",\"[B\":\"down\",\"[C\":\"right\",\"[D\":\"left\",\"[E\":\"clear\",\"[F\":\"end\",\"[H\":\"home\",OA:\"up\",OB:\"down\",OC:\"right\",OD:\"left\",OE:\"clear\",OF:\"end\",OH:\"home\",\"[1~\":\"home\",\"[2~\":\"insert\",\"[3~\":\"delete\",\"[4~\":\"end\",\"[5~\":\"pageup\",\"[6~\":\"pagedown\",\"[[5~\":\"pageup\",\"[[6~\":\"pagedown\",\"[7~\":\"home\",\"[8~\":\"end\",\"[a\":\"up\",\"[b\":\"down\",\"[c\":\"right\",\"[d\":\"left\",\"[e\":\"clear\",\"[2$\":\"insert\",\"[3$\":\"delete\",\"[5$\":\"pageup\",\"[6$\":\"pagedown\",\"[7$\":\"home\",\"[8$\":\"end\",Oa:\"up\",Ob:\"down\",Oc:\"right\",Od:\"left\",Oe:\"clear\",\"[2^\":\"insert\",\"[3^\":\"delete\",\"[5^\":\"pageup\",\"[6^\":\"pagedown\",\"[7^\":\"home\",\"[8^\":\"end\",\"[Z\":\"tab\"};function $Ge(r){return[\"[a\",\"[b\",\"[c\",\"[d\",\"[e\",\"[2$\",\"[3$\",\"[5$\",\"[6$\",\"[7$\",\"[8$\",\"[Z\"].includes(r)}function eYe(r){return[\"Oa\",\"Ob\",\"Oc\",\"Od\",\"Oe\",\"[2^\",\"[3^\",\"[5^\",\"[6^\",\"[7^\",\"[8^\"].includes(r)}var nQ=(r=\"\",e={})=>{let t,i={name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:r,raw:r,...e};if(Buffer.isBuffer(r)?r[0]>127&&r[1]===void 0?(r[0]-=128,r=\"\\x1B\"+String(r)):r=String(r):r!==void 0&&typeof r!=\"string\"?r=String(r):r||(r=i.sequence||\"\"),i.sequence=i.sequence||r||i.name,r===\"\\r\")i.raw=void 0,i.name=\"return\";else if(r===`\n`)i.name=\"enter\";else if(r===\"\t\")i.name=\"tab\";else if(r===\"\\b\"||r===\"\\x7F\"||r===\"\\x1B\\x7F\"||r===\"\\x1B\\b\")i.name=\"backspace\",i.meta=r.charAt(0)===\"\\x1B\";else if(r===\"\\x1B\"||r===\"\\x1B\\x1B\")i.name=\"escape\",i.meta=r.length===2;else if(r===\" \"||r===\"\\x1B \")i.name=\"space\",i.meta=r.length===2;else if(r<=\"\u001a\")i.name=String.fromCharCode(r.charCodeAt(0)+\"a\".charCodeAt(0)-1),i.ctrl=!0;else if(r.length===1&&r>=\"0\"&&r<=\"9\")i.name=\"number\";else if(r.length===1&&r>=\"a\"&&r<=\"z\")i.name=r;else if(r.length===1&&r>=\"A\"&&r<=\"Z\")i.name=r.toLowerCase(),i.shift=!0;else if(t=XGe.exec(r))i.meta=!0,i.shift=/^[A-Z]$/.test(t[1]);else if(t=_Ge.exec(r)){let n=[...r];n[0]===\"\\x1B\"&&n[1]===\"\\x1B\"&&(i.option=!0);let s=[t[1],t[2],t[4],t[6]].filter(Boolean).join(\"\"),o=(t[3]||t[5]||1)-1;i.ctrl=!!(o&4),i.meta=!!(o&10),i.shift=!!(o&1),i.code=s,i.name=ZGe[s],i.shift=$Ge(s)||i.shift,i.ctrl=eYe(s)||i.ctrl}return i};nQ.listen=(r={},e)=>{let{stdin:t}=r;if(!t||t!==process.stdin&&!t.isTTY)throw new Error(\"Invalid stream passed\");let i=hie.createInterface({terminal:!0,input:t});hie.emitKeypressEvents(t,i);let n=(a,l)=>e(a,nQ(a,l),i),s=t.isRaw;return t.isTTY&&t.setRawMode(!0),t.on(\"keypress\",n),i.resume(),()=>{t.isTTY&&t.setRawMode(s),t.removeListener(\"keypress\",n),i.pause(),i.close()}};nQ.action=(r,e,t)=>{let i={...VGe,...t};return e.ctrl?(e.action=i.ctrl[e.name],e):e.option&&i.option?(e.action=i.option[e.name],e):e.shift?(e.action=i.shift[e.name],e):(e.action=i.keys[e.name],e)};pie.exports=nQ});var mie=w((xut,Cie)=>{\"use strict\";Cie.exports=r=>{r.timers=r.timers||{};let e=r.options.timers;if(!!e)for(let t of Object.keys(e)){let i=e[t];typeof i==\"number\"&&(i={interval:i}),tYe(r,t,i)}};function tYe(r,e,t={}){let i=r.timers[e]={name:e,start:Date.now(),ms:0,tick:0},n=t.interval||120;i.frames=t.frames||[],i.loading=!0;let s=setInterval(()=>{i.ms=Date.now()-i.start,i.tick++,r.render()},n);return i.stop=()=>{i.loading=!1,clearInterval(s)},Reflect.defineProperty(i,\"interval\",{value:s}),r.once(\"close\",()=>i.stop()),i.stop}});var Iie=w((Put,Eie)=>{\"use strict\";var{define:rYe,width:iYe}=Gi(),QL=class{constructor(e){let t=e.options;rYe(this,\"_prompt\",e),this.type=e.type,this.name=e.name,this.message=\"\",this.header=\"\",this.footer=\"\",this.error=\"\",this.hint=\"\",this.input=\"\",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt=\"\",this.buffer=\"\",this.width=iYe(t.stdout||process.stdout),Object.assign(this,t),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e={...this};return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let t=this._color||e[this.status];return typeof t==\"function\"?t:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading==\"boolean\"?this._loading:this.loadingChoices?\"choices\":!1}get status(){return this.cancelled?\"cancelled\":this.submitted?\"submitted\":\"pending\"}};Eie.exports=QL});var wie=w((Dut,yie)=>{\"use strict\";var bL=Gi(),Pi=so(),SL={default:Pi.noop,noop:Pi.noop,set inverse(r){this._inverse=r},get inverse(){return this._inverse||bL.inverse(this.primary)},set complement(r){this._complement=r},get complement(){return this._complement||bL.complement(this.primary)},primary:Pi.cyan,success:Pi.green,danger:Pi.magenta,strong:Pi.bold,warning:Pi.yellow,muted:Pi.dim,disabled:Pi.gray,dark:Pi.dim.gray,underline:Pi.underline,set info(r){this._info=r},get info(){return this._info||this.primary},set em(r){this._em=r},get em(){return this._em||this.primary.underline},set heading(r){this._heading=r},get heading(){return this._heading||this.muted.underline},set pending(r){this._pending=r},get pending(){return this._pending||this.primary},set submitted(r){this._submitted=r},get submitted(){return this._submitted||this.success},set cancelled(r){this._cancelled=r},get cancelled(){return this._cancelled||this.danger},set typing(r){this._typing=r},get typing(){return this._typing||this.dim},set placeholder(r){this._placeholder=r},get placeholder(){return this._placeholder||this.primary.dim},set highlight(r){this._highlight=r},get highlight(){return this._highlight||this.inverse}};SL.merge=(r={})=>{r.styles&&typeof r.styles.enabled==\"boolean\"&&(Pi.enabled=r.styles.enabled),r.styles&&typeof r.styles.visible==\"boolean\"&&(Pi.visible=r.styles.visible);let e=bL.merge({},SL,r.styles);delete e.merge;for(let t of Object.keys(Pi))e.hasOwnProperty(t)||Reflect.defineProperty(e,t,{get:()=>Pi[t]});for(let t of Object.keys(Pi.styles))e.hasOwnProperty(t)||Reflect.defineProperty(e,t,{get:()=>Pi[t]});return e};yie.exports=SL});var Qie=w((kut,Bie)=>{\"use strict\";var vL=process.platform===\"win32\",Za=so(),nYe=Gi(),xL={...Za.symbols,upDownDoubleArrow:\"\\u21D5\",upDownDoubleArrow2:\"\\u2B0D\",upDownArrow:\"\\u2195\",asterisk:\"*\",asterism:\"\\u2042\",bulletWhite:\"\\u25E6\",electricArrow:\"\\u2301\",ellipsisLarge:\"\\u22EF\",ellipsisSmall:\"\\u2026\",fullBlock:\"\\u2588\",identicalTo:\"\\u2261\",indicator:Za.symbols.check,leftAngle:\"\\u2039\",mark:\"\\u203B\",minus:\"\\u2212\",multiplication:\"\\xD7\",obelus:\"\\xF7\",percent:\"%\",pilcrow:\"\\xB6\",pilcrow2:\"\\u2761\",pencilUpRight:\"\\u2710\",pencilDownRight:\"\\u270E\",pencilRight:\"\\u270F\",plus:\"+\",plusMinus:\"\\xB1\",pointRight:\"\\u261E\",rightAngle:\"\\u203A\",section:\"\\xA7\",hexagon:{off:\"\\u2B21\",on:\"\\u2B22\",disabled:\"\\u2B22\"},ballot:{on:\"\\u2611\",off:\"\\u2610\",disabled:\"\\u2612\"},stars:{on:\"\\u2605\",off:\"\\u2606\",disabled:\"\\u2606\"},folder:{on:\"\\u25BC\",off:\"\\u25B6\",disabled:\"\\u25B6\"},prefix:{pending:Za.symbols.question,submitted:Za.symbols.check,cancelled:Za.symbols.cross},separator:{pending:Za.symbols.pointerSmall,submitted:Za.symbols.middot,cancelled:Za.symbols.middot},radio:{off:vL?\"( )\":\"\\u25EF\",on:vL?\"(*)\":\"\\u25C9\",disabled:vL?\"(|)\":\"\\u24BE\"},numbers:[\"\\u24EA\",\"\\u2460\",\"\\u2461\",\"\\u2462\",\"\\u2463\",\"\\u2464\",\"\\u2465\",\"\\u2466\",\"\\u2467\",\"\\u2468\",\"\\u2469\",\"\\u246A\",\"\\u246B\",\"\\u246C\",\"\\u246D\",\"\\u246E\",\"\\u246F\",\"\\u2470\",\"\\u2471\",\"\\u2472\",\"\\u2473\",\"\\u3251\",\"\\u3252\",\"\\u3253\",\"\\u3254\",\"\\u3255\",\"\\u3256\",\"\\u3257\",\"\\u3258\",\"\\u3259\",\"\\u325A\",\"\\u325B\",\"\\u325C\",\"\\u325D\",\"\\u325E\",\"\\u325F\",\"\\u32B1\",\"\\u32B2\",\"\\u32B3\",\"\\u32B4\",\"\\u32B5\",\"\\u32B6\",\"\\u32B7\",\"\\u32B8\",\"\\u32B9\",\"\\u32BA\",\"\\u32BB\",\"\\u32BC\",\"\\u32BD\",\"\\u32BE\",\"\\u32BF\"]};xL.merge=r=>{let e=nYe.merge({},Za.symbols,xL,r.symbols);return delete e.merge,e};Bie.exports=xL});var Sie=w((Rut,bie)=>{\"use strict\";var sYe=wie(),oYe=Qie(),aYe=Gi();bie.exports=r=>{r.options=aYe.merge({},r.options.theme,r.options),r.symbols=oYe.merge(r.options),r.styles=sYe.merge(r.options)}});var kie=w((Pie,Die)=>{\"use strict\";var vie=process.env.TERM_PROGRAM===\"Apple_Terminal\",AYe=so(),PL=Gi(),oo=Die.exports=Pie,Dr=\"\\x1B[\",xie=\"\\x07\",DL=!1,sl=oo.code={bell:xie,beep:xie,beginning:`${Dr}G`,down:`${Dr}J`,esc:Dr,getPosition:`${Dr}6n`,hide:`${Dr}?25l`,line:`${Dr}2K`,lineEnd:`${Dr}K`,lineStart:`${Dr}1K`,restorePosition:Dr+(vie?\"8\":\"u\"),savePosition:Dr+(vie?\"7\":\"s\"),screen:`${Dr}2J`,show:`${Dr}?25h`,up:`${Dr}1J`},zc=oo.cursor={get hidden(){return DL},hide(){return DL=!0,sl.hide},show(){return DL=!1,sl.show},forward:(r=1)=>`${Dr}${r}C`,backward:(r=1)=>`${Dr}${r}D`,nextLine:(r=1)=>`${Dr}E`.repeat(r),prevLine:(r=1)=>`${Dr}F`.repeat(r),up:(r=1)=>r?`${Dr}${r}A`:\"\",down:(r=1)=>r?`${Dr}${r}B`:\"\",right:(r=1)=>r?`${Dr}${r}C`:\"\",left:(r=1)=>r?`${Dr}${r}D`:\"\",to(r,e){return e?`${Dr}${e+1};${r+1}H`:`${Dr}${r+1}G`},move(r=0,e=0){let t=\"\";return t+=r<0?zc.left(-r):r>0?zc.right(r):\"\",t+=e<0?zc.up(-e):e>0?zc.down(e):\"\",t},restore(r={}){let{after:e,cursor:t,initial:i,input:n,prompt:s,size:o,value:a}=r;if(i=PL.isPrimitive(i)?String(i):\"\",n=PL.isPrimitive(n)?String(n):\"\",a=PL.isPrimitive(a)?String(a):\"\",o){let l=oo.cursor.up(o)+oo.cursor.to(s.length),c=n.length-t;return c>0&&(l+=oo.cursor.left(c)),l}if(a||e){let l=!n&&!!i?-i.length:-n.length+t;return e&&(l-=e.length),n===\"\"&&i&&!s.includes(i)&&(l+=i.length),oo.cursor.move(l)}}},kL=oo.erase={screen:sl.screen,up:sl.up,down:sl.down,line:sl.line,lineEnd:sl.lineEnd,lineStart:sl.lineStart,lines(r){let e=\"\";for(let t=0;t<r;t++)e+=oo.erase.line+(t<r-1?oo.cursor.up(1):\"\");return r&&(e+=oo.code.beginning),e}};oo.clear=(r=\"\",e=process.stdout.columns)=>{if(!e)return kL.line+zc.to(0);let t=s=>[...AYe.unstyle(s)].length,i=r.split(/\\r?\\n/),n=0;for(let s of i)n+=1+Math.floor(Math.max(t(s)-1,0)/e);return(kL.line+zc.prevLine()).repeat(n-1)+kL.line+zc.to(0)}});var kh=w((Fut,Fie)=>{\"use strict\";var lYe=J(\"events\"),Rie=so(),RL=die(),cYe=mie(),uYe=Iie(),gYe=Sie(),xn=Gi(),Vc=kie(),Sm=class extends lYe{constructor(e={}){super(),this.name=e.name,this.type=e.type,this.options=e,gYe(this),cYe(this),this.state=new uYe(this),this.initial=[e.initial,e.default].find(t=>t!=null),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=hYe(this.options.margin),this.setMaxListeners(0),fYe(this)}async keypress(e,t={}){this.keypressed=!0;let i=RL.action(e,RL(e,t),this.options.actions);this.state.keypress=i,this.emit(\"keypress\",e,i),this.emit(\"state\",this.state.clone());let n=this.options[i.action]||this[i.action]||this.dispatch;if(typeof n==\"function\")return await n.call(this,e,i);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit(\"alert\"):this.stdout.write(Vc.code.beep)}cursorHide(){this.stdout.write(Vc.cursor.hide()),xn.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(Vc.cursor.show())}write(e){!e||(this.stdout&&this.state.show!==!1&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let t=this.state.buffer;this.state.buffer=\"\",!(!t&&!e||this.options.show===!1)&&this.stdout.write(Vc.cursor.down(e)+Vc.clear(t,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:t,rest:i}=this.sections(),{cursor:n,initial:s=\"\",input:o=\"\",value:a=\"\"}=this,l=this.state.size=i.length,c={after:t,cursor:n,initial:s,input:o,prompt:e,size:l,value:a},u=Vc.cursor.restore(c);u&&this.stdout.write(u)}sections(){let{buffer:e,input:t,prompt:i}=this.state;i=Rie.unstyle(i);let n=Rie.unstyle(e),s=n.indexOf(i),o=n.slice(0,s),l=n.slice(s).split(`\n`),c=l[0],u=l[l.length-1],f=(i+(t?\" \"+t:\"\")).length,h=f<c.length?c.slice(f+1):\"\";return{header:o,prompt:c,after:h,rest:l.slice(1),last:u}}async submit(){this.state.submitted=!0,this.state.validating=!0,this.options.onSubmit&&await this.options.onSubmit.call(this,this.name,this.value,this);let e=this.state.error||await this.validate(this.value,this.state);if(e!==!0){let t=`\n`+this.symbols.pointer+\" \";typeof e==\"string\"?t+=e.trim():t+=\"Invalid input\",this.state.error=`\n`+this.styles.danger(t),this.state.submitted=!1,await this.render(),await this.alert(),this.state.validating=!1,this.state.error=void 0;return}this.state.validating=!1,await this.render(),await this.close(),this.value=await this.result(this.value),this.emit(\"submit\",this.value)}async cancel(e){this.state.cancelled=this.state.submitted=!0,await this.render(),await this.close(),typeof this.options.onCancel==\"function\"&&await this.options.onCancel.call(this,this.name,this.value,this),this.emit(\"cancel\",await this.error(e))}async close(){this.state.closed=!0;try{let e=this.sections(),t=Math.ceil(e.prompt.length/this.width);e.rest&&this.write(Vc.cursor.down(e.rest.length)),this.write(`\n`.repeat(t))}catch{}this.emit(\"close\")}start(){!this.stop&&this.options.show!==!1&&(this.stop=RL.listen(this,this.keypress.bind(this)),this.once(\"close\",this.stop))}async skip(){return this.skipped=this.options.skip===!0,typeof this.options.skip==\"function\"&&(this.skipped=await this.options.skip.call(this,this.name,this.value)),this.skipped}async initialize(){let{format:e,options:t,result:i}=this;if(this.format=()=>e.call(this,this.value),this.result=()=>i.call(this,this.value),typeof t.initial==\"function\"&&(this.initial=await t.initial.call(this,this)),typeof t.onRun==\"function\"&&await t.onRun.call(this,this),typeof t.onSubmit==\"function\"){let n=t.onSubmit.bind(this),s=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await n(this.name,this.value,this),s())}await this.start(),await this.render()}render(){throw new Error(\"expected prompt to have a custom render method\")}run(){return new Promise(async(e,t)=>{if(this.once(\"submit\",e),this.once(\"cancel\",t),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit(\"run\")})}async element(e,t,i){let{options:n,state:s,symbols:o,timers:a}=this,l=a&&a[e];s.timer=l;let c=n[e]||s[e]||o[e],u=t&&t[e]!=null?t[e]:await c;if(u===\"\")return u;let g=await this.resolve(u,s,t,i);return!g&&t&&t[e]?this.resolve(c,s,t,i):g}async prefix(){let e=await this.element(\"prefix\")||this.symbols,t=this.timers&&this.timers.prefix,i=this.state;return i.timer=t,xn.isObject(e)&&(e=e[i.status]||e.pending),xn.hasColor(e)?e:(this.styles[i.status]||this.styles.pending)(e)}async message(){let e=await this.element(\"message\");return xn.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element(\"separator\")||this.symbols,t=this.timers&&this.timers.separator,i=this.state;i.timer=t;let n=e[i.status]||e.pending||i.separator,s=await this.resolve(n,i);return xn.isObject(s)&&(s=s[i.status]||s.pending),xn.hasColor(s)?s:this.styles.muted(s)}async pointer(e,t){let i=await this.element(\"pointer\",e,t);if(typeof i==\"string\"&&xn.hasColor(i))return i;if(i){let n=this.styles,s=this.index===t,o=s?n.primary:c=>c,a=await this.resolve(i[s?\"on\":\"off\"]||i,this.state),l=xn.hasColor(a)?a:o(a);return s?l:\" \".repeat(a.length)}}async indicator(e,t){let i=await this.element(\"indicator\",e,t);if(typeof i==\"string\"&&xn.hasColor(i))return i;if(i){let n=this.styles,s=e.enabled===!0,o=s?n.success:n.dark,a=i[s?\"on\":\"off\"]||i;return xn.hasColor(a)?a:o(a)}return\"\"}body(){return null}footer(){if(this.state.status===\"pending\")return this.element(\"footer\")}header(){if(this.state.status===\"pending\")return this.element(\"header\")}async hint(){if(this.state.status===\"pending\"&&!this.isValue(this.state.input)){let e=await this.element(\"hint\");return xn.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?\"\":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==\"\"}resolve(e,...t){return xn.resolve(this,e,...t)}get base(){return Sm.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||xn.height(this.stdout,25)}get width(){return this.options.columns||xn.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:t}=this.state,i=[t,e].find(this.isValue.bind(this));return this.isValue(i)?i:this.initial}static get prompt(){return e=>new this(e).run()}};function fYe(r){let e=n=>r[n]===void 0||typeof r[n]==\"function\",t=[\"actions\",\"choices\",\"initial\",\"margin\",\"roles\",\"styles\",\"symbols\",\"theme\",\"timers\",\"value\"],i=[\"body\",\"footer\",\"error\",\"header\",\"hint\",\"indicator\",\"message\",\"prefix\",\"separator\",\"skip\"];for(let n of Object.keys(r.options)){if(t.includes(n)||/^on[A-Z]/.test(n))continue;let s=r.options[n];typeof s==\"function\"&&e(n)?i.includes(n)||(r[n]=s.bind(r)):typeof r[n]!=\"function\"&&(r[n]=s)}}function hYe(r){typeof r==\"number\"&&(r=[r,r,r,r]);let e=[].concat(r||[]),t=n=>n%2===0?`\n`:\" \",i=[];for(let n=0;n<4;n++){let s=t(n);e[n]?i.push(s.repeat(e[n])):i.push(\"\")}return i}Fie.exports=Sm});var Tie=w((Nut,Lie)=>{\"use strict\";var pYe=Gi(),Nie={default(r,e){return e},checkbox(r,e){throw new Error(\"checkbox role is not implemented yet\")},editable(r,e){throw new Error(\"editable role is not implemented yet\")},expandable(r,e){throw new Error(\"expandable role is not implemented yet\")},heading(r,e){return e.disabled=\"\",e.indicator=[e.indicator,\" \"].find(t=>t!=null),e.message=e.message||\"\",e},input(r,e){throw new Error(\"input role is not implemented yet\")},option(r,e){return Nie.default(r,e)},radio(r,e){throw new Error(\"radio role is not implemented yet\")},separator(r,e){return e.disabled=\"\",e.indicator=[e.indicator,\" \"].find(t=>t!=null),e.message=e.message||r.symbols.line.repeat(5),e},spacer(r,e){return e}};Lie.exports=(r,e={})=>{let t=pYe.merge({},Nie,e.roles);return t[r]||t.default}});var vm=w((Lut,Kie)=>{\"use strict\";var dYe=so(),CYe=kh(),mYe=Tie(),sQ=Gi(),{reorder:FL,scrollUp:EYe,scrollDown:IYe,isObject:Oie,swap:yYe}=sQ,NL=class extends CYe{constructor(e){super(e),this.cursorHide(),this.maxSelected=e.maxSelected||1/0,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=\"\"}async initialize(){typeof this.options.initial==\"function\"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:t,autofocus:i,suggest:n}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(s=>s.enabled=!1),typeof n!=\"function\"&&this.selectable.length===0)throw new Error(\"At least one choice must be selectable\");Oie(t)&&(t=Object.keys(t)),Array.isArray(t)?(i!=null&&(this.index=this.findIndex(i)),t.forEach(s=>this.enable(this.find(s))),await this.render()):(i!=null&&(t=i),typeof t==\"string\"&&(t=this.findIndex(t)),typeof t==\"number\"&&t>-1&&(this.index=Math.max(0,Math.min(t,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,t){this.state.loadingChoices=!0;let i=[],n=0,s=async(o,a)=>{typeof o==\"function\"&&(o=await o.call(this)),o instanceof Promise&&(o=await o);for(let l=0;l<o.length;l++){let c=o[l]=await this.toChoice(o[l],n++,a);i.push(c),c.choices&&await s(c.choices,c)}return i};return s(e,t).then(o=>(this.state.loadingChoices=!1,o))}async toChoice(e,t,i){if(typeof e==\"function\"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e==\"string\"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let n=e.value;if(e=mYe(e.role,this.options)(this,e),typeof e.disabled==\"string\"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint=\"(disabled)\"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||\"\",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input=\"\",e.index=t,e.cursor=0,sQ.define(e,\"parent\",i),e.level=i?i.level+1:1,e.indent==null&&(e.indent=i?i.indent+\"  \":e.indent||\"\"),e.path=i?i.path+\".\"+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,dYe.unstyle(e.message).length));let o={...e};return e.reset=(a=o.input,l=o.value)=>{for(let c of Object.keys(o))e[c]=o[c];e.input=a,e.value=l},n==null&&typeof e.initial==\"function\"&&(e.input=await e.initial.call(this,this.state,e,t)),e}async onChoice(e,t){this.emit(\"choice\",e,t,this),typeof e.onChoice==\"function\"&&await e.onChoice.call(this,this.state,e,t)}async addChoice(e,t,i){let n=await this.toChoice(e,t,i);return this.choices.push(n),this.index=this.choices.length-1,this.limit=this.choices.length,n}async newItem(e,t,i){let n={name:\"New choice name?\",editable:!0,newChoice:!0,...e},s=await this.addChoice(n,t,i);return s.updateChoice=()=>{delete s.newChoice,s.name=s.message=s.input,s.input=\"\",s.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?\"  \".repeat(e.level-1):\"\":e.indent}dispatch(e,t){if(this.multiple&&this[t.name])return this[t.name]();this.alert()}focus(e,t){return typeof t!=\"boolean\"&&(t=e.enabled),t&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=t&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelected<this.choices.length)return this.alert();let e=this.selectable.every(t=>t.enabled);return this.choices.forEach(t=>t.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(t=>!!t.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,t){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof t!=\"boolean\"&&(t=!e.enabled),e.enabled=t,e.choices&&e.choices.forEach(n=>this.toggle(n,t));let i=e.parent;for(;i;){let n=i.choices.filter(s=>this.isDisabled(s));i.enabled=n.every(s=>s.enabled===!0),i=i.parent}return Mie(this,this.choices),this.emit(\"toggle\",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let t=i=>{let n=Number(i);if(n>this.choices.length-1)return this.alert();let s=this.focused,o=this.choices.find(a=>n===a.index);if(!o.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(o)===-1){let a=FL(this.choices),l=a.indexOf(o);if(s.index>l){let c=a.slice(l,l+this.limit),u=a.filter(g=>!c.includes(g));this.choices=c.concat(u)}else{let c=l-this.limit+1;this.choices=a.slice(c).concat(a.slice(0,c))}}return this.index=this.choices.indexOf(o),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(i=>{let n=this.choices.length,s=this.num,o=(a=!1,l)=>{clearTimeout(this.numberTimeout),a&&(l=t(s)),this.num=\"\",i(l)};if(s===\"0\"||s.length===1&&Number(s+\"0\")>n)return o(!0);if(Number(s)>n)return o(!1,this.alert());this.numberTimeout=setTimeout(()=>o(!0),this.delay)})}home(){return this.choices=FL(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,t=FL(this.choices);return this.choices=t.slice(e).concat(t.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,t=this.visible.length,i=this.index;return this.options.scroll===!1&&i===0?this.alert():e>t&&i===0?this.scrollUp():(this.index=(i-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,t=this.visible.length,i=this.index;return this.options.scroll===!1&&i===t-1?this.alert():e>t&&i===t-1?this.scrollDown():(this.index=(i+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=EYe(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=IYe(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){yYe(this.choices,this.index,e)}isDisabled(e=this.focused){return e&&[\"disabled\",\"collapsed\",\"hidden\",\"completing\",\"readonly\"].some(i=>e[i]===!0)?!0:e&&e.role===\"heading\"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(t=>this.isEnabled(t));if(e.choices){let t=e.choices.filter(i=>!this.isDisabled(i));return e.enabled&&t.every(i=>this.isEnabled(i))}return e.enabled&&!this.isDisabled(e)}isChoice(e,t){return e.name===t||e.index===Number(t)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(t=>this.isChoice(e,t)):this.isChoice(e,this.initial)}map(e=[],t=\"value\"){return[].concat(e||[]).reduce((i,n)=>(i[n]=this.find(n,t),i),{})}filter(e,t){let n=typeof e==\"function\"?e:(a,l)=>[a.name,l].includes(e),o=(this.options.multiple?this.state._choices:this.choices).filter(n);return t?o.map(a=>a[t]):o}find(e,t){if(Oie(e))return t?e[t]:e;let n=typeof e==\"function\"?e:(o,a)=>[o.name,a].includes(e),s=this.choices.find(n);if(s)return t?s[t]:s}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(o=>o.newChoice))return this.alert();let{reorder:t,sort:i}=this.options,n=this.multiple===!0,s=this.selected;return s===void 0?this.alert():(Array.isArray(s)&&t!==!1&&i!==!0&&(s=sQ.reorder(s)),this.value=n?s.map(o=>o.name):s.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let t of e)this.state._choices.some(i=>i.name===t.name)||this.state._choices.push(t);if(!this._initial&&this.options.initial){this._initial=!0;let t=this.initial;if(typeof t==\"string\"||typeof t==\"number\"){let i=this.find(t);i&&(this.initial=i.index,this.focus(i,!0))}}}get choices(){return Mie(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:t,choices:i}=this,n=e.limit||this._limit||t.limit||i.length;return Math.min(n,this.height)}set value(e){super.value=e}get value(){return typeof super.value!=\"string\"&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&this.multiple!==!0&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}};function Mie(r,e){if(e instanceof Promise)return e;if(typeof e==\"function\"){if(sQ.isAsyncFn(e))return e;e=e.call(r,r)}for(let t of e){if(Array.isArray(t.choices)){let i=t.choices.filter(n=>!r.isDisabled(n));t.enabled=i.every(n=>n.enabled===!0)}r.isDisabled(t)===!0&&delete t.enabled}return e}Kie.exports=NL});var ol=w((Tut,Uie)=>{\"use strict\";var wYe=vm(),LL=Gi(),TL=class extends wYe{constructor(e){super(e),this.emptyError=this.options.emptyError||\"No items were selected\"}async dispatch(e,t){if(this.multiple)return this[t.name]?await this[t.name](e,t):await super.dispatch(e,t);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,t){return!this.multiple||this.options.pointer?super.pointer(e,t):\"\"}indicator(e,t){return this.multiple?super.indicator(e,t):\"\"}choiceMessage(e,t){let i=this.resolve(e.message,this.state,e,t);return e.role===\"heading\"&&!LL.hasColor(i)&&(i=this.styles.strong(i)),this.resolve(i,this.state,e,t)}choiceSeparator(){return\":\"}async renderChoice(e,t){await this.onChoice(e,t);let i=this.index===t,n=await this.pointer(e,t),s=await this.indicator(e,t)+(e.pad||\"\"),o=await this.resolve(e.hint,this.state,e,t);o&&!LL.hasColor(o)&&(o=this.styles.muted(o));let a=this.indent(e),l=await this.choiceMessage(e,t),c=()=>[this.margin[3],a+n+s,l,this.margin[1],o].filter(Boolean).join(\" \");return e.role===\"heading\"?c():e.disabled?(LL.hasColor(l)||(l=this.styles.disabled(l)),c()):(i&&(l=this.styles.em(l)),c())}async renderChoices(){if(this.state.loading===\"choices\")return this.styles.warning(\"Loading choices\");if(this.state.submitted)return\"\";let e=this.visible.map(async(s,o)=>await this.renderChoice(s,o)),t=await Promise.all(e);t.length||t.push(this.styles.danger(\"No matching choices\"));let i=this.margin[0]+t.join(`\n`),n;return this.options.choicesHeader&&(n=await this.resolve(this.options.choicesHeader,this.state)),[n,i].filter(Boolean).join(`\n`)}format(){return!this.state.submitted||this.state.cancelled?\"\":Array.isArray(this.selected)?this.selected.map(e=>this.styles.primary(e.name)).join(\", \"):this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:t}=this.state,i=\"\",n=await this.header(),s=await this.prefix(),o=await this.separator(),a=await this.message();this.options.promptLine!==!1&&(i=[s,a,o,\"\"].join(\" \"),this.state.prompt=i);let l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();l&&(i+=l),c&&!i.includes(c)&&(i+=\" \"+c),e&&!l&&!u.trim()&&this.multiple&&this.emptyError!=null&&(i+=this.styles.danger(this.emptyError)),this.clear(t),this.write([n,i,u,g].filter(Boolean).join(`\n`)),this.write(this.margin[2]),this.restore()}};Uie.exports=TL});var Gie=w((Out,Hie)=>{\"use strict\";var BYe=ol(),QYe=(r,e)=>{let t=r.toLowerCase();return i=>{let s=i.toLowerCase().indexOf(t),o=e(i.slice(s,s+t.length));return s>=0?i.slice(0,s)+o+i.slice(s+t.length):i}},OL=class extends BYe{constructor(e){super(e),this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:t,input:i}=this.state;return this.input=i.slice(0,t)+e+i.slice(t),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:t}=this.state;return t?(this.input=t.slice(0,e-1)+t.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:t}=this.state;return t[e]===void 0?this.alert():(this.input=`${t}`.slice(0,e)+`${t}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,t=this.state._choices){if(typeof this.options.suggest==\"function\")return this.options.suggest.call(this,e,t);let i=e.toLowerCase();return t.filter(n=>n.message.toLowerCase().includes(i))}pointer(){return\"\"}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(\", \");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!==\"pending\")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,t=QYe(this.input,e),i=this.choices;this.choices=i.map(n=>({...n,message:t(n.message)})),await super.render(),this.choices=i}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};Hie.exports=OL});var KL=w((Mut,Yie)=>{\"use strict\";var ML=Gi();Yie.exports=(r,e={})=>{r.cursorHide();let{input:t=\"\",initial:i=\"\",pos:n,showCursor:s=!0,color:o}=e,a=o||r.styles.placeholder,l=ML.inverse(r.styles.primary),c=C=>l(r.styles.black(C)),u=t,g=\" \",f=c(g);if(r.blink&&r.blink.off===!0&&(c=C=>C,f=\"\"),s&&n===0&&i===\"\"&&t===\"\")return c(g);if(s&&n===0&&(t===i||t===\"\"))return c(i[0])+a(i.slice(1));i=ML.isPrimitive(i)?`${i}`:\"\",t=ML.isPrimitive(t)?`${t}`:\"\";let h=i&&i.startsWith(t)&&i!==t,p=h?c(i[t.length]):f;if(n!==t.length&&s===!0&&(u=t.slice(0,n)+c(t[n])+t.slice(n+1),p=\"\"),s===!1&&(p=\"\"),h){let C=r.styles.unstyle(u+p);return u+p+a(i.slice(C.length))}return u+p}});var oQ=w((Kut,jie)=>{\"use strict\";var bYe=so(),SYe=ol(),vYe=KL(),UL=class extends SYe{constructor(e){super({...e,multiple:!0}),this.type=\"form\",this.initial=this.options.initial,this.align=[this.options.align,\"right\"].find(t=>t!=null),this.emptyError=\"\",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(t=>t.reset&&t.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let t=this.focused;if(!t)return this.alert();let{cursor:i,input:n}=t;return t.value=t.input=n.slice(0,i)+e+n.slice(i),t.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:t,input:i}=e;return e.value=e.input=i.slice(0,t-1)+i.slice(t),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:t,input:i}=e;if(i[t]===void 0)return this.alert();let n=`${i}`.slice(0,t)+`${i}`.slice(t+1);return e.value=e.input=n,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,t){return this.dispatch(e,t)}number(e,t){return this.dispatch(e,t)}next(){let e=this.focused;if(!e)return this.alert();let{initial:t,input:i}=e;return t&&t.startsWith(i)&&i!==t?(e.value=e.input=t,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input=\"\",e.cursor=0,this.render()):this.alert()}separator(){return\"\"}format(e){return this.state.submitted?\"\":super.format(e)}pointer(){return\"\"}indicator(e){return e.input?\"\\u29BF\":\"\\u2299\"}async choiceSeparator(e,t){let i=await this.resolve(e.separator,this.state,e,t)||\":\";return i?\" \"+this.styles.disabled(i):\"\"}async renderChoice(e,t){await this.onChoice(e,t);let{state:i,styles:n}=this,{cursor:s,initial:o=\"\",name:a,hint:l,input:c=\"\"}=e,{muted:u,submitted:g,primary:f,danger:h}=n,p=l,C=this.index===t,y=e.validate||(()=>!0),B=await this.choiceSeparator(e,t),v=e.message;this.align===\"right\"&&(v=v.padStart(this.longest+1,\" \")),this.align===\"left\"&&(v=v.padEnd(this.longest+1,\" \"));let D=this.values[a]=c||o,L=c?\"success\":\"dark\";await y.call(e,D,this.state)!==!0&&(L=\"danger\");let H=n[L],j=H(await this.indicator(e,t))+(e.pad||\"\"),$=this.indent(e),V=()=>[$,j,v+B,c,p].filter(Boolean).join(\" \");if(i.submitted)return v=bYe.unstyle(v),c=g(c),p=\"\",V();if(e.format)c=await e.format.call(this,c,e,t);else{let W=this.styles.muted;c=vYe(this,{input:c,initial:o,pos:s,showCursor:C,color:W})}return this.isValue(c)||(c=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[a]=await e.result.call(this,D,e,t)),C&&(v=f(v)),e.error?c+=(c?\" \":\"\")+h(e.error.trim()):e.hint&&(c+=(c?\" \":\"\")+u(e.hint.trim())),V()}async submit(){return this.value=this.values,super.base.submit.call(this)}};jie.exports=UL});var HL=w((Uut,Jie)=>{\"use strict\";var xYe=oQ(),PYe=()=>{throw new Error(\"expected prompt to have a custom authenticate method\")},qie=(r=PYe)=>{class e extends xYe{constructor(i){super(i)}async submit(){this.value=await r.call(this,this.values,this.state),super.base.submit.call(this)}static create(i){return qie(i)}}return e};Jie.exports=qie()});var Vie=w((Hut,zie)=>{\"use strict\";var DYe=HL();function kYe(r,e){return r.username===this.options.username&&r.password===this.options.password}var Wie=(r=kYe)=>{let e=[{name:\"username\",message:\"username\"},{name:\"password\",message:\"password\",format(i){return this.options.showPassword?i:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(i.length))}}];class t extends DYe.create(r){constructor(n){super({...n,choices:e})}static create(n){return Wie(n)}}return t};zie.exports=Wie()});var aQ=w((Gut,Xie)=>{\"use strict\";var RYe=kh(),{isPrimitive:FYe,hasColor:NYe}=Gi(),GL=class extends RYe{constructor(e){super(e),this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:t,state:i}=this;return i.submitted?t.success(e):t.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return FYe(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status===\"pending\"){let e=await this.element(\"hint\");return NYe(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:t}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=this.styles.muted(this.default),a=[i,s,o,n].filter(Boolean).join(\" \");this.state.prompt=a;let l=await this.header(),c=this.value=this.cast(e),u=await this.format(c),g=await this.error()||await this.hint(),f=await this.footer();g&&!a.includes(g)&&(u+=\" \"+g),a+=\" \"+u,this.clear(t),this.write([l,a,f].filter(Boolean).join(`\n`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};Xie.exports=GL});var Zie=w((Yut,_ie)=>{\"use strict\";var LYe=aQ(),YL=class extends LYe{constructor(e){super(e),this.default=this.options.default||(this.initial?\"(Y/n)\":\"(y/N)\")}};_ie.exports=YL});var ene=w((jut,$ie)=>{\"use strict\";var TYe=ol(),OYe=oQ(),Rh=OYe.prototype,jL=class extends TYe{constructor(e){super({...e,multiple:!0}),this.align=[this.options.align,\"left\"].find(t=>t!=null),this.emptyError=\"\",this.values={}}dispatch(e,t){let i=this.focused,n=i.parent||{};return!i.editable&&!n.editable&&(e===\"a\"||e===\"i\")?super[e]():Rh.dispatch.call(this,e,t)}append(e,t){return Rh.append.call(this,e,t)}delete(e,t){return Rh.delete.call(this,e,t)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?Rh.next.call(this):super.next()}prev(){return this.focused.editable?Rh.prev.call(this):super.prev()}async indicator(e,t){let i=e.indicator||\"\",n=e.editable?i:super.indicator(e,t);return await this.resolve(n,this.state,e,t)||\"\"}indent(e){return e.role===\"heading\"?\"\":e.editable?\" \":\"  \"}async renderChoice(e,t){return e.indent=\"\",e.editable?Rh.renderChoice.call(this,e,t):super.renderChoice(e,t)}error(){return\"\"}footer(){return this.state.error}async validate(){let e=!0;for(let t of this.choices){if(typeof t.validate!=\"function\"||t.role===\"heading\")continue;let i=t.parent?this.value[t.parent.name]:this.value;if(t.editable?i=t.value===t.name?t.initial||\"\":t.value:this.isDisabled(t)||(i=t.enabled===!0),e=await t.validate(i,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e==\"string\"?e:\"Invalid Input\"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let t=e.parent?this.value[e.parent.name]:this.value;if(e.role===\"heading\"){this.value[e.name]={};continue}e.editable?t[e.name]=e.value===e.name?e.initial||\"\":e.value:this.isDisabled(e)||(t[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};$ie.exports=jL});var Xc=w((qut,tne)=>{\"use strict\";var MYe=kh(),KYe=KL(),{isPrimitive:UYe}=Gi(),qL=class extends MYe{constructor(e){super(e),this.initial=UYe(this.initial)?String(this.initial):\"\",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,t={}){let i=this.state.prevKeypress;return this.state.prevKeypress=t,this.options.multiline===!0&&t.name===\"return\"&&(!i||i.name!==\"return\")?this.append(`\n`,t):super.keypress(e,t)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value=\"\",this.cursor=0,this.render()}dispatch(e,t){if(!e||t.ctrl||t.code)return this.alert();this.append(e)}append(e){let{cursor:t,input:i}=this.state;this.input=`${i}`.slice(0,t)+e+`${i}`.slice(t),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:t}=this.state;if(e<=0)return this.alert();this.input=`${t}`.slice(0,e-1)+`${t}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:t}=this.state;if(t[e]===void 0)return this.alert();this.input=`${t}`.slice(0,e)+`${t}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let t=this.input.slice(0,e),i=this.input.slice(e),n=t.split(\" \");this.state.clipboard.push(n.pop()),this.input=n.join(\" \"),this.cursor=this.input.length,this.input+=i,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):\"\";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let t=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||t):KYe(this,{input:e,initial:t,pos:this.cursor})}async render(){let e=this.state.size,t=await this.prefix(),i=await this.separator(),n=await this.message(),s=[t,n,i].filter(Boolean).join(\" \");this.state.prompt=s;let o=await this.header(),a=await this.format(),l=await this.error()||await this.hint(),c=await this.footer();l&&!a.includes(l)&&(a+=\" \"+l),s+=\" \"+a,this.clear(e),this.write([o,s,c].filter(Boolean).join(`\n`)),this.restore()}};tne.exports=qL});var ine=w((Jut,rne)=>{\"use strict\";var HYe=r=>r.filter((e,t)=>r.lastIndexOf(e)===t),AQ=r=>HYe(r).filter(Boolean);rne.exports=(r,e={},t=\"\")=>{let{past:i=[],present:n=\"\"}=e,s,o;switch(r){case\"prev\":case\"undo\":return s=i.slice(0,i.length-1),o=i[i.length-1]||\"\",{past:AQ([t,...s]),present:o};case\"next\":case\"redo\":return s=i.slice(1),o=i[0]||\"\",{past:AQ([...s,t]),present:o};case\"save\":return{past:AQ([...i,t]),present:\"\"};case\"remove\":return o=AQ(i.filter(a=>a!==t)),n=\"\",o.length&&(n=o.pop()),{past:o,present:n};default:throw new Error(`Invalid action: \"${r}\"`)}}});var WL=w((Wut,sne)=>{\"use strict\";var GYe=Xc(),nne=ine(),JL=class extends GYe{constructor(e){super(e);let t=this.options.history;if(t&&t.store){let i=t.values||this.initial;this.autosave=!!t.autosave,this.store=t.store,this.data=this.store.get(\"values\")||{past:[],present:i},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=nne(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion(\"prev\")}altDown(){return this.completion(\"next\")}prev(){return this.save(),super.prev()}save(){!this.store||(this.data=nne(\"save\",this.data,this.input),this.store.set(\"values\",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};sne.exports=JL});var ane=w((zut,one)=>{\"use strict\";var YYe=Xc(),zL=class extends YYe{format(){return\"\"}};one.exports=zL});var lne=w((Vut,Ane)=>{\"use strict\";var jYe=Xc(),VL=class extends jYe{constructor(e={}){super(e),this.sep=this.options.separator||/, */,this.initial=e.initial||\"\"}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:t=>t;return this.list.map(e).join(\", \")}async submit(e){let t=this.state.error||await this.validate(this.list,this.state);return t!==!0?(this.state.error=t,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};Ane.exports=VL});var une=w((Xut,cne)=>{\"use strict\";var qYe=ol(),XL=class extends qYe{constructor(e){super({...e,multiple:!0})}};cne.exports=XL});var ZL=w((_ut,gne)=>{\"use strict\";var JYe=Xc(),_L=class extends JYe{constructor(e={}){super({style:\"number\",...e}),this.min=this.isValue(e.min)?this.toNumber(e.min):-1/0,this.max=this.isValue(e.max)?this.toNumber(e.max):1/0,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:\"\",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e===\".\"&&this.input.includes(\".\")?this.alert(\"invalid number\"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let t=e||this.minor,i=this.toNumber(this.input);return i>this.max+t?this.alert():(this.input=`${i+t}`,this.render())}down(e){let t=e||this.minor,i=this.toNumber(this.input);return i<this.min-t?this.alert():(this.input=`${i-t}`,this.render())}shiftDown(){return this.down(this.major)}shiftUp(){return this.up(this.major)}format(e=this.input){return typeof this.options.format==\"function\"?this.options.format.call(this,e):this.styles.info(e)}toNumber(e=\"\"){return this.float?+e:Math.round(+e)}isValue(e){return/^[-+]?[0-9]+((\\.)|(\\.[0-9]+))?$/.test(e)}submit(){let e=[this.input,this.initial].find(t=>this.isValue(t));return this.value=this.toNumber(e||0),super.submit()}};gne.exports=_L});var hne=w((Zut,fne)=>{fne.exports=ZL()});var dne=w(($ut,pne)=>{\"use strict\";var WYe=Xc(),$L=class extends WYe{constructor(e){super(e),this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):\"\"}};pne.exports=$L});var Ene=w((egt,mne)=>{\"use strict\";var zYe=so(),VYe=vm(),Cne=Gi(),eT=class extends VYe{constructor(e={}){super(e),this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||\"left\"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||`\n   `;let t=e.startNumber||1;typeof this.scale==\"number\"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((i,n)=>({name:n+t})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let e=0;for(let t of this.choices){e=Math.max(e,t.message.length),t.scaleIndex=t.initial||2,t.scale=[];for(let i=0;i<this.scale.length;i++)t.scale.push({index:i})}this.widths[0]=Math.min(this.widths[0],e+3)}async dispatch(e,t){if(this.multiple)return this[t.name]?await this[t.name](e,t):await super.dispatch(e,t);this.alert()}heading(e,t,i){return this.styles.strong(e)}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIndex>=this.scale.length-1?this.alert():(e.scaleIndex++,this.render())}left(){let e=this.focused;return e.scaleIndex<=0?this.alert():(e.scaleIndex--,this.render())}indent(){return\"\"}format(){return this.state.submitted?this.choices.map(t=>this.styles.info(t.index)).join(\", \"):\"\"}pointer(){return\"\"}renderScaleKey(){if(this.scaleKey===!1||this.state.submitted)return\"\";let e=this.scale.map(i=>`   ${i.name} - ${i.message}`);return[\"\",...e].map(i=>this.styles.muted(i)).join(`\n`)}renderScaleHeading(e){let t=this.scale.map(l=>l.name);typeof this.options.renderScaleHeading==\"function\"&&(t=this.options.renderScaleHeading.call(this,e));let i=this.scaleLength-t.join(\"\").length,n=Math.round(i/(t.length-1)),o=t.map(l=>this.styles.strong(l)).join(\" \".repeat(n)),a=\" \".repeat(this.widths[0]);return this.margin[3]+a+this.margin[1]+o}scaleIndicator(e,t,i){if(typeof this.options.scaleIndicator==\"function\")return this.options.scaleIndicator.call(this,e,t,i);let n=e.scaleIndex===t.index;return t.disabled?this.styles.hint(this.symbols.radio.disabled):n?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,t){let i=e.scale.map(s=>this.scaleIndicator(e,s,t)),n=this.term===\"Hyper\"?\"\":\" \";return i.join(n+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,t){await this.onChoice(e,t);let i=this.index===t,n=await this.pointer(e,t),s=await e.hint;s&&!Cne.hasColor(s)&&(s=this.styles.muted(s));let o=p=>this.margin[3]+p.replace(/\\s+$/,\"\").padEnd(this.widths[0],\" \"),a=this.newline,l=this.indent(e),c=await this.resolve(e.message,this.state,e,t),u=await this.renderScale(e,t),g=this.margin[1]+this.margin[3];this.scaleLength=zYe.unstyle(u).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-g.length);let h=Cne.wordWrap(c,{width:this.widths[0],newline:a}).split(`\n`).map(p=>o(p)+this.margin[1]);return i&&(u=this.styles.info(u),h=h.map(p=>this.styles.info(p))),h[0]+=u,this.linebreak&&h.push(\"\"),[l+n,h.join(`\n`)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return\"\";this.tableize();let e=this.visible.map(async(n,s)=>await this.renderChoice(n,s)),t=await Promise.all(e),i=await this.renderScaleHeading();return this.margin[0]+[i,...t.map(n=>n.join(\" \"))].join(`\n`)}async render(){let{submitted:e,size:t}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=\"\";this.options.promptLine!==!1&&(o=[i,s,n,\"\"].join(\" \"),this.state.prompt=o);let a=await this.header(),l=await this.format(),c=await this.renderScaleKey(),u=await this.error()||await this.hint(),g=await this.renderChoices(),f=await this.footer(),h=this.emptyError;l&&(o+=l),u&&!o.includes(u)&&(o+=\" \"+u),e&&!l&&!g.trim()&&this.multiple&&h!=null&&(o+=this.styles.danger(h)),this.clear(t),this.write([a,o,c,g,f].filter(Boolean).join(`\n`)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}};mne.exports=eT});var wne=w((tgt,yne)=>{\"use strict\";var Ine=so(),XYe=(r=\"\")=>typeof r==\"string\"?r.replace(/^['\"]|['\"]$/g,\"\"):\"\",rT=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=XYe(e.initial||this.field.initial||\"\"),this.message=e.message||this.name,this.cursor=0,this.input=\"\",this.lines=[]}},_Ye=async(r={},e={},t=i=>i)=>{let i=new Set,n=r.fields||[],s=r.template,o=[],a=[],l=[],c=1;typeof s==\"function\"&&(s=await s());let u=-1,g=()=>s[++u],f=()=>s[u+1],h=p=>{p.line=c,o.push(p)};for(h({type:\"bos\",value:\"\"});u<s.length-1;){let p=g();if(/^[^\\S\\n ]$/.test(p)){h({type:\"text\",value:p});continue}if(p===`\n`){h({type:\"newline\",value:p}),c++;continue}if(p===\"\\\\\"){p+=g(),h({type:\"text\",value:p});continue}if((p===\"$\"||p===\"#\"||p===\"{\")&&f()===\"{\"){p+=g();let B={type:\"template\",open:p,inner:\"\",close:\"\",value:p},v;for(;v=g();){if(v===\"}\"){f()===\"}\"&&(v+=g()),B.value+=v,B.close=v;break}v===\":\"?(B.initial=\"\",B.key=B.inner):B.initial!==void 0&&(B.initial+=v),B.value+=v,B.inner+=v}B.template=B.open+(B.initial||B.inner)+B.close,B.key=B.key||B.inner,e.hasOwnProperty(B.key)&&(B.initial=e[B.key]),B=t(B),h(B),l.push(B.key),i.add(B.key);let D=a.find(L=>L.name===B.key);B.field=n.find(L=>L.name===B.key),D||(D=new rT(B),a.push(D)),D.lines.push(B.line-1);continue}let C=o[o.length-1];C.type===\"text\"&&C.line===c?C.value+=p:h({type:\"text\",value:p})}return h({type:\"eos\",value:\"\"}),{input:s,tabstops:o,unique:i,keys:l,items:a}};yne.exports=async r=>{let e=r.options,t=new Set(e.required===!0?[]:e.required||[]),i={...e.values,...e.initial},{tabstops:n,items:s,keys:o}=await _Ye(e,i),a=tT(\"result\",r,e),l=tT(\"format\",r,e),c=tT(\"validate\",r,e,!0),u=r.isValue.bind(r);return async(g={},f=!1)=>{let h=0;g.required=t,g.items=s,g.keys=o,g.output=\"\";let p=async(v,D,L,H)=>{let j=await c(v,D,L,H);return j===!1?\"Invalid field \"+L.name:j};for(let v of n){let D=v.value,L=v.key;if(v.type!==\"template\"){D&&(g.output+=D);continue}if(v.type===\"template\"){let H=s.find(Z=>Z.name===L);e.required===!0&&g.required.add(H.name);let j=[H.input,g.values[H.value],H.value,D].find(u),V=(H.field||{}).message||v.inner;if(f){let Z=await p(g.values[L],g,H,h);if(Z&&typeof Z==\"string\"||Z===!1){g.invalid.set(L,Z);continue}g.invalid.delete(L);let A=await a(g.values[L],g,H,h);g.output+=Ine.unstyle(A);continue}H.placeholder=!1;let W=D;D=await l(D,g,H,h),j!==D?(g.values[L]=j,D=r.styles.typing(j),g.missing.delete(V)):(g.values[L]=void 0,j=`<${V}>`,D=r.styles.primary(j),H.placeholder=!0,g.required.has(L)&&g.missing.add(V)),g.missing.has(V)&&g.validating&&(D=r.styles.warning(j)),g.invalid.has(L)&&g.validating&&(D=r.styles.danger(j)),h===g.index&&(W!==D?D=r.styles.underline(D):D=r.styles.heading(Ine.unstyle(D))),h++}D&&(g.output+=D)}let C=g.output.split(`\n`).map(v=>\" \"+v),y=s.length,B=0;for(let v of s)g.invalid.has(v.name)&&v.lines.forEach(D=>{C[D][0]===\" \"&&(C[D]=g.styles.danger(g.symbols.bullet)+C[D].slice(1))}),r.isValue(g.values[v.name])&&B++;return g.completed=(B/y*100).toFixed(0),g.output=C.join(`\n`),g.output}};function tT(r,e,t,i){return(n,s,o,a)=>typeof o.field[r]==\"function\"?o.field[r].call(e,n,s,o,a):[i,n].find(l=>e.isValue(l))}});var Qne=w((rgt,Bne)=>{\"use strict\";var ZYe=so(),$Ye=wne(),eje=kh(),iT=class extends eje{constructor(e){super(e),this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await $Ye(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0&&(await this.initialize(),await this.render())}moveCursor(e){let t=this.getItem();this.cursor+=e,t.cursor+=e}dispatch(e,t){if(!t.code&&!t.ctrl&&e!=null&&this.getItem()){this.append(e,t);return}this.alert()}append(e,t){let i=this.getItem(),n=i.input.slice(0,this.cursor),s=i.input.slice(this.cursor);this.input=i.input=`${n}${e}${s}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let t=e.input.slice(this.cursor),i=e.input.slice(0,this.cursor-1);this.input=e.input=`${i}${t}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let t=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(t=this.styles.danger),t(`${this.state.completed}% completed`)}async render(){let{index:e,keys:t=[],submitted:i,size:n}=this.state,s=[this.options.newline,`\n`].find(v=>v!=null),o=await this.prefix(),a=await this.separator(),l=await this.message(),c=[o,l,a].filter(Boolean).join(\" \");this.state.prompt=c;let u=await this.header(),g=await this.error()||\"\",f=await this.hint()||\"\",h=i?\"\":await this.interpolate(this.state),p=this.state.key=t[e]||\"\",C=await this.format(p),y=await this.footer();C&&(c+=\" \"+C),f&&!C&&this.state.completed===0&&(c+=\" \"+f),this.clear(n);let B=[u,c,h,y,g.trim()];this.write(B.filter(Boolean).join(s)),this.restore()}getItem(e){let{items:t,keys:i,index:n}=this.state,s=t.find(o=>o.name===i[n]);return s&&s.input!=null&&(this.input=s.input,this.cursor=s.cursor),s}async submit(){typeof this.interpolate!=\"function\"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:t,output:i,values:n}=this.state;if(e.size){let a=\"\";for(let[l,c]of e)a+=`Invalid ${l}: ${c}\n`;return this.state.error=a,super.submit()}if(t.size)return this.state.error=\"Required: \"+[...t.keys()].join(\", \"),super.submit();let o=ZYe.unstyle(i).split(`\n`).map(a=>a.slice(1)).join(`\n`);return this.value={values:n,result:o},super.submit()}};Bne.exports=iT});var Sne=w((igt,bne)=>{\"use strict\";var tje=\"(Use <shift>+<up/down> to sort)\",rje=ol(),nT=class extends rje{constructor(e){super({...e,reorder:!1,sort:!0,multiple:!0}),this.state.hint=[this.options.hint,tje].find(this.isValue.bind(this))}indicator(){return\"\"}async renderChoice(e,t){let i=await super.renderChoice(e,t),n=this.symbols.identicalTo+\" \",s=this.index===t&&this.sorting?this.styles.muted(n):\"  \";return this.options.drag===!1&&(s=\"\"),this.options.numbered===!0?s+`${t+1} - `+i:s+i}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};bne.exports=nT});var xne=w((ngt,vne)=>{\"use strict\";var ije=vm(),sT=class extends ije{constructor(e={}){if(super(e),this.emptyError=e.emptyError||\"No items were selected\",this.term=process.env.TERM_PROGRAM,!this.options.header){let t=[\"\",\"4 - Strongly Agree\",\"3 - Agree\",\"2 - Neutral\",\"1 - Disagree\",\"0 - Strongly Disagree\",\"\"];t=t.map(i=>this.styles.muted(i)),this.state.header=t.join(`\n   `)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let t=await super.toChoices(...e);for(let i of t)i.scale=nje(5,this.options),i.scaleIdx=2;return t}dispatch(){this.alert()}space(){let e=this.focused,t=e.scale[e.scaleIdx],i=t.selected;return e.scale.forEach(n=>n.selected=!1),t.selected=!i,this.render()}indicator(){return\"\"}pointer(){return\"\"}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return\"   \"}async renderChoice(e,t){await this.onChoice(e,t);let i=this.index===t,n=this.term===\"Hyper\",s=n?9:8,o=n?\"\":\" \",a=this.symbols.line.repeat(s),l=\" \".repeat(s+(n?0:1)),c=D=>(D?this.styles.success(\"\\u25C9\"):\"\\u25EF\")+o,u=t+1+\".\",g=i?this.styles.heading:this.styles.noop,f=await this.resolve(e.message,this.state,e,t),h=this.indent(e),p=h+e.scale.map((D,L)=>c(L===e.scaleIdx)).join(a),C=D=>D===e.scaleIdx?g(D):D,y=h+e.scale.map((D,L)=>C(L)).join(l),B=()=>[u,f].filter(Boolean).join(\" \"),v=()=>[B(),p,y,\" \"].filter(Boolean).join(`\n`);return i&&(p=this.styles.cyan(p),y=this.styles.cyan(y)),v()}async renderChoices(){if(this.state.submitted)return\"\";let e=this.visible.map(async(i,n)=>await this.renderChoice(i,n)),t=await Promise.all(e);return t.length||t.push(this.styles.danger(\"No matching choices\")),t.join(`\n`)}format(){return this.state.submitted?this.choices.map(t=>this.styles.info(t.scaleIdx)).join(\", \"):\"\"}async render(){let{submitted:e,size:t}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=[i,s,n].filter(Boolean).join(\" \");this.state.prompt=o;let a=await this.header(),l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();(l||!c)&&(o+=\" \"+l),c&&!o.includes(c)&&(o+=\" \"+c),e&&!l&&!u&&this.multiple&&this.type!==\"form\"&&(o+=this.styles.danger(this.emptyError)),this.clear(t),this.write([o,a,u,g].filter(Boolean).join(`\n`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function nje(r,e={}){if(Array.isArray(e.scale))return e.scale.map(i=>({...i}));let t=[];for(let i=1;i<r+1;i++)t.push({i,selected:!1});return t}vne.exports=sT});var Dne=w((sgt,Pne)=>{Pne.exports=WL()});var Rne=w((ogt,kne)=>{\"use strict\";var sje=aQ(),oT=class extends sje{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||\"no\",this.enabled=this.options.enabled||\"yes\",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e=\"\",t){switch(e.toLowerCase()){case\" \":return this.toggle();case\"1\":case\"y\":case\"t\":return this.enable();case\"0\":case\"n\":case\"f\":return this.disable();default:return this.alert()}}format(){let e=i=>this.styles.primary.underline(i);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(\" / \"))}async render(){let{size:e}=this.state,t=await this.header(),i=await this.prefix(),n=await this.separator(),s=await this.message(),o=await this.format(),a=await this.error()||await this.hint(),l=await this.footer(),c=[i,s,n,o].join(\" \");this.state.prompt=c,a&&!c.includes(a)&&(c+=\" \"+a),this.clear(e),this.write([t,c,l].filter(Boolean).join(`\n`)),this.write(this.margin[2]),this.restore()}};kne.exports=oT});var Nne=w((agt,Fne)=>{\"use strict\";var oje=ol(),aT=class extends oje{constructor(e){if(super(e),typeof this.options.correctChoice!=\"number\"||this.options.correctChoice<0)throw new Error(\"Please specify the index of the correct answer from the list of choices\")}async toChoices(e,t){let i=await super.toChoices(e,t);if(i.length<2)throw new Error(\"Please give at least two choices to the user\");if(this.options.correctChoice>i.length)throw new Error(\"Please specify the index of the correct answer from the list of choices\");return i}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};Fne.exports=aT});var Tne=w(AT=>{\"use strict\";var Lne=Gi(),ui=(r,e)=>{Lne.defineExport(AT,r,e),Lne.defineExport(AT,r.toLowerCase(),e)};ui(\"AutoComplete\",()=>Gie());ui(\"BasicAuth\",()=>Vie());ui(\"Confirm\",()=>Zie());ui(\"Editable\",()=>ene());ui(\"Form\",()=>oQ());ui(\"Input\",()=>WL());ui(\"Invisible\",()=>ane());ui(\"List\",()=>lne());ui(\"MultiSelect\",()=>une());ui(\"Numeral\",()=>hne());ui(\"Password\",()=>dne());ui(\"Scale\",()=>Ene());ui(\"Select\",()=>ol());ui(\"Snippet\",()=>Qne());ui(\"Sort\",()=>Sne());ui(\"Survey\",()=>xne());ui(\"Text\",()=>Dne());ui(\"Toggle\",()=>Rne());ui(\"Quiz\",()=>Nne())});var Mne=w((lgt,One)=>{One.exports={ArrayPrompt:vm(),AuthPrompt:HL(),BooleanPrompt:aQ(),NumberPrompt:ZL(),StringPrompt:Xc()}});var Pm=w((cgt,Une)=>{\"use strict\";var Kne=J(\"assert\"),cT=J(\"events\"),al=Gi(),ao=class extends cT{constructor(e,t){super(),this.options=al.merge({},e),this.answers={...t}}register(e,t){if(al.isObject(e)){for(let n of Object.keys(e))this.register(n,e[n]);return this}Kne.equal(typeof t,\"function\",\"expected a function\");let i=e.toLowerCase();return t.prototype instanceof this.Prompt?this.prompts[i]=t:this.prompts[i]=t(this.Prompt,this),this}async prompt(e=[]){for(let t of[].concat(e))try{typeof t==\"function\"&&(t=await t.call(this)),await this.ask(al.merge({},this.options,t))}catch(i){return Promise.reject(i)}return this.answers}async ask(e){typeof e==\"function\"&&(e=await e.call(this));let t=al.merge({},this.options,e),{type:i,name:n}=e,{set:s,get:o}=al;if(typeof i==\"function\"&&(i=await i.call(this,e,this.answers)),!i)return this.answers[n];Kne(this.prompts[i],`Prompt \"${i}\" is not registered`);let a=new this.prompts[i](t),l=o(this.answers,n);a.state.answers=this.answers,a.enquirer=this,n&&a.on(\"submit\",u=>{this.emit(\"answer\",n,u,a),s(this.answers,n,u)});let c=a.emit.bind(a);return a.emit=(...u)=>(this.emit.call(this,...u),c(...u)),this.emit(\"prompt\",a,this),t.autofill&&l!=null?(a.value=a.input=l,t.autofill===\"show\"&&await a.submit()):l=a.value=await a.run(),l}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||kh()}static get prompts(){return Tne()}static get types(){return Mne()}static get prompt(){let e=(t,...i)=>{let n=new this(...i),s=n.emit.bind(n);return n.emit=(...o)=>(e.emit(...o),s(...o)),n.prompt(t)};return al.mixinEmitter(e,new cT),e}};al.mixinEmitter(ao,new cT);var lT=ao.prompts;for(let r of Object.keys(lT)){let e=r.toLowerCase(),t=i=>new lT[r](i).run();ao.prompt[e]=t,ao[e]=t,ao[r]||Reflect.defineProperty(ao,r,{get:()=>lT[r]})}var xm=r=>{al.defineExport(ao,r,()=>ao.types[r])};xm(\"ArrayPrompt\");xm(\"AuthPrompt\");xm(\"BooleanPrompt\");xm(\"NumberPrompt\");xm(\"StringPrompt\");Une.exports=ao});var Xne=w((_gt,Vne)=>{function uje(r,e){for(var t=-1,i=r==null?0:r.length;++t<i&&e(r[t],t,r)!==!1;);return r}Vne.exports=uje});var Nh=w((Zgt,_ne)=>{var gje=B0(),fje=gh();function hje(r,e,t,i){var n=!t;t||(t={});for(var s=-1,o=e.length;++s<o;){var a=e[s],l=i?i(t[a],r[a],a,t,r):void 0;l===void 0&&(l=r[a]),n?fje(t,a,l):gje(t,a,l)}return t}_ne.exports=hje});var $ne=w(($gt,Zne)=>{var pje=Nh(),dje=Ih();function Cje(r,e){return r&&pje(e,dje(e),r)}Zne.exports=Cje});var tse=w((eft,ese)=>{function mje(r){var e=[];if(r!=null)for(var t in Object(r))e.push(t);return e}ese.exports=mje});var ise=w((tft,rse)=>{var Eje=bn(),Ije=U0(),yje=tse(),wje=Object.prototype,Bje=wje.hasOwnProperty;function Qje(r){if(!Eje(r))return yje(r);var e=Ije(r),t=[];for(var i in r)i==\"constructor\"&&(e||!Bje.call(r,i))||t.push(i);return t}rse.exports=Qje});var Lh=w((rft,nse)=>{var bje=NN(),Sje=ise(),vje=rm();function xje(r){return vje(r)?bje(r,!0):Sje(r)}nse.exports=xje});var ose=w((ift,sse)=>{var Pje=Nh(),Dje=Lh();function kje(r,e){return r&&Pje(e,Dje(e),r)}sse.exports=kje});var dT=w((Fm,Th)=>{var Rje=ds(),cse=typeof Fm==\"object\"&&Fm&&!Fm.nodeType&&Fm,ase=cse&&typeof Th==\"object\"&&Th&&!Th.nodeType&&Th,Fje=ase&&ase.exports===cse,Ase=Fje?Rje.Buffer:void 0,lse=Ase?Ase.allocUnsafe:void 0;function Nje(r,e){if(e)return r.slice();var t=r.length,i=lse?lse(t):new r.constructor(t);return r.copy(i),i}Th.exports=Nje});var CT=w((nft,use)=>{function Lje(r,e){var t=-1,i=r.length;for(e||(e=Array(i));++t<i;)e[t]=r[t];return e}use.exports=Lje});var fse=w((sft,gse)=>{var Tje=Nh(),Oje=G0();function Mje(r,e){return Tje(r,Oje(r),e)}gse.exports=Mje});var cQ=w((oft,hse)=>{var Kje=LN(),Uje=Kje(Object.getPrototypeOf,Object);hse.exports=Uje});var mT=w((aft,pse)=>{var Hje=b0(),Gje=cQ(),Yje=G0(),jje=HN(),qje=Object.getOwnPropertySymbols,Jje=qje?function(r){for(var e=[];r;)Hje(e,Yje(r)),r=Gje(r);return e}:jje;pse.exports=Jje});var Cse=w((Aft,dse)=>{var Wje=Nh(),zje=mT();function Vje(r,e){return Wje(r,zje(r),e)}dse.exports=Vje});var Ese=w((lft,mse)=>{var Xje=UN(),_je=mT(),Zje=Lh();function $je(r){return Xje(r,Zje,_je)}mse.exports=$je});var yse=w((cft,Ise)=>{var eqe=Object.prototype,tqe=eqe.hasOwnProperty;function rqe(r){var e=r.length,t=new r.constructor(e);return e&&typeof r[0]==\"string\"&&tqe.call(r,\"index\")&&(t.index=r.index,t.input=r.input),t}Ise.exports=rqe});var uQ=w((uft,Bse)=>{var wse=MN();function iqe(r){var e=new r.constructor(r.byteLength);return new wse(e).set(new wse(r)),e}Bse.exports=iqe});var bse=w((gft,Qse)=>{var nqe=uQ();function sqe(r,e){var t=e?nqe(r.buffer):r.buffer;return new r.constructor(t,r.byteOffset,r.byteLength)}Qse.exports=sqe});var vse=w((fft,Sse)=>{var oqe=/\\w*$/;function aqe(r){var e=new r.constructor(r.source,oqe.exec(r));return e.lastIndex=r.lastIndex,e}Sse.exports=aqe});var Rse=w((hft,kse)=>{var xse=Ec(),Pse=xse?xse.prototype:void 0,Dse=Pse?Pse.valueOf:void 0;function Aqe(r){return Dse?Object(Dse.call(r)):{}}kse.exports=Aqe});var ET=w((pft,Fse)=>{var lqe=uQ();function cqe(r,e){var t=e?lqe(r.buffer):r.buffer;return new r.constructor(t,r.byteOffset,r.length)}Fse.exports=cqe});var Lse=w((dft,Nse)=>{var uqe=uQ(),gqe=bse(),fqe=vse(),hqe=Rse(),pqe=ET(),dqe=\"[object Boolean]\",Cqe=\"[object Date]\",mqe=\"[object Map]\",Eqe=\"[object Number]\",Iqe=\"[object RegExp]\",yqe=\"[object Set]\",wqe=\"[object String]\",Bqe=\"[object Symbol]\",Qqe=\"[object ArrayBuffer]\",bqe=\"[object DataView]\",Sqe=\"[object Float32Array]\",vqe=\"[object Float64Array]\",xqe=\"[object Int8Array]\",Pqe=\"[object Int16Array]\",Dqe=\"[object Int32Array]\",kqe=\"[object Uint8Array]\",Rqe=\"[object Uint8ClampedArray]\",Fqe=\"[object Uint16Array]\",Nqe=\"[object Uint32Array]\";function Lqe(r,e,t){var i=r.constructor;switch(e){case Qqe:return uqe(r);case dqe:case Cqe:return new i(+r);case bqe:return gqe(r,t);case Sqe:case vqe:case xqe:case Pqe:case Dqe:case kqe:case Rqe:case Fqe:case Nqe:return pqe(r,t);case mqe:return new i;case Eqe:case wqe:return new i(r);case Iqe:return fqe(r);case yqe:return new i;case Bqe:return hqe(r)}}Nse.exports=Lqe});var Mse=w((Cft,Ose)=>{var Tqe=bn(),Tse=Object.create,Oqe=function(){function r(){}return function(e){if(!Tqe(e))return{};if(Tse)return Tse(e);r.prototype=e;var t=new r;return r.prototype=void 0,t}}();Ose.exports=Oqe});var IT=w((mft,Kse)=>{var Mqe=Mse(),Kqe=cQ(),Uqe=U0();function Hqe(r){return typeof r.constructor==\"function\"&&!Uqe(r)?Mqe(Kqe(r)):{}}Kse.exports=Hqe});var Hse=w((Eft,Use)=>{var Gqe=nm(),Yqe=Go(),jqe=\"[object Map]\";function qqe(r){return Yqe(r)&&Gqe(r)==jqe}Use.exports=qqe});var qse=w((Ift,jse)=>{var Jqe=Hse(),Wqe=O0(),Gse=M0(),Yse=Gse&&Gse.isMap,zqe=Yse?Wqe(Yse):Jqe;jse.exports=zqe});var Wse=w((yft,Jse)=>{var Vqe=nm(),Xqe=Go(),_qe=\"[object Set]\";function Zqe(r){return Xqe(r)&&Vqe(r)==_qe}Jse.exports=Zqe});var _se=w((wft,Xse)=>{var $qe=Wse(),eJe=O0(),zse=M0(),Vse=zse&&zse.isSet,tJe=Vse?eJe(Vse):$qe;Xse.exports=tJe});var roe=w((Bft,toe)=>{var rJe=im(),iJe=Xne(),nJe=B0(),sJe=$ne(),oJe=ose(),aJe=dT(),AJe=CT(),lJe=fse(),cJe=Cse(),uJe=GN(),gJe=Ese(),fJe=nm(),hJe=yse(),pJe=Lse(),dJe=IT(),CJe=ws(),mJe=$C(),EJe=qse(),IJe=bn(),yJe=_se(),wJe=Ih(),BJe=Lh(),QJe=1,bJe=2,SJe=4,Zse=\"[object Arguments]\",vJe=\"[object Array]\",xJe=\"[object Boolean]\",PJe=\"[object Date]\",DJe=\"[object Error]\",$se=\"[object Function]\",kJe=\"[object GeneratorFunction]\",RJe=\"[object Map]\",FJe=\"[object Number]\",eoe=\"[object Object]\",NJe=\"[object RegExp]\",LJe=\"[object Set]\",TJe=\"[object String]\",OJe=\"[object Symbol]\",MJe=\"[object WeakMap]\",KJe=\"[object ArrayBuffer]\",UJe=\"[object DataView]\",HJe=\"[object Float32Array]\",GJe=\"[object Float64Array]\",YJe=\"[object Int8Array]\",jJe=\"[object Int16Array]\",qJe=\"[object Int32Array]\",JJe=\"[object Uint8Array]\",WJe=\"[object Uint8ClampedArray]\",zJe=\"[object Uint16Array]\",VJe=\"[object Uint32Array]\",ur={};ur[Zse]=ur[vJe]=ur[KJe]=ur[UJe]=ur[xJe]=ur[PJe]=ur[HJe]=ur[GJe]=ur[YJe]=ur[jJe]=ur[qJe]=ur[RJe]=ur[FJe]=ur[eoe]=ur[NJe]=ur[LJe]=ur[TJe]=ur[OJe]=ur[JJe]=ur[WJe]=ur[zJe]=ur[VJe]=!0;ur[DJe]=ur[$se]=ur[MJe]=!1;function gQ(r,e,t,i,n,s){var o,a=e&QJe,l=e&bJe,c=e&SJe;if(t&&(o=n?t(r,i,n,s):t(r)),o!==void 0)return o;if(!IJe(r))return r;var u=CJe(r);if(u){if(o=hJe(r),!a)return AJe(r,o)}else{var g=fJe(r),f=g==$se||g==kJe;if(mJe(r))return aJe(r,a);if(g==eoe||g==Zse||f&&!n){if(o=l||f?{}:dJe(r),!a)return l?cJe(r,oJe(o,r)):lJe(r,sJe(o,r))}else{if(!ur[g])return n?r:{};o=pJe(r,g,a)}}s||(s=new rJe);var h=s.get(r);if(h)return h;s.set(r,o),yJe(r)?r.forEach(function(y){o.add(gQ(y,e,t,y,r,s))}):EJe(r)&&r.forEach(function(y,B){o.set(B,gQ(y,e,t,B,r,s))});var p=c?l?gJe:uJe:l?BJe:wJe,C=u?void 0:p(r);return iJe(C||r,function(y,B){C&&(B=y,y=r[B]),nJe(o,B,gQ(y,e,t,B,r,s))}),o}toe.exports=gQ});var yT=w((Qft,ioe)=>{var XJe=roe(),_Je=1,ZJe=4;function $Je(r){return XJe(r,_Je|ZJe)}ioe.exports=$Je});var soe=w((bft,noe)=>{var eWe=gN();function tWe(r,e,t){return r==null?r:eWe(r,e,t)}noe.exports=tWe});var coe=w((kft,loe)=>{function rWe(r){var e=r==null?0:r.length;return e?r[e-1]:void 0}loe.exports=rWe});var goe=w((Rft,uoe)=>{var iWe=JC(),nWe=bR();function sWe(r,e){return e.length<2?r:iWe(r,nWe(e,0,-1))}uoe.exports=sWe});var hoe=w((Fft,foe)=>{var oWe=uh(),aWe=coe(),AWe=goe(),lWe=Uc();function cWe(r,e){return e=oWe(e,r),r=AWe(r,e),r==null||delete r[lWe(aWe(e))]}foe.exports=cWe});var doe=w((Nft,poe)=>{var uWe=hoe();function gWe(r,e){return r==null?!0:uWe(r,e)}poe.exports=gWe});var yoe=w((Aht,pWe)=>{pWe.exports={name:\"@yarnpkg/cli\",version:\"3.4.1\",license:\"BSD-2-Clause\",main:\"./sources/index.ts\",dependencies:{\"@yarnpkg/core\":\"workspace:^\",\"@yarnpkg/fslib\":\"workspace:^\",\"@yarnpkg/libzip\":\"workspace:^\",\"@yarnpkg/parsers\":\"workspace:^\",\"@yarnpkg/plugin-compat\":\"workspace:^\",\"@yarnpkg/plugin-dlx\":\"workspace:^\",\"@yarnpkg/plugin-essentials\":\"workspace:^\",\"@yarnpkg/plugin-file\":\"workspace:^\",\"@yarnpkg/plugin-git\":\"workspace:^\",\"@yarnpkg/plugin-github\":\"workspace:^\",\"@yarnpkg/plugin-http\":\"workspace:^\",\"@yarnpkg/plugin-init\":\"workspace:^\",\"@yarnpkg/plugin-link\":\"workspace:^\",\"@yarnpkg/plugin-nm\":\"workspace:^\",\"@yarnpkg/plugin-npm\":\"workspace:^\",\"@yarnpkg/plugin-npm-cli\":\"workspace:^\",\"@yarnpkg/plugin-pack\":\"workspace:^\",\"@yarnpkg/plugin-patch\":\"workspace:^\",\"@yarnpkg/plugin-pnp\":\"workspace:^\",\"@yarnpkg/plugin-pnpm\":\"workspace:^\",\"@yarnpkg/shell\":\"workspace:^\",chalk:\"^3.0.0\",\"ci-info\":\"^3.2.0\",clipanion:\"3.2.0-rc.4\",semver:\"^7.1.2\",tslib:\"^1.13.0\",typanion:\"^3.3.0\",yup:\"^0.32.9\"},devDependencies:{\"@types/semver\":\"^7.1.0\",\"@types/yup\":\"^0\",\"@yarnpkg/builder\":\"workspace:^\",\"@yarnpkg/monorepo\":\"workspace:^\",\"@yarnpkg/pnpify\":\"workspace:^\",micromatch:\"^4.0.2\"},peerDependencies:{\"@yarnpkg/core\":\"workspace:^\"},scripts:{postpack:\"rm -rf lib\",prepack:'run build:compile \"$(pwd)\"',\"build:cli+hook\":\"run build:pnp:hook && builder build bundle\",\"build:cli\":\"builder build bundle\",\"run:cli\":\"builder run\",\"update-local\":\"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/\"},publishConfig:{main:\"./lib/index.js\",types:\"./lib/index.d.ts\",bin:null},files:[\"/lib/**/*\",\"!/lib/pluginConfiguration.*\",\"!/lib/cli.*\"],\"@yarnpkg/builder\":{bundles:{standard:[\"@yarnpkg/plugin-essentials\",\"@yarnpkg/plugin-compat\",\"@yarnpkg/plugin-dlx\",\"@yarnpkg/plugin-file\",\"@yarnpkg/plugin-git\",\"@yarnpkg/plugin-github\",\"@yarnpkg/plugin-http\",\"@yarnpkg/plugin-init\",\"@yarnpkg/plugin-link\",\"@yarnpkg/plugin-nm\",\"@yarnpkg/plugin-npm\",\"@yarnpkg/plugin-npm-cli\",\"@yarnpkg/plugin-pack\",\"@yarnpkg/plugin-patch\",\"@yarnpkg/plugin-pnp\",\"@yarnpkg/plugin-pnpm\"]}},repository:{type:\"git\",url:\"ssh://git@github.com/yarnpkg/berry.git\",directory:\"packages/yarnpkg-cli\"},engines:{node:\">=12 <14 || 14.2 - 14.9 || >14.10.0\"}}});var kT=w((FCt,Loe)=>{\"use strict\";Loe.exports=function(e,t){t===!0&&(t=0);var i=\"\";if(typeof e==\"string\")try{i=new URL(e).protocol}catch{}else e&&e.constructor===URL&&(i=e.protocol);var n=i.split(/\\:|\\+/).filter(Boolean);return typeof t==\"number\"?n[t]:n}});var Ooe=w((NCt,Toe)=>{\"use strict\";var NWe=kT();function LWe(r){var e={protocols:[],protocol:null,port:null,resource:\"\",host:\"\",user:\"\",password:\"\",pathname:\"\",hash:\"\",search:\"\",href:r,query:{},parse_failed:!1};try{var t=new URL(r);e.protocols=NWe(t),e.protocol=e.protocols[0],e.port=t.port,e.resource=t.hostname,e.host=t.host,e.user=t.username||\"\",e.password=t.password||\"\",e.pathname=t.pathname,e.hash=t.hash.slice(1),e.search=t.search.slice(1),e.href=t.href,e.query=Object.fromEntries(t.searchParams)}catch{e.protocols=[\"file\"],e.protocol=e.protocols[0],e.port=\"\",e.resource=\"\",e.user=\"\",e.pathname=\"\",e.hash=\"\",e.search=\"\",e.href=r,e.query={},e.parse_failed=!0}return e}Toe.exports=LWe});var Uoe=w((LCt,Koe)=>{\"use strict\";var TWe=Ooe();function OWe(r){return r&&typeof r==\"object\"&&\"default\"in r?r:{default:r}}var MWe=OWe(TWe),KWe=\"text/plain\",UWe=\"us-ascii\",Moe=(r,e)=>e.some(t=>t instanceof RegExp?t.test(r):t===r),HWe=(r,{stripHash:e})=>{let t=/^data:(?<type>[^,]*?),(?<data>[^#]*?)(?:#(?<hash>.*))?$/.exec(r);if(!t)throw new Error(`Invalid URL: ${r}`);let{type:i,data:n,hash:s}=t.groups,o=i.split(\";\");s=e?\"\":s;let a=!1;o[o.length-1]===\"base64\"&&(o.pop(),a=!0);let l=(o.shift()||\"\").toLowerCase(),u=[...o.map(g=>{let[f,h=\"\"]=g.split(\"=\").map(p=>p.trim());return f===\"charset\"&&(h=h.toLowerCase(),h===UWe)?\"\":`${f}${h?`=${h}`:\"\"}`}).filter(Boolean)];return a&&u.push(\"base64\"),(u.length>0||l&&l!==KWe)&&u.unshift(l),`data:${u.join(\";\")},${a?n.trim():n}${s?`#${s}`:\"\"}`};function GWe(r,e){if(e={defaultProtocol:\"http:\",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},r=r.trim(),/^data:/i.test(r))return HWe(r,e);if(/^view-source:/i.test(r))throw new Error(\"`view-source:` is not supported as it is a non-standard protocol\");let t=r.startsWith(\"//\");!t&&/^\\.*\\//.test(r)||(r=r.replace(/^(?!(?:\\w+:)?\\/\\/)|^\\/\\//,e.defaultProtocol));let n=new URL(r);if(e.forceHttp&&e.forceHttps)throw new Error(\"The `forceHttp` and `forceHttps` options cannot be used together\");if(e.forceHttp&&n.protocol===\"https:\"&&(n.protocol=\"http:\"),e.forceHttps&&n.protocol===\"http:\"&&(n.protocol=\"https:\"),e.stripAuthentication&&(n.username=\"\",n.password=\"\"),e.stripHash?n.hash=\"\":e.stripTextFragment&&(n.hash=n.hash.replace(/#?:~:text.*?$/i,\"\")),n.pathname){let o=/\\b[a-z][a-z\\d+\\-.]{1,50}:\\/\\//g,a=0,l=\"\";for(;;){let u=o.exec(n.pathname);if(!u)break;let g=u[0],f=u.index;l+=n.pathname.slice(a,f).replace(/\\/{2,}/g,\"/\"),l+=g,a=f+g.length}l+=n.pathname.slice(a,n.pathname.length).replace(/\\/{2,}/g,\"/\"),n.pathname=l}if(n.pathname)try{n.pathname=decodeURI(n.pathname)}catch{}if(e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let o=n.pathname.split(\"/\"),a=o[o.length-1];Moe(a,e.removeDirectoryIndex)&&(o=o.slice(0,-1),n.pathname=o.slice(1).join(\"/\")+\"/\")}if(n.hostname&&(n.hostname=n.hostname.replace(/\\.$/,\"\"),e.stripWWW&&/^www\\.(?!www\\.)[a-z\\-\\d]{1,63}\\.[a-z.\\-\\d]{2,63}$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\\./,\"\"))),Array.isArray(e.removeQueryParameters))for(let o of[...n.searchParams.keys()])Moe(o,e.removeQueryParameters)&&n.searchParams.delete(o);if(e.removeQueryParameters===!0&&(n.search=\"\"),e.sortQueryParameters){n.searchParams.sort();try{n.search=decodeURIComponent(n.search)}catch{}}e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\\/$/,\"\"));let s=r;return r=n.toString(),!e.removeSingleSlash&&n.pathname===\"/\"&&!s.endsWith(\"/\")&&n.hash===\"\"&&(r=r.replace(/\\/$/,\"\")),(e.removeTrailingSlash||n.pathname===\"/\")&&n.hash===\"\"&&e.removeSingleSlash&&(r=r.replace(/\\/$/,\"\")),t&&!e.normalizeProtocol&&(r=r.replace(/^http:\\/\\//,\"//\")),e.stripProtocol&&(r=r.replace(/^(?:https?:)?\\/\\//,\"\")),r}var RT=(r,e=!1)=>{let t=/^(?:([a-z_][a-z0-9_-]{0,31})@|https?:\\/\\/)([\\w\\.\\-@]+)[\\/:]([\\~,\\.\\w,\\-,\\_,\\/]+?(?:\\.git|\\/)?)$/,i=s=>{let o=new Error(s);throw o.subject_url=r,o};(typeof r!=\"string\"||!r.trim())&&i(\"Invalid url.\"),r.length>RT.MAX_INPUT_LENGTH&&i(\"Input exceeds maximum length. If needed, change the value of parseUrl.MAX_INPUT_LENGTH.\"),e&&(typeof e!=\"object\"&&(e={stripHash:!1}),r=GWe(r,e));let n=MWe.default(r);if(n.parse_failed){let s=n.href.match(t);s?(n.protocols=[\"ssh\"],n.protocol=\"ssh\",n.resource=s[2],n.host=s[2],n.user=s[1],n.pathname=`/${s[3]}`,n.parse_failed=!1):i(\"URL parsing failed.\")}return n};RT.MAX_INPUT_LENGTH=2048;Koe.exports=RT});var Yoe=w((TCt,Goe)=>{\"use strict\";var YWe=kT();function Hoe(r){if(Array.isArray(r))return r.indexOf(\"ssh\")!==-1||r.indexOf(\"rsync\")!==-1;if(typeof r!=\"string\")return!1;var e=YWe(r);if(r=r.substring(r.indexOf(\"://\")+3),Hoe(e))return!0;var t=new RegExp(\".([a-zA-Z\\\\d]+):(\\\\d+)/\");return!r.match(t)&&r.indexOf(\"@\")<r.indexOf(\":\")}Goe.exports=Hoe});var Joe=w((OCt,qoe)=>{\"use strict\";var jWe=Uoe(),joe=Yoe();function qWe(r){var e=jWe(r);return e.token=\"\",e.password===\"x-oauth-basic\"?e.token=e.user:e.user===\"x-token-auth\"&&(e.token=e.password),joe(e.protocols)||e.protocols.length===0&&joe(r)?e.protocol=\"ssh\":e.protocols.length?e.protocol=e.protocols[0]:(e.protocol=\"file\",e.protocols=[\"file\"]),e.href=e.href.replace(/\\/$/,\"\"),e}qoe.exports=qWe});var zoe=w((MCt,Woe)=>{\"use strict\";var JWe=Joe();function FT(r){if(typeof r!=\"string\")throw new Error(\"The url must be a string.\");var e=/^([a-z\\d-]{1,39})\\/([-\\.\\w]{1,100})$/i;e.test(r)&&(r=\"https://github.com/\"+r);var t=JWe(r),i=t.resource.split(\".\"),n=null;switch(t.toString=function(y){return FT.stringify(this,y)},t.source=i.length>2?i.slice(1-i.length).join(\".\"):t.source=t.resource,t.git_suffix=/\\.git$/.test(t.pathname),t.name=decodeURIComponent((t.pathname||t.href).replace(/(^\\/)|(\\/$)/g,\"\").replace(/\\.git$/,\"\")),t.owner=decodeURIComponent(t.user),t.source){case\"git.cloudforge.com\":t.owner=t.user,t.organization=i[0],t.source=\"cloudforge.com\";break;case\"visualstudio.com\":if(t.resource===\"vs-ssh.visualstudio.com\"){n=t.name.split(\"/\"),n.length===4&&(t.organization=n[1],t.owner=n[2],t.name=n[3],t.full_name=n[2]+\"/\"+n[3]);break}else{n=t.name.split(\"/\"),n.length===2?(t.owner=n[1],t.name=n[1],t.full_name=\"_git/\"+t.name):n.length===3?(t.name=n[2],n[0]===\"DefaultCollection\"?(t.owner=n[2],t.organization=n[0],t.full_name=t.organization+\"/_git/\"+t.name):(t.owner=n[0],t.full_name=t.owner+\"/_git/\"+t.name)):n.length===4&&(t.organization=n[0],t.owner=n[1],t.name=n[3],t.full_name=t.organization+\"/\"+t.owner+\"/_git/\"+t.name);break}case\"dev.azure.com\":case\"azure.com\":if(t.resource===\"ssh.dev.azure.com\"){n=t.name.split(\"/\"),n.length===4&&(t.organization=n[1],t.owner=n[2],t.name=n[3]);break}else{n=t.name.split(\"/\"),n.length===5?(t.organization=n[0],t.owner=n[1],t.name=n[4],t.full_name=\"_git/\"+t.name):n.length===3?(t.name=n[2],n[0]===\"DefaultCollection\"?(t.owner=n[2],t.organization=n[0],t.full_name=t.organization+\"/_git/\"+t.name):(t.owner=n[0],t.full_name=t.owner+\"/_git/\"+t.name)):n.length===4&&(t.organization=n[0],t.owner=n[1],t.name=n[3],t.full_name=t.organization+\"/\"+t.owner+\"/_git/\"+t.name),t.query&&t.query.path&&(t.filepath=t.query.path.replace(/^\\/+/g,\"\")),t.query&&t.query.version&&(t.ref=t.query.version.replace(/^GB/,\"\"));break}default:n=t.name.split(\"/\");var s=n.length-1;if(n.length>=2){var o=n.indexOf(\"-\",2),a=n.indexOf(\"blob\",2),l=n.indexOf(\"tree\",2),c=n.indexOf(\"commit\",2),u=n.indexOf(\"src\",2),g=n.indexOf(\"raw\",2),f=n.indexOf(\"edit\",2);s=o>0?o-1:a>0?a-1:l>0?l-1:c>0?c-1:u>0?u-1:g>0?g-1:f>0?f-1:s,t.owner=n.slice(0,s).join(\"/\"),t.name=n[s],c&&(t.commit=n[s+2])}t.ref=\"\",t.filepathtype=\"\",t.filepath=\"\";var h=n.length>s&&n[s+1]===\"-\"?s+1:s;n.length>h+2&&[\"raw\",\"src\",\"blob\",\"tree\",\"edit\"].indexOf(n[h+1])>=0&&(t.filepathtype=n[h+1],t.ref=n[h+2],n.length>h+3&&(t.filepath=n.slice(h+3).join(\"/\"))),t.organization=t.owner;break}t.full_name||(t.full_name=t.owner,t.name&&(t.full_name&&(t.full_name+=\"/\"),t.full_name+=t.name)),t.owner.startsWith(\"scm/\")&&(t.source=\"bitbucket-server\",t.owner=t.owner.replace(\"scm/\",\"\"),t.organization=t.owner,t.full_name=t.owner+\"/\"+t.name);var p=/(projects|users)\\/(.*?)\\/repos\\/(.*?)((\\/.*$)|$)/,C=p.exec(t.pathname);return C!=null&&(t.source=\"bitbucket-server\",C[1]===\"users\"?t.owner=\"~\"+C[2]:t.owner=C[2],t.organization=t.owner,t.name=C[3],n=C[4].split(\"/\"),n.length>1&&([\"raw\",\"browse\"].indexOf(n[1])>=0?(t.filepathtype=n[1],n.length>2&&(t.filepath=n.slice(2).join(\"/\"))):n[1]===\"commits\"&&n.length>2&&(t.commit=n[2])),t.full_name=t.owner+\"/\"+t.name,t.query.at?t.ref=t.query.at:t.ref=\"\"),t}FT.stringify=function(r,e){e=e||(r.protocols&&r.protocols.length?r.protocols.join(\"+\"):r.protocol);var t=r.port?\":\"+r.port:\"\",i=r.user||\"git\",n=r.git_suffix?\".git\":\"\";switch(e){case\"ssh\":return t?\"ssh://\"+i+\"@\"+r.resource+t+\"/\"+r.full_name+n:i+\"@\"+r.resource+\":\"+r.full_name+n;case\"git+ssh\":case\"ssh+git\":case\"ftp\":case\"ftps\":return e+\"://\"+i+\"@\"+r.resource+t+\"/\"+r.full_name+n;case\"http\":case\"https\":var s=r.token?WWe(r):r.user&&(r.protocols.includes(\"http\")||r.protocols.includes(\"https\"))?r.user+\"@\":\"\";return e+\"://\"+s+r.resource+t+\"/\"+zWe(r)+n;default:return r.href}};function WWe(r){switch(r.source){case\"bitbucket.org\":return\"x-token-auth:\"+r.token+\"@\";default:return r.token+\"@\"}}function zWe(r){switch(r.source){case\"bitbucket-server\":return\"scm/\"+r.full_name;default:return\"\"+r.full_name}}Woe.exports=FT});var tO=w((xIt,fae)=>{var p3e=gh(),d3e=Ah();function C3e(r,e,t){(t!==void 0&&!d3e(r[e],t)||t===void 0&&!(e in r))&&p3e(r,e,t)}fae.exports=C3e});var pae=w((PIt,hae)=>{var m3e=rm(),E3e=Go();function I3e(r){return E3e(r)&&m3e(r)}hae.exports=I3e});var mae=w((DIt,Cae)=>{var y3e=Ic(),w3e=cQ(),B3e=Go(),Q3e=\"[object Object]\",b3e=Function.prototype,S3e=Object.prototype,dae=b3e.toString,v3e=S3e.hasOwnProperty,x3e=dae.call(Object);function P3e(r){if(!B3e(r)||y3e(r)!=Q3e)return!1;var e=w3e(r);if(e===null)return!0;var t=v3e.call(e,\"constructor\")&&e.constructor;return typeof t==\"function\"&&t instanceof t&&dae.call(t)==x3e}Cae.exports=P3e});var rO=w((kIt,Eae)=>{function D3e(r,e){if(!(e===\"constructor\"&&typeof r[e]==\"function\")&&e!=\"__proto__\")return r[e]}Eae.exports=D3e});var yae=w((RIt,Iae)=>{var k3e=Nh(),R3e=Lh();function F3e(r){return k3e(r,R3e(r))}Iae.exports=F3e});var vae=w((FIt,Sae)=>{var wae=tO(),N3e=dT(),L3e=ET(),T3e=CT(),O3e=IT(),Bae=zC(),Qae=ws(),M3e=pae(),K3e=$C(),U3e=I0(),H3e=bn(),G3e=mae(),Y3e=K0(),bae=rO(),j3e=yae();function q3e(r,e,t,i,n,s,o){var a=bae(r,t),l=bae(e,t),c=o.get(l);if(c){wae(r,t,c);return}var u=s?s(a,l,t+\"\",r,e,o):void 0,g=u===void 0;if(g){var f=Qae(l),h=!f&&K3e(l),p=!f&&!h&&Y3e(l);u=l,f||h||p?Qae(a)?u=a:M3e(a)?u=T3e(a):h?(g=!1,u=N3e(l,!0)):p?(g=!1,u=L3e(l,!0)):u=[]:G3e(l)||Bae(l)?(u=a,Bae(a)?u=j3e(a):(!H3e(a)||U3e(a))&&(u=O3e(l))):g=!1}g&&(o.set(l,u),n(u,l,i,s,o),o.delete(l)),wae(r,t,u)}Sae.exports=q3e});var Dae=w((NIt,Pae)=>{var J3e=im(),W3e=tO(),z3e=RN(),V3e=vae(),X3e=bn(),_3e=Lh(),Z3e=rO();function xae(r,e,t,i,n){r!==e&&z3e(e,function(s,o){if(n||(n=new J3e),X3e(s))V3e(r,e,o,t,xae,i,n);else{var a=i?i(Z3e(r,o),s,o+\"\",r,e,n):void 0;a===void 0&&(a=s),W3e(r,o,a)}},_3e)}Pae.exports=xae});var Rae=w((LIt,kae)=>{var $3e=S0(),e4e=pN(),t4e=dN();function r4e(r,e){return t4e(e4e(r,e,$3e),r+\"\")}kae.exports=r4e});var Nae=w((TIt,Fae)=>{var i4e=Ah(),n4e=rm(),s4e=WC(),o4e=bn();function a4e(r,e,t){if(!o4e(t))return!1;var i=typeof e;return(i==\"number\"?n4e(t)&&s4e(e,t.length):i==\"string\"&&e in t)?i4e(t[e],r):!1}Fae.exports=a4e});var Tae=w((OIt,Lae)=>{var A4e=Rae(),l4e=Nae();function c4e(r){return A4e(function(e,t){var i=-1,n=t.length,s=n>1?t[n-1]:void 0,o=n>2?t[2]:void 0;for(s=r.length>3&&typeof s==\"function\"?(n--,s):void 0,o&&l4e(t[0],t[1],o)&&(s=n<3?void 0:s,n=1),e=Object(e);++i<n;){var a=t[i];a&&r(e,a,i,s)}return e})}Lae.exports=c4e});var Mae=w((MIt,Oae)=>{var u4e=Dae(),g4e=Tae(),f4e=g4e(function(r,e,t){u4e(r,e,t)});Oae.exports=f4e});var Zae=w((Oyt,_ae)=>{var gO;_ae.exports=()=>(typeof gO>\"u\"&&(gO=J(\"zlib\").brotliDecompressSync(Buffer.from(\"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\",\"base64\")).toString()),gO)});var EAe=w((Awt,mAe)=>{var mO=Symbol(\"arg flag\"),Pn=class extends Error{constructor(e,t){super(e),this.name=\"ArgError\",this.code=t,Object.setPrototypeOf(this,Pn.prototype)}};function $m(r,{argv:e=process.argv.slice(2),permissive:t=!1,stopAtPositional:i=!1}={}){if(!r)throw new Pn(\"argument specification object is required\",\"ARG_CONFIG_NO_SPEC\");let n={_:[]},s={},o={};for(let a of Object.keys(r)){if(!a)throw new Pn(\"argument key cannot be an empty string\",\"ARG_CONFIG_EMPTY_KEY\");if(a[0]!==\"-\")throw new Pn(`argument key must start with '-' but found: '${a}'`,\"ARG_CONFIG_NONOPT_KEY\");if(a.length===1)throw new Pn(`argument key must have a name; singular '-' keys are not allowed: ${a}`,\"ARG_CONFIG_NONAME_KEY\");if(typeof r[a]==\"string\"){s[a]=r[a];continue}let l=r[a],c=!1;if(Array.isArray(l)&&l.length===1&&typeof l[0]==\"function\"){let[u]=l;l=(g,f,h=[])=>(h.push(u(g,f,h[h.length-1])),h),c=u===Boolean||u[mO]===!0}else if(typeof l==\"function\")c=l===Boolean||l[mO]===!0;else throw new Pn(`type missing or not a function or valid array type: ${a}`,\"ARG_CONFIG_VAD_TYPE\");if(a[1]!==\"-\"&&a.length>2)throw new Pn(`short argument keys (with a single hyphen) must have only one character: ${a}`,\"ARG_CONFIG_SHORTOPT_TOOLONG\");o[a]=[l,c]}for(let a=0,l=e.length;a<l;a++){let c=e[a];if(i&&n._.length>0){n._=n._.concat(e.slice(a));break}if(c===\"--\"){n._=n._.concat(e.slice(a+1));break}if(c.length>1&&c[0]===\"-\"){let u=c[1]===\"-\"||c.length===2?[c]:c.slice(1).split(\"\").map(g=>`-${g}`);for(let g=0;g<u.length;g++){let f=u[g],[h,p]=f[1]===\"-\"?f.split(/=(.*)/,2):[f,void 0],C=h;for(;C in s;)C=s[C];if(!(C in o))if(t){n._.push(f);continue}else throw new Pn(`unknown or unexpected option: ${h}`,\"ARG_UNKNOWN_OPTION\");let[y,B]=o[C];if(!B&&g+1<u.length)throw new Pn(`option requires argument (but was followed by another short argument): ${h}`,\"ARG_MISSING_REQUIRED_SHORTARG\");if(B)n[C]=y(!0,C,n[C]);else if(p===void 0){if(e.length<a+2||e[a+1].length>1&&e[a+1][0]===\"-\"&&!(e[a+1].match(/^-?\\d*(\\.(?=\\d))?\\d*$/)&&(y===Number||typeof BigInt<\"u\"&&y===BigInt))){let v=h===C?\"\":` (alias for ${C})`;throw new Pn(`option requires argument: ${h}${v}`,\"ARG_MISSING_REQUIRED_LONGARG\")}n[C]=y(e[a+1],C,n[C]),++a}else n[C]=y(p,C,n[C])}}else n._.push(c)}return n}$m.flag=r=>(r[mO]=!0,r);$m.COUNT=$m.flag((r,e,t)=>(t||0)+1);$m.ArgError=Pn;mAe.exports=$m});var DAe=w((Mwt,PAe)=>{var wO;PAe.exports=()=>(typeof wO>\"u\"&&(wO=J(\"zlib\").brotliDecompressSync(Buffer.from(\"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\",\"base64\")).toString()),wO)});var OAe=w((xO,PO)=>{(function(r){xO&&typeof xO==\"object\"&&typeof PO<\"u\"?PO.exports=r():typeof define==\"function\"&&define.amd?define([],r):typeof window<\"u\"?window.isWindows=r():typeof global<\"u\"?global.isWindows=r():typeof self<\"u\"?self.isWindows=r():this.isWindows=r()})(function(){\"use strict\";return function(){return process&&(process.platform===\"win32\"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var HAe=w((OBt,UAe)=>{\"use strict\";DO.ifExists=u8e;var Wh=J(\"util\"),ks=J(\"path\"),MAe=OAe(),A8e=/^#!\\s*(?:\\/usr\\/bin\\/env)?\\s*([^ \\t]+)(.*)$/,l8e={createPwshFile:!0,createCmdFile:MAe(),fs:J(\"fs\")},c8e=new Map([[\".js\",\"node\"],[\".cjs\",\"node\"],[\".mjs\",\"node\"],[\".cmd\",\"cmd\"],[\".bat\",\"cmd\"],[\".ps1\",\"pwsh\"],[\".sh\",\"sh\"]]);function KAe(r){let e={...l8e,...r},t=e.fs;return e.fs_={chmod:t.chmod?Wh.promisify(t.chmod):async()=>{},mkdir:Wh.promisify(t.mkdir),readFile:Wh.promisify(t.readFile),stat:Wh.promisify(t.stat),unlink:Wh.promisify(t.unlink),writeFile:Wh.promisify(t.writeFile)},e}async function DO(r,e,t){let i=KAe(t);await i.fs_.stat(r),await f8e(r,e,i)}function u8e(r,e,t){return DO(r,e,t).catch(()=>{})}function g8e(r,e){return e.fs_.unlink(r).catch(()=>{})}async function f8e(r,e,t){let i=await m8e(r,t);return await h8e(e,t),p8e(r,e,i,t)}function h8e(r,e){return e.fs_.mkdir(ks.dirname(r),{recursive:!0})}function p8e(r,e,t,i){let n=KAe(i),s=[{generator:y8e,extension:\"\"}];return n.createCmdFile&&s.push({generator:I8e,extension:\".cmd\"}),n.createPwshFile&&s.push({generator:w8e,extension:\".ps1\"}),Promise.all(s.map(o=>E8e(r,e+o.extension,t,o.generator,n)))}function d8e(r,e){return g8e(r,e)}function C8e(r,e){return B8e(r,e)}async function m8e(r,e){let n=(await e.fs_.readFile(r,\"utf8\")).trim().split(/\\r*\\n/)[0].match(A8e);if(!n){let s=ks.extname(r).toLowerCase();return{program:c8e.get(s)||null,additionalArgs:\"\"}}return{program:n[1],additionalArgs:n[2]}}async function E8e(r,e,t,i,n){let s=n.preserveSymlinks?\"--preserve-symlinks\":\"\",o=[t.additionalArgs,s].filter(a=>a).join(\" \");return n=Object.assign({},n,{prog:t.program,args:o}),await d8e(e,n),await n.fs_.writeFile(e,i(r,e,n),\"utf8\"),C8e(e,n)}function I8e(r,e,t){let n=ks.relative(ks.dirname(e),r).split(\"/\").join(\"\\\\\"),s=ks.isAbsolute(n)?`\"${n}\"`:`\"%~dp0\\\\${n}\"`,o,a=t.prog,l=t.args||\"\",c=kO(t.nodePath).win32;a?(o=`\"%~dp0\\\\${a}.exe\"`,n=s):(a=s,l=\"\",n=\"\");let u=t.progArgs?`${t.progArgs.join(\" \")} `:\"\",g=c?`@SET NODE_PATH=${c}\\r\n`:\"\";return o?g+=`@IF EXIST ${o} (\\r\n  ${o} ${l} ${n} ${u}%*\\r\n) ELSE (\\r\n  @SETLOCAL\\r\n  @SET PATHEXT=%PATHEXT:;.JS;=;%\\r\n  ${a} ${l} ${n} ${u}%*\\r\n)\\r\n`:g+=`@${a} ${l} ${n} ${u}%*\\r\n`,g}function y8e(r,e,t){let i=ks.relative(ks.dirname(e),r),n=t.prog&&t.prog.split(\"\\\\\").join(\"/\"),s;i=i.split(\"\\\\\").join(\"/\");let o=ks.isAbsolute(i)?`\"${i}\"`:`\"$basedir/${i}\"`,a=t.args||\"\",l=kO(t.nodePath).posix;n?(s=`\"$basedir/${t.prog}\"`,i=o):(n=o,a=\"\",i=\"\");let c=t.progArgs?`${t.progArgs.join(\" \")} `:\"\",u=`#!/bin/sh\nbasedir=$(dirname \"$(echo \"$0\" | sed -e 's,\\\\\\\\,/,g')\")\n\ncase \\`uname\\` in\n    *CYGWIN*) basedir=\\`cygpath -w \"$basedir\"\\`;;\nesac\n\n`,g=t.nodePath?`export NODE_PATH=\"${l}\"\n`:\"\";return s?u+=`${g}if [ -x ${s} ]; then\n  exec ${s} ${a} ${i} ${c}\"$@\"\nelse\n  exec ${n} ${a} ${i} ${c}\"$@\"\nfi\n`:u+=`${g}${n} ${a} ${i} ${c}\"$@\"\nexit $?\n`,u}function w8e(r,e,t){let i=ks.relative(ks.dirname(e),r),n=t.prog&&t.prog.split(\"\\\\\").join(\"/\"),s=n&&`\"${n}$exe\"`,o;i=i.split(\"\\\\\").join(\"/\");let a=ks.isAbsolute(i)?`\"${i}\"`:`\"$basedir/${i}\"`,l=t.args||\"\",c=kO(t.nodePath),u=c.win32,g=c.posix;s?(o=`\"$basedir/${t.prog}$exe\"`,i=a):(s=a,l=\"\",i=\"\");let f=t.progArgs?`${t.progArgs.join(\" \")} `:\"\",h=`#!/usr/bin/env pwsh\n$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent\n\n$exe=\"\"\n${t.nodePath?`$env_node_path=$env:NODE_PATH\n$env:NODE_PATH=\"${u}\"\n`:\"\"}if ($PSVersionTable.PSVersion -lt \"6.0\" -or $IsWindows) {\n  # Fix case when both the Windows and Linux builds of Node\n  # are installed in the same directory\n  $exe=\".exe\"\n}`;return t.nodePath&&(h+=` else {\n  $env:NODE_PATH=\"${g}\"\n}`),o?h+=`\n$ret=0\nif (Test-Path ${o}) {\n  # Support pipeline input\n  if ($MyInvocation.ExpectingInput) {\n    $input | & ${o} ${l} ${i} ${f}$args\n  } else {\n    & ${o} ${l} ${i} ${f}$args\n  }\n  $ret=$LASTEXITCODE\n} else {\n  # Support pipeline input\n  if ($MyInvocation.ExpectingInput) {\n    $input | & ${s} ${l} ${i} ${f}$args\n  } else {\n    & ${s} ${l} ${i} ${f}$args\n  }\n  $ret=$LASTEXITCODE\n}\n${t.nodePath?`$env:NODE_PATH=$env_node_path\n`:\"\"}exit $ret\n`:h+=`\n# Support pipeline input\nif ($MyInvocation.ExpectingInput) {\n  $input | & ${s} ${l} ${i} ${f}$args\n} else {\n  & ${s} ${l} ${i} ${f}$args\n}\n${t.nodePath?`$env:NODE_PATH=$env_node_path\n`:\"\"}exit $LASTEXITCODE\n`,h}function B8e(r,e){return e.fs_.chmod(r,493)}function kO(r){if(!r)return{win32:\"\",posix:\"\"};let e=typeof r==\"string\"?r.split(ks.delimiter):Array.from(r),t={};for(let i=0;i<e.length;i++){let n=e[i].split(\"/\").join(\"\\\\\"),s=MAe()?e[i].split(\"\\\\\").join(\"/\").replace(/^([^:\\\\/]*):/,(o,a)=>`/mnt/${a.toLowerCase()}`):e[i];t.win32=t.win32?`${t.win32};${n}`:n,t.posix=t.posix?`${t.posix}:${s}`:s,t[i]={win32:n,posix:s}}return t}UAe.exports=DO});var YO=w((tQt,ale)=>{ale.exports=J(\"stream\")});var ule=w((rQt,cle)=>{\"use strict\";function Ale(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(r,n).enumerable})),t.push.apply(t,i)}return t}function Y8e(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ale(Object(t),!0).forEach(function(i){j8e(r,i,t[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Ale(Object(t)).forEach(function(i){Object.defineProperty(r,i,Object.getOwnPropertyDescriptor(t,i))})}return r}function j8e(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function q8e(r,e){if(!(r instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function lle(r,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(r,i.key,i)}}function J8e(r,e,t){return e&&lle(r.prototype,e),t&&lle(r,t),r}var W8e=J(\"buffer\"),$Q=W8e.Buffer,z8e=J(\"util\"),jO=z8e.inspect,V8e=jO&&jO.custom||\"inspect\";function X8e(r,e,t){$Q.prototype.copy.call(r,e,t)}cle.exports=function(){function r(){q8e(this,r),this.head=null,this.tail=null,this.length=0}return J8e(r,[{key:\"push\",value:function(t){var i={data:t,next:null};this.length>0?this.tail.next=i:this.head=i,this.tail=i,++this.length}},{key:\"unshift\",value:function(t){var i={data:t,next:this.head};this.length===0&&(this.tail=i),this.head=i,++this.length}},{key:\"shift\",value:function(){if(this.length!==0){var t=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:\"clear\",value:function(){this.head=this.tail=null,this.length=0}},{key:\"join\",value:function(t){if(this.length===0)return\"\";for(var i=this.head,n=\"\"+i.data;i=i.next;)n+=t+i.data;return n}},{key:\"concat\",value:function(t){if(this.length===0)return $Q.alloc(0);for(var i=$Q.allocUnsafe(t>>>0),n=this.head,s=0;n;)X8e(n.data,i,s),s+=n.data.length,n=n.next;return i}},{key:\"consume\",value:function(t,i){var n;return t<this.head.data.length?(n=this.head.data.slice(0,t),this.head.data=this.head.data.slice(t)):t===this.head.data.length?n=this.shift():n=i?this._getString(t):this._getBuffer(t),n}},{key:\"first\",value:function(){return this.head.data}},{key:\"_getString\",value:function(t){var i=this.head,n=1,s=i.data;for(t-=s.length;i=i.next;){var o=i.data,a=t>o.length?o.length:t;if(a===o.length?s+=o:s+=o.slice(0,t),t-=a,t===0){a===o.length?(++n,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(a));break}++n}return this.length-=n,s}},{key:\"_getBuffer\",value:function(t){var i=$Q.allocUnsafe(t),n=this.head,s=1;for(n.data.copy(i),t-=n.data.length;n=n.next;){var o=n.data,a=t>o.length?o.length:t;if(o.copy(i,i.length-t,0,a),t-=a,t===0){a===o.length?(++s,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(a));break}++s}return this.length-=s,i}},{key:V8e,value:function(t,i){return jO(this,Y8e({},i,{depth:0,customInspect:!1}))}}]),r}()});var JO=w((iQt,fle)=>{\"use strict\";function _8e(r,e){var t=this,i=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return i||n?(e?e(r):r&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(qO,this,r)):process.nextTick(qO,this,r)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(r||null,function(s){!e&&s?t._writableState?t._writableState.errorEmitted?process.nextTick(eb,t):(t._writableState.errorEmitted=!0,process.nextTick(gle,t,s)):process.nextTick(gle,t,s):e?(process.nextTick(eb,t),e(s)):process.nextTick(eb,t)}),this)}function gle(r,e){qO(r,e),eb(r)}function eb(r){r._writableState&&!r._writableState.emitClose||r._readableState&&!r._readableState.emitClose||r.emit(\"close\")}function Z8e(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function qO(r,e){r.emit(\"error\",e)}function $8e(r,e){var t=r._readableState,i=r._writableState;t&&t.autoDestroy||i&&i.autoDestroy?r.destroy(e):r.emit(\"error\",e)}fle.exports={destroy:_8e,undestroy:Z8e,errorOrDestroy:$8e}});var fl=w((nQt,dle)=>{\"use strict\";var ple={};function Fs(r,e,t){t||(t=Error);function i(s,o,a){return typeof e==\"string\"?e:e(s,o,a)}class n extends t{constructor(o,a,l){super(i(o,a,l))}}n.prototype.name=t.name,n.prototype.code=r,ple[r]=n}function hle(r,e){if(Array.isArray(r)){let t=r.length;return r=r.map(i=>String(i)),t>2?`one of ${e} ${r.slice(0,t-1).join(\", \")}, or `+r[t-1]:t===2?`one of ${e} ${r[0]} or ${r[1]}`:`of ${e} ${r[0]}`}else return`of ${e} ${String(r)}`}function eze(r,e,t){return r.substr(!t||t<0?0:+t,e.length)===e}function tze(r,e,t){return(t===void 0||t>r.length)&&(t=r.length),r.substring(t-e.length,t)===e}function rze(r,e,t){return typeof t!=\"number\"&&(t=0),t+e.length>r.length?!1:r.indexOf(e,t)!==-1}Fs(\"ERR_INVALID_OPT_VALUE\",function(r,e){return'The value \"'+e+'\" is invalid for option \"'+r+'\"'},TypeError);Fs(\"ERR_INVALID_ARG_TYPE\",function(r,e,t){let i;typeof e==\"string\"&&eze(e,\"not \")?(i=\"must not be\",e=e.replace(/^not /,\"\")):i=\"must be\";let n;if(tze(r,\" argument\"))n=`The ${r} ${i} ${hle(e,\"type\")}`;else{let s=rze(r,\".\")?\"property\":\"argument\";n=`The \"${r}\" ${s} ${i} ${hle(e,\"type\")}`}return n+=`. Received type ${typeof t}`,n},TypeError);Fs(\"ERR_STREAM_PUSH_AFTER_EOF\",\"stream.push() after EOF\");Fs(\"ERR_METHOD_NOT_IMPLEMENTED\",function(r){return\"The \"+r+\" method is not implemented\"});Fs(\"ERR_STREAM_PREMATURE_CLOSE\",\"Premature close\");Fs(\"ERR_STREAM_DESTROYED\",function(r){return\"Cannot call \"+r+\" after a stream was destroyed\"});Fs(\"ERR_MULTIPLE_CALLBACK\",\"Callback called multiple times\");Fs(\"ERR_STREAM_CANNOT_PIPE\",\"Cannot pipe, not readable\");Fs(\"ERR_STREAM_WRITE_AFTER_END\",\"write after end\");Fs(\"ERR_STREAM_NULL_VALUES\",\"May not write null values to stream\",TypeError);Fs(\"ERR_UNKNOWN_ENCODING\",function(r){return\"Unknown encoding: \"+r},TypeError);Fs(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\",\"stream.unshift() after end event\");dle.exports.codes=ple});var WO=w((sQt,Cle)=>{\"use strict\";var ize=fl().codes.ERR_INVALID_OPT_VALUE;function nze(r,e,t){return r.highWaterMark!=null?r.highWaterMark:e?r[t]:null}function sze(r,e,t,i){var n=nze(e,i,t);if(n!=null){if(!(isFinite(n)&&Math.floor(n)===n)||n<0){var s=i?t:\"highWaterMark\";throw new ize(s,n)}return Math.floor(n)}return r.objectMode?16:16*1024}Cle.exports={getHighWaterMark:sze}});var mle=w((oQt,zO)=>{typeof Object.create==\"function\"?zO.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:zO.exports=function(e,t){if(t){e.super_=t;var i=function(){};i.prototype=t.prototype,e.prototype=new i,e.prototype.constructor=e}}});var hl=w((aQt,XO)=>{try{if(VO=J(\"util\"),typeof VO.inherits!=\"function\")throw\"\";XO.exports=VO.inherits}catch{XO.exports=mle()}var VO});var Ile=w((AQt,Ele)=>{Ele.exports=J(\"util\").deprecate});var $O=w((lQt,Sle)=>{\"use strict\";Sle.exports=Tr;function wle(r){var e=this;this.next=null,this.entry=null,this.finish=function(){Rze(e,r)}}var Xh;Tr.WritableState=nE;var oze={deprecate:Ile()},Ble=YO(),rb=J(\"buffer\").Buffer,aze=global.Uint8Array||function(){};function Aze(r){return rb.from(r)}function lze(r){return rb.isBuffer(r)||r instanceof aze}var ZO=JO(),cze=WO(),uze=cze.getHighWaterMark,pl=fl().codes,gze=pl.ERR_INVALID_ARG_TYPE,fze=pl.ERR_METHOD_NOT_IMPLEMENTED,hze=pl.ERR_MULTIPLE_CALLBACK,pze=pl.ERR_STREAM_CANNOT_PIPE,dze=pl.ERR_STREAM_DESTROYED,Cze=pl.ERR_STREAM_NULL_VALUES,mze=pl.ERR_STREAM_WRITE_AFTER_END,Eze=pl.ERR_UNKNOWN_ENCODING,_h=ZO.errorOrDestroy;hl()(Tr,Ble);function Ize(){}function nE(r,e,t){Xh=Xh||Lu(),r=r||{},typeof t!=\"boolean\"&&(t=e instanceof Xh),this.objectMode=!!r.objectMode,t&&(this.objectMode=this.objectMode||!!r.writableObjectMode),this.highWaterMark=uze(this,r,\"writableHighWaterMark\",t),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=r.decodeStrings===!1;this.decodeStrings=!i,this.defaultEncoding=r.defaultEncoding||\"utf8\",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(n){vze(e,n)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=r.emitClose!==!1,this.autoDestroy=!!r.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new wle(this)}nE.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t};(function(){try{Object.defineProperty(nE.prototype,\"buffer\",{get:oze.deprecate(function(){return this.getBuffer()},\"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.\",\"DEP0003\")})}catch{}})();var tb;typeof Symbol==\"function\"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==\"function\"?(tb=Function.prototype[Symbol.hasInstance],Object.defineProperty(Tr,Symbol.hasInstance,{value:function(e){return tb.call(this,e)?!0:this!==Tr?!1:e&&e._writableState instanceof nE}})):tb=function(e){return e instanceof this};function Tr(r){Xh=Xh||Lu();var e=this instanceof Xh;if(!e&&!tb.call(Tr,this))return new Tr(r);this._writableState=new nE(r,this,e),this.writable=!0,r&&(typeof r.write==\"function\"&&(this._write=r.write),typeof r.writev==\"function\"&&(this._writev=r.writev),typeof r.destroy==\"function\"&&(this._destroy=r.destroy),typeof r.final==\"function\"&&(this._final=r.final)),Ble.call(this)}Tr.prototype.pipe=function(){_h(this,new pze)};function yze(r,e){var t=new mze;_h(r,t),process.nextTick(e,t)}function wze(r,e,t,i){var n;return t===null?n=new Cze:typeof t!=\"string\"&&!e.objectMode&&(n=new gze(\"chunk\",[\"string\",\"Buffer\"],t)),n?(_h(r,n),process.nextTick(i,n),!1):!0}Tr.prototype.write=function(r,e,t){var i=this._writableState,n=!1,s=!i.objectMode&&lze(r);return s&&!rb.isBuffer(r)&&(r=Aze(r)),typeof e==\"function\"&&(t=e,e=null),s?e=\"buffer\":e||(e=i.defaultEncoding),typeof t!=\"function\"&&(t=Ize),i.ending?yze(this,t):(s||wze(this,i,r,t))&&(i.pendingcb++,n=Qze(this,i,s,r,e,t)),n};Tr.prototype.cork=function(){this._writableState.corked++};Tr.prototype.uncork=function(){var r=this._writableState;r.corked&&(r.corked--,!r.writing&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&Qle(this,r))};Tr.prototype.setDefaultEncoding=function(e){if(typeof e==\"string\"&&(e=e.toLowerCase()),!([\"hex\",\"utf8\",\"utf-8\",\"ascii\",\"binary\",\"base64\",\"ucs2\",\"ucs-2\",\"utf16le\",\"utf-16le\",\"raw\"].indexOf((e+\"\").toLowerCase())>-1))throw new Eze(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(Tr.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function Bze(r,e,t){return!r.objectMode&&r.decodeStrings!==!1&&typeof e==\"string\"&&(e=rb.from(e,t)),e}Object.defineProperty(Tr.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function Qze(r,e,t,i,n,s){if(!t){var o=Bze(e,i,n);i!==o&&(t=!0,n=\"buffer\",i=o)}var a=e.objectMode?1:i.length;e.length+=a;var l=e.length<e.highWaterMark;if(l||(e.needDrain=!0),e.writing||e.corked){var c=e.lastBufferedRequest;e.lastBufferedRequest={chunk:i,encoding:n,isBuf:t,callback:s,next:null},c?c.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else _O(r,e,!1,a,i,n,s);return l}function _O(r,e,t,i,n,s,o){e.writelen=i,e.writecb=o,e.writing=!0,e.sync=!0,e.destroyed?e.onwrite(new dze(\"write\")):t?r._writev(n,e.onwrite):r._write(n,s,e.onwrite),e.sync=!1}function bze(r,e,t,i,n){--e.pendingcb,t?(process.nextTick(n,i),process.nextTick(iE,r,e),r._writableState.errorEmitted=!0,_h(r,i)):(n(i),r._writableState.errorEmitted=!0,_h(r,i),iE(r,e))}function Sze(r){r.writing=!1,r.writecb=null,r.length-=r.writelen,r.writelen=0}function vze(r,e){var t=r._writableState,i=t.sync,n=t.writecb;if(typeof n!=\"function\")throw new hze;if(Sze(t),e)bze(r,t,i,e,n);else{var s=ble(t)||r.destroyed;!s&&!t.corked&&!t.bufferProcessing&&t.bufferedRequest&&Qle(r,t),i?process.nextTick(yle,r,t,s,n):yle(r,t,s,n)}}function yle(r,e,t,i){t||xze(r,e),e.pendingcb--,i(),iE(r,e)}function xze(r,e){e.length===0&&e.needDrain&&(e.needDrain=!1,r.emit(\"drain\"))}function Qle(r,e){e.bufferProcessing=!0;var t=e.bufferedRequest;if(r._writev&&t&&t.next){var i=e.bufferedRequestCount,n=new Array(i),s=e.corkedRequestsFree;s.entry=t;for(var o=0,a=!0;t;)n[o]=t,t.isBuf||(a=!1),t=t.next,o+=1;n.allBuffers=a,_O(r,e,!0,e.length,n,\"\",s.finish),e.pendingcb++,e.lastBufferedRequest=null,s.next?(e.corkedRequestsFree=s.next,s.next=null):e.corkedRequestsFree=new wle(e),e.bufferedRequestCount=0}else{for(;t;){var l=t.chunk,c=t.encoding,u=t.callback,g=e.objectMode?1:l.length;if(_O(r,e,!1,g,l,c,u),t=t.next,e.bufferedRequestCount--,e.writing)break}t===null&&(e.lastBufferedRequest=null)}e.bufferedRequest=t,e.bufferProcessing=!1}Tr.prototype._write=function(r,e,t){t(new fze(\"_write()\"))};Tr.prototype._writev=null;Tr.prototype.end=function(r,e,t){var i=this._writableState;return typeof r==\"function\"?(t=r,r=null,e=null):typeof e==\"function\"&&(t=e,e=null),r!=null&&this.write(r,e),i.corked&&(i.corked=1,this.uncork()),i.ending||kze(this,i,t),this};Object.defineProperty(Tr.prototype,\"writableLength\",{enumerable:!1,get:function(){return this._writableState.length}});function ble(r){return r.ending&&r.length===0&&r.bufferedRequest===null&&!r.finished&&!r.writing}function Pze(r,e){r._final(function(t){e.pendingcb--,t&&_h(r,t),e.prefinished=!0,r.emit(\"prefinish\"),iE(r,e)})}function Dze(r,e){!e.prefinished&&!e.finalCalled&&(typeof r._final==\"function\"&&!e.destroyed?(e.pendingcb++,e.finalCalled=!0,process.nextTick(Pze,r,e)):(e.prefinished=!0,r.emit(\"prefinish\")))}function iE(r,e){var t=ble(e);if(t&&(Dze(r,e),e.pendingcb===0&&(e.finished=!0,r.emit(\"finish\"),e.autoDestroy))){var i=r._readableState;(!i||i.autoDestroy&&i.endEmitted)&&r.destroy()}return t}function kze(r,e,t){e.ending=!0,iE(r,e),t&&(e.finished?process.nextTick(t):r.once(\"finish\",t)),e.ended=!0,r.writable=!1}function Rze(r,e,t){var i=r.entry;for(r.entry=null;i;){var n=i.callback;e.pendingcb--,n(t),i=i.next}e.corkedRequestsFree.next=r}Object.defineProperty(Tr.prototype,\"destroyed\",{enumerable:!1,get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(e){!this._writableState||(this._writableState.destroyed=e)}});Tr.prototype.destroy=ZO.destroy;Tr.prototype._undestroy=ZO.undestroy;Tr.prototype._destroy=function(r,e){e(r)}});var Lu=w((cQt,xle)=>{\"use strict\";var Fze=Object.keys||function(r){var e=[];for(var t in r)e.push(t);return e};xle.exports=ta;var vle=rM(),tM=$O();hl()(ta,vle);for(eM=Fze(tM.prototype),ib=0;ib<eM.length;ib++)nb=eM[ib],ta.prototype[nb]||(ta.prototype[nb]=tM.prototype[nb]);var eM,nb,ib;function ta(r){if(!(this instanceof ta))return new ta(r);vle.call(this,r),tM.call(this,r),this.allowHalfOpen=!0,r&&(r.readable===!1&&(this.readable=!1),r.writable===!1&&(this.writable=!1),r.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once(\"end\",Nze)))}Object.defineProperty(ta.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});Object.defineProperty(ta.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});Object.defineProperty(ta.prototype,\"writableLength\",{enumerable:!1,get:function(){return this._writableState.length}});function Nze(){this._writableState.ended||process.nextTick(Lze,this)}function Lze(r){r.end()}Object.defineProperty(ta.prototype,\"destroyed\",{enumerable:!1,get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function(e){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=e,this._writableState.destroyed=e)}})});var kle=w((iM,Dle)=>{var sb=J(\"buffer\"),nA=sb.Buffer;function Ple(r,e){for(var t in r)e[t]=r[t]}nA.from&&nA.alloc&&nA.allocUnsafe&&nA.allocUnsafeSlow?Dle.exports=sb:(Ple(sb,iM),iM.Buffer=Zh);function Zh(r,e,t){return nA(r,e,t)}Ple(nA,Zh);Zh.from=function(r,e,t){if(typeof r==\"number\")throw new TypeError(\"Argument must not be a number\");return nA(r,e,t)};Zh.alloc=function(r,e,t){if(typeof r!=\"number\")throw new TypeError(\"Argument must be a number\");var i=nA(r);return e!==void 0?typeof t==\"string\"?i.fill(e,t):i.fill(e):i.fill(0),i};Zh.allocUnsafe=function(r){if(typeof r!=\"number\")throw new TypeError(\"Argument must be a number\");return nA(r)};Zh.allocUnsafeSlow=function(r){if(typeof r!=\"number\")throw new TypeError(\"Argument must be a number\");return sb.SlowBuffer(r)}});var oM=w(Fle=>{\"use strict\";var sM=kle().Buffer,Rle=sM.isEncoding||function(r){switch(r=\"\"+r,r&&r.toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":case\"raw\":return!0;default:return!1}};function Tze(r){if(!r)return\"utf8\";for(var e;;)switch(r){case\"utf8\":case\"utf-8\":return\"utf8\";case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return\"utf16le\";case\"latin1\":case\"binary\":return\"latin1\";case\"base64\":case\"ascii\":case\"hex\":return r;default:if(e)return;r=(\"\"+r).toLowerCase(),e=!0}}function Oze(r){var e=Tze(r);if(typeof e!=\"string\"&&(sM.isEncoding===Rle||!Rle(r)))throw new Error(\"Unknown encoding: \"+r);return e||r}Fle.StringDecoder=sE;function sE(r){this.encoding=Oze(r);var e;switch(this.encoding){case\"utf16le\":this.text=Yze,this.end=jze,e=4;break;case\"utf8\":this.fillLast=Uze,e=4;break;case\"base64\":this.text=qze,this.end=Jze,e=3;break;default:this.write=Wze,this.end=zze;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=sM.allocUnsafe(e)}sE.prototype.write=function(r){if(r.length===0)return\"\";var e,t;if(this.lastNeed){if(e=this.fillLast(r),e===void 0)return\"\";t=this.lastNeed,this.lastNeed=0}else t=0;return t<r.length?e?e+this.text(r,t):this.text(r,t):e||\"\"};sE.prototype.end=Gze;sE.prototype.text=Hze;sE.prototype.fillLast=function(r){if(this.lastNeed<=r.length)return r.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);r.copy(this.lastChar,this.lastTotal-this.lastNeed,0,r.length),this.lastNeed-=r.length};function nM(r){return r<=127?0:r>>5===6?2:r>>4===14?3:r>>3===30?4:r>>6===2?-1:-2}function Mze(r,e,t){var i=e.length-1;if(i<t)return 0;var n=nM(e[i]);return n>=0?(n>0&&(r.lastNeed=n-1),n):--i<t||n===-2?0:(n=nM(e[i]),n>=0?(n>0&&(r.lastNeed=n-2),n):--i<t||n===-2?0:(n=nM(e[i]),n>=0?(n>0&&(n===2?n=0:r.lastNeed=n-3),n):0))}function Kze(r,e,t){if((e[0]&192)!==128)return r.lastNeed=0,\"\\uFFFD\";if(r.lastNeed>1&&e.length>1){if((e[1]&192)!==128)return r.lastNeed=1,\"\\uFFFD\";if(r.lastNeed>2&&e.length>2&&(e[2]&192)!==128)return r.lastNeed=2,\"\\uFFFD\"}}function Uze(r){var e=this.lastTotal-this.lastNeed,t=Kze(this,r,e);if(t!==void 0)return t;if(this.lastNeed<=r.length)return r.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);r.copy(this.lastChar,e,0,r.length),this.lastNeed-=r.length}function Hze(r,e){var t=Mze(this,r,e);if(!this.lastNeed)return r.toString(\"utf8\",e);this.lastTotal=t;var i=r.length-(t-this.lastNeed);return r.copy(this.lastChar,0,i),r.toString(\"utf8\",e,i)}function Gze(r){var e=r&&r.length?this.write(r):\"\";return this.lastNeed?e+\"\\uFFFD\":e}function Yze(r,e){if((r.length-e)%2===0){var t=r.toString(\"utf16le\",e);if(t){var i=t.charCodeAt(t.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=r[r.length-2],this.lastChar[1]=r[r.length-1],t.slice(0,-1)}return t}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=r[r.length-1],r.toString(\"utf16le\",e,r.length-1)}function jze(r){var e=r&&r.length?this.write(r):\"\";if(this.lastNeed){var t=this.lastTotal-this.lastNeed;return e+this.lastChar.toString(\"utf16le\",0,t)}return e}function qze(r,e){var t=(r.length-e)%3;return t===0?r.toString(\"base64\",e):(this.lastNeed=3-t,this.lastTotal=3,t===1?this.lastChar[0]=r[r.length-1]:(this.lastChar[0]=r[r.length-2],this.lastChar[1]=r[r.length-1]),r.toString(\"base64\",e,r.length-t))}function Jze(r){var e=r&&r.length?this.write(r):\"\";return this.lastNeed?e+this.lastChar.toString(\"base64\",0,3-this.lastNeed):e}function Wze(r){return r.toString(this.encoding)}function zze(r){return r&&r.length?this.write(r):\"\"}});var ob=w((gQt,Tle)=>{\"use strict\";var Nle=fl().codes.ERR_STREAM_PREMATURE_CLOSE;function Vze(r){var e=!1;return function(){if(!e){e=!0;for(var t=arguments.length,i=new Array(t),n=0;n<t;n++)i[n]=arguments[n];r.apply(this,i)}}}function Xze(){}function _ze(r){return r.setHeader&&typeof r.abort==\"function\"}function Lle(r,e,t){if(typeof e==\"function\")return Lle(r,null,e);e||(e={}),t=Vze(t||Xze);var i=e.readable||e.readable!==!1&&r.readable,n=e.writable||e.writable!==!1&&r.writable,s=function(){r.writable||a()},o=r._writableState&&r._writableState.finished,a=function(){n=!1,o=!0,i||t.call(r)},l=r._readableState&&r._readableState.endEmitted,c=function(){i=!1,l=!0,n||t.call(r)},u=function(p){t.call(r,p)},g=function(){var p;if(i&&!l)return(!r._readableState||!r._readableState.ended)&&(p=new Nle),t.call(r,p);if(n&&!o)return(!r._writableState||!r._writableState.ended)&&(p=new Nle),t.call(r,p)},f=function(){r.req.on(\"finish\",a)};return _ze(r)?(r.on(\"complete\",a),r.on(\"abort\",g),r.req?f():r.on(\"request\",f)):n&&!r._writableState&&(r.on(\"end\",s),r.on(\"close\",s)),r.on(\"end\",c),r.on(\"finish\",a),e.error!==!1&&r.on(\"error\",u),r.on(\"close\",g),function(){r.removeListener(\"complete\",a),r.removeListener(\"abort\",g),r.removeListener(\"request\",f),r.req&&r.req.removeListener(\"finish\",a),r.removeListener(\"end\",s),r.removeListener(\"close\",s),r.removeListener(\"finish\",a),r.removeListener(\"end\",c),r.removeListener(\"error\",u),r.removeListener(\"close\",g)}}Tle.exports=Lle});var Mle=w((fQt,Ole)=>{\"use strict\";var ab;function dl(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}var Zze=ob(),Cl=Symbol(\"lastResolve\"),Tu=Symbol(\"lastReject\"),oE=Symbol(\"error\"),Ab=Symbol(\"ended\"),Ou=Symbol(\"lastPromise\"),aM=Symbol(\"handlePromise\"),Mu=Symbol(\"stream\");function ml(r,e){return{value:r,done:e}}function $ze(r){var e=r[Cl];if(e!==null){var t=r[Mu].read();t!==null&&(r[Ou]=null,r[Cl]=null,r[Tu]=null,e(ml(t,!1)))}}function e5e(r){process.nextTick($ze,r)}function t5e(r,e){return function(t,i){r.then(function(){if(e[Ab]){t(ml(void 0,!0));return}e[aM](t,i)},i)}}var r5e=Object.getPrototypeOf(function(){}),i5e=Object.setPrototypeOf((ab={get stream(){return this[Mu]},next:function(){var e=this,t=this[oE];if(t!==null)return Promise.reject(t);if(this[Ab])return Promise.resolve(ml(void 0,!0));if(this[Mu].destroyed)return new Promise(function(o,a){process.nextTick(function(){e[oE]?a(e[oE]):o(ml(void 0,!0))})});var i=this[Ou],n;if(i)n=new Promise(t5e(i,this));else{var s=this[Mu].read();if(s!==null)return Promise.resolve(ml(s,!1));n=new Promise(this[aM])}return this[Ou]=n,n}},dl(ab,Symbol.asyncIterator,function(){return this}),dl(ab,\"return\",function(){var e=this;return new Promise(function(t,i){e[Mu].destroy(null,function(n){if(n){i(n);return}t(ml(void 0,!0))})})}),ab),r5e),n5e=function(e){var t,i=Object.create(i5e,(t={},dl(t,Mu,{value:e,writable:!0}),dl(t,Cl,{value:null,writable:!0}),dl(t,Tu,{value:null,writable:!0}),dl(t,oE,{value:null,writable:!0}),dl(t,Ab,{value:e._readableState.endEmitted,writable:!0}),dl(t,aM,{value:function(s,o){var a=i[Mu].read();a?(i[Ou]=null,i[Cl]=null,i[Tu]=null,s(ml(a,!1))):(i[Cl]=s,i[Tu]=o)},writable:!0}),t));return i[Ou]=null,Zze(e,function(n){if(n&&n.code!==\"ERR_STREAM_PREMATURE_CLOSE\"){var s=i[Tu];s!==null&&(i[Ou]=null,i[Cl]=null,i[Tu]=null,s(n)),i[oE]=n;return}var o=i[Cl];o!==null&&(i[Ou]=null,i[Cl]=null,i[Tu]=null,o(ml(void 0,!0))),i[Ab]=!0}),e.on(\"readable\",e5e.bind(null,i)),i};Ole.exports=n5e});var Gle=w((hQt,Hle)=>{\"use strict\";function Kle(r,e,t,i,n,s,o){try{var a=r[s](o),l=a.value}catch(c){t(c);return}a.done?e(l):Promise.resolve(l).then(i,n)}function s5e(r){return function(){var e=this,t=arguments;return new Promise(function(i,n){var s=r.apply(e,t);function o(l){Kle(s,i,n,o,a,\"next\",l)}function a(l){Kle(s,i,n,o,a,\"throw\",l)}o(void 0)})}}function Ule(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(r,n).enumerable})),t.push.apply(t,i)}return t}function o5e(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ule(Object(t),!0).forEach(function(i){a5e(r,i,t[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):Ule(Object(t)).forEach(function(i){Object.defineProperty(r,i,Object.getOwnPropertyDescriptor(t,i))})}return r}function a5e(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}var A5e=fl().codes.ERR_INVALID_ARG_TYPE;function l5e(r,e,t){var i;if(e&&typeof e.next==\"function\")i=e;else if(e&&e[Symbol.asyncIterator])i=e[Symbol.asyncIterator]();else if(e&&e[Symbol.iterator])i=e[Symbol.iterator]();else throw new A5e(\"iterable\",[\"Iterable\"],e);var n=new r(o5e({objectMode:!0},t)),s=!1;n._read=function(){s||(s=!0,o())};function o(){return a.apply(this,arguments)}function a(){return a=s5e(function*(){try{var l=yield i.next(),c=l.value,u=l.done;u?n.push(null):n.push(yield c)?o():s=!1}catch(g){n.destroy(g)}}),a.apply(this,arguments)}return n}Hle.exports=l5e});var rM=w((dQt,Zle)=>{\"use strict\";Zle.exports=Ut;var $h;Ut.ReadableState=Jle;var pQt=J(\"events\").EventEmitter,qle=function(e,t){return e.listeners(t).length},AE=YO(),lb=J(\"buffer\").Buffer,c5e=global.Uint8Array||function(){};function u5e(r){return lb.from(r)}function g5e(r){return lb.isBuffer(r)||r instanceof c5e}var AM=J(\"util\"),Dt;AM&&AM.debuglog?Dt=AM.debuglog(\"stream\"):Dt=function(){};var f5e=ule(),pM=JO(),h5e=WO(),p5e=h5e.getHighWaterMark,cb=fl().codes,d5e=cb.ERR_INVALID_ARG_TYPE,C5e=cb.ERR_STREAM_PUSH_AFTER_EOF,m5e=cb.ERR_METHOD_NOT_IMPLEMENTED,E5e=cb.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,ep,lM,cM;hl()(Ut,AE);var aE=pM.errorOrDestroy,uM=[\"error\",\"close\",\"destroy\",\"pause\",\"resume\"];function I5e(r,e,t){if(typeof r.prependListener==\"function\")return r.prependListener(e,t);!r._events||!r._events[e]?r.on(e,t):Array.isArray(r._events[e])?r._events[e].unshift(t):r._events[e]=[t,r._events[e]]}function Jle(r,e,t){$h=$h||Lu(),r=r||{},typeof t!=\"boolean\"&&(t=e instanceof $h),this.objectMode=!!r.objectMode,t&&(this.objectMode=this.objectMode||!!r.readableObjectMode),this.highWaterMark=p5e(this,r,\"readableHighWaterMark\",t),this.buffer=new f5e,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=r.emitClose!==!1,this.autoDestroy=!!r.autoDestroy,this.destroyed=!1,this.defaultEncoding=r.defaultEncoding||\"utf8\",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,r.encoding&&(ep||(ep=oM().StringDecoder),this.decoder=new ep(r.encoding),this.encoding=r.encoding)}function Ut(r){if($h=$h||Lu(),!(this instanceof Ut))return new Ut(r);var e=this instanceof $h;this._readableState=new Jle(r,this,e),this.readable=!0,r&&(typeof r.read==\"function\"&&(this._read=r.read),typeof r.destroy==\"function\"&&(this._destroy=r.destroy)),AE.call(this)}Object.defineProperty(Ut.prototype,\"destroyed\",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){!this._readableState||(this._readableState.destroyed=e)}});Ut.prototype.destroy=pM.destroy;Ut.prototype._undestroy=pM.undestroy;Ut.prototype._destroy=function(r,e){e(r)};Ut.prototype.push=function(r,e){var t=this._readableState,i;return t.objectMode?i=!0:typeof r==\"string\"&&(e=e||t.defaultEncoding,e!==t.encoding&&(r=lb.from(r,e),e=\"\"),i=!0),Wle(this,r,e,!1,i)};Ut.prototype.unshift=function(r){return Wle(this,r,null,!0,!1)};function Wle(r,e,t,i,n){Dt(\"readableAddChunk\",e);var s=r._readableState;if(e===null)s.reading=!1,B5e(r,s);else{var o;if(n||(o=y5e(s,e)),o)aE(r,o);else if(s.objectMode||e&&e.length>0)if(typeof e!=\"string\"&&!s.objectMode&&Object.getPrototypeOf(e)!==lb.prototype&&(e=u5e(e)),i)s.endEmitted?aE(r,new E5e):gM(r,s,e,!0);else if(s.ended)aE(r,new C5e);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!t?(e=s.decoder.write(e),s.objectMode||e.length!==0?gM(r,s,e,!1):hM(r,s)):gM(r,s,e,!1)}else i||(s.reading=!1,hM(r,s))}return!s.ended&&(s.length<s.highWaterMark||s.length===0)}function gM(r,e,t,i){e.flowing&&e.length===0&&!e.sync?(e.awaitDrain=0,r.emit(\"data\",t)):(e.length+=e.objectMode?1:t.length,i?e.buffer.unshift(t):e.buffer.push(t),e.needReadable&&ub(r)),hM(r,e)}function y5e(r,e){var t;return!g5e(e)&&typeof e!=\"string\"&&e!==void 0&&!r.objectMode&&(t=new d5e(\"chunk\",[\"string\",\"Buffer\",\"Uint8Array\"],e)),t}Ut.prototype.isPaused=function(){return this._readableState.flowing===!1};Ut.prototype.setEncoding=function(r){ep||(ep=oM().StringDecoder);var e=new ep(r);this._readableState.decoder=e,this._readableState.encoding=this._readableState.decoder.encoding;for(var t=this._readableState.buffer.head,i=\"\";t!==null;)i+=e.write(t.data),t=t.next;return this._readableState.buffer.clear(),i!==\"\"&&this._readableState.buffer.push(i),this._readableState.length=i.length,this};var Yle=1073741824;function w5e(r){return r>=Yle?r=Yle:(r--,r|=r>>>1,r|=r>>>2,r|=r>>>4,r|=r>>>8,r|=r>>>16,r++),r}function jle(r,e){return r<=0||e.length===0&&e.ended?0:e.objectMode?1:r!==r?e.flowing&&e.length?e.buffer.head.data.length:e.length:(r>e.highWaterMark&&(e.highWaterMark=w5e(r)),r<=e.length?r:e.ended?e.length:(e.needReadable=!0,0))}Ut.prototype.read=function(r){Dt(\"read\",r),r=parseInt(r,10);var e=this._readableState,t=r;if(r!==0&&(e.emittedReadable=!1),r===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return Dt(\"read: emitReadable\",e.length,e.ended),e.length===0&&e.ended?fM(this):ub(this),null;if(r=jle(r,e),r===0&&e.ended)return e.length===0&&fM(this),null;var i=e.needReadable;Dt(\"need readable\",i),(e.length===0||e.length-r<e.highWaterMark)&&(i=!0,Dt(\"length less than watermark\",i)),e.ended||e.reading?(i=!1,Dt(\"reading or ended\",i)):i&&(Dt(\"do read\"),e.reading=!0,e.sync=!0,e.length===0&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1,e.reading||(r=jle(t,e)));var n;return r>0?n=Xle(r,e):n=null,n===null?(e.needReadable=e.length<=e.highWaterMark,r=0):(e.length-=r,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),t!==r&&e.ended&&fM(this)),n!==null&&this.emit(\"data\",n),n};function B5e(r,e){if(Dt(\"onEofChunk\"),!e.ended){if(e.decoder){var t=e.decoder.end();t&&t.length&&(e.buffer.push(t),e.length+=e.objectMode?1:t.length)}e.ended=!0,e.sync?ub(r):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,zle(r)))}}function ub(r){var e=r._readableState;Dt(\"emitReadable\",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(Dt(\"emitReadable\",e.flowing),e.emittedReadable=!0,process.nextTick(zle,r))}function zle(r){var e=r._readableState;Dt(\"emitReadable_\",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(r.emit(\"readable\"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,dM(r)}function hM(r,e){e.readingMore||(e.readingMore=!0,process.nextTick(Q5e,r,e))}function Q5e(r,e){for(;!e.reading&&!e.ended&&(e.length<e.highWaterMark||e.flowing&&e.length===0);){var t=e.length;if(Dt(\"maybeReadMore read 0\"),r.read(0),t===e.length)break}e.readingMore=!1}Ut.prototype._read=function(r){aE(this,new m5e(\"_read()\"))};Ut.prototype.pipe=function(r,e){var t=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=r;break;case 1:i.pipes=[i.pipes,r];break;default:i.pipes.push(r);break}i.pipesCount+=1,Dt(\"pipe count=%d opts=%j\",i.pipesCount,e);var n=(!e||e.end!==!1)&&r!==process.stdout&&r!==process.stderr,s=n?a:C;i.endEmitted?process.nextTick(s):t.once(\"end\",s),r.on(\"unpipe\",o);function o(y,B){Dt(\"onunpipe\"),y===t&&B&&B.hasUnpiped===!1&&(B.hasUnpiped=!0,u())}function a(){Dt(\"onend\"),r.end()}var l=b5e(t);r.on(\"drain\",l);var c=!1;function u(){Dt(\"cleanup\"),r.removeListener(\"close\",h),r.removeListener(\"finish\",p),r.removeListener(\"drain\",l),r.removeListener(\"error\",f),r.removeListener(\"unpipe\",o),t.removeListener(\"end\",a),t.removeListener(\"end\",C),t.removeListener(\"data\",g),c=!0,i.awaitDrain&&(!r._writableState||r._writableState.needDrain)&&l()}t.on(\"data\",g);function g(y){Dt(\"ondata\");var B=r.write(y);Dt(\"dest.write\",B),B===!1&&((i.pipesCount===1&&i.pipes===r||i.pipesCount>1&&_le(i.pipes,r)!==-1)&&!c&&(Dt(\"false write response, pause\",i.awaitDrain),i.awaitDrain++),t.pause())}function f(y){Dt(\"onerror\",y),C(),r.removeListener(\"error\",f),qle(r,\"error\")===0&&aE(r,y)}I5e(r,\"error\",f);function h(){r.removeListener(\"finish\",p),C()}r.once(\"close\",h);function p(){Dt(\"onfinish\"),r.removeListener(\"close\",h),C()}r.once(\"finish\",p);function C(){Dt(\"unpipe\"),t.unpipe(r)}return r.emit(\"pipe\",t),i.flowing||(Dt(\"pipe resume\"),t.resume()),r};function b5e(r){return function(){var t=r._readableState;Dt(\"pipeOnDrain\",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,t.awaitDrain===0&&qle(r,\"data\")&&(t.flowing=!0,dM(r))}}Ut.prototype.unpipe=function(r){var e=this._readableState,t={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return r&&r!==e.pipes?this:(r||(r=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,r&&r.emit(\"unpipe\",this,t),this);if(!r){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s<n;s++)i[s].emit(\"unpipe\",this,{hasUnpiped:!1});return this}var o=_le(e.pipes,r);return o===-1?this:(e.pipes.splice(o,1),e.pipesCount-=1,e.pipesCount===1&&(e.pipes=e.pipes[0]),r.emit(\"unpipe\",this,t),this)};Ut.prototype.on=function(r,e){var t=AE.prototype.on.call(this,r,e),i=this._readableState;return r===\"data\"?(i.readableListening=this.listenerCount(\"readable\")>0,i.flowing!==!1&&this.resume()):r===\"readable\"&&!i.endEmitted&&!i.readableListening&&(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,Dt(\"on readable\",i.length,i.reading),i.length?ub(this):i.reading||process.nextTick(S5e,this)),t};Ut.prototype.addListener=Ut.prototype.on;Ut.prototype.removeListener=function(r,e){var t=AE.prototype.removeListener.call(this,r,e);return r===\"readable\"&&process.nextTick(Vle,this),t};Ut.prototype.removeAllListeners=function(r){var e=AE.prototype.removeAllListeners.apply(this,arguments);return(r===\"readable\"||r===void 0)&&process.nextTick(Vle,this),e};function Vle(r){var e=r._readableState;e.readableListening=r.listenerCount(\"readable\")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:r.listenerCount(\"data\")>0&&r.resume()}function S5e(r){Dt(\"readable nexttick read 0\"),r.read(0)}Ut.prototype.resume=function(){var r=this._readableState;return r.flowing||(Dt(\"resume\"),r.flowing=!r.readableListening,v5e(this,r)),r.paused=!1,this};function v5e(r,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(x5e,r,e))}function x5e(r,e){Dt(\"resume\",e.reading),e.reading||r.read(0),e.resumeScheduled=!1,r.emit(\"resume\"),dM(r),e.flowing&&!e.reading&&r.read(0)}Ut.prototype.pause=function(){return Dt(\"call pause flowing=%j\",this._readableState.flowing),this._readableState.flowing!==!1&&(Dt(\"pause\"),this._readableState.flowing=!1,this.emit(\"pause\")),this._readableState.paused=!0,this};function dM(r){var e=r._readableState;for(Dt(\"flow\",e.flowing);e.flowing&&r.read()!==null;);}Ut.prototype.wrap=function(r){var e=this,t=this._readableState,i=!1;r.on(\"end\",function(){if(Dt(\"wrapped end\"),t.decoder&&!t.ended){var o=t.decoder.end();o&&o.length&&e.push(o)}e.push(null)}),r.on(\"data\",function(o){if(Dt(\"wrapped data\"),t.decoder&&(o=t.decoder.write(o)),!(t.objectMode&&o==null)&&!(!t.objectMode&&(!o||!o.length))){var a=e.push(o);a||(i=!0,r.pause())}});for(var n in r)this[n]===void 0&&typeof r[n]==\"function\"&&(this[n]=function(a){return function(){return r[a].apply(r,arguments)}}(n));for(var s=0;s<uM.length;s++)r.on(uM[s],this.emit.bind(this,uM[s]));return this._read=function(o){Dt(\"wrapped _read\",o),i&&(i=!1,r.resume())},this};typeof Symbol==\"function\"&&(Ut.prototype[Symbol.asyncIterator]=function(){return lM===void 0&&(lM=Mle()),lM(this)});Object.defineProperty(Ut.prototype,\"readableHighWaterMark\",{enumerable:!1,get:function(){return this._readableState.highWaterMark}});Object.defineProperty(Ut.prototype,\"readableBuffer\",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}});Object.defineProperty(Ut.prototype,\"readableFlowing\",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}});Ut._fromList=Xle;Object.defineProperty(Ut.prototype,\"readableLength\",{enumerable:!1,get:function(){return this._readableState.length}});function Xle(r,e){if(e.length===0)return null;var t;return e.objectMode?t=e.buffer.shift():!r||r>=e.length?(e.decoder?t=e.buffer.join(\"\"):e.buffer.length===1?t=e.buffer.first():t=e.buffer.concat(e.length),e.buffer.clear()):t=e.buffer.consume(r,e.decoder),t}function fM(r){var e=r._readableState;Dt(\"endReadable\",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(P5e,e,r))}function P5e(r,e){if(Dt(\"endReadableNT\",r.endEmitted,r.length),!r.endEmitted&&r.length===0&&(r.endEmitted=!0,e.readable=!1,e.emit(\"end\"),r.autoDestroy)){var t=e._writableState;(!t||t.autoDestroy&&t.finished)&&e.destroy()}}typeof Symbol==\"function\"&&(Ut.from=function(r,e){return cM===void 0&&(cM=Gle()),cM(Ut,r,e)});function _le(r,e){for(var t=0,i=r.length;t<i;t++)if(r[t]===e)return t;return-1}});var CM=w((CQt,ece)=>{\"use strict\";ece.exports=sA;var gb=fl().codes,D5e=gb.ERR_METHOD_NOT_IMPLEMENTED,k5e=gb.ERR_MULTIPLE_CALLBACK,R5e=gb.ERR_TRANSFORM_ALREADY_TRANSFORMING,F5e=gb.ERR_TRANSFORM_WITH_LENGTH_0,fb=Lu();hl()(sA,fb);function N5e(r,e){var t=this._transformState;t.transforming=!1;var i=t.writecb;if(i===null)return this.emit(\"error\",new k5e);t.writechunk=null,t.writecb=null,e!=null&&this.push(e),i(r);var n=this._readableState;n.reading=!1,(n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}function sA(r){if(!(this instanceof sA))return new sA(r);fb.call(this,r),this._transformState={afterTransform:N5e.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,r&&(typeof r.transform==\"function\"&&(this._transform=r.transform),typeof r.flush==\"function\"&&(this._flush=r.flush)),this.on(\"prefinish\",L5e)}function L5e(){var r=this;typeof this._flush==\"function\"&&!this._readableState.destroyed?this._flush(function(e,t){$le(r,e,t)}):$le(this,null,null)}sA.prototype.push=function(r,e){return this._transformState.needTransform=!1,fb.prototype.push.call(this,r,e)};sA.prototype._transform=function(r,e,t){t(new D5e(\"_transform()\"))};sA.prototype._write=function(r,e,t){var i=this._transformState;if(i.writecb=t,i.writechunk=r,i.writeencoding=e,!i.transforming){var n=this._readableState;(i.needTransform||n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}};sA.prototype._read=function(r){var e=this._transformState;e.writechunk!==null&&!e.transforming?(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform)):e.needTransform=!0};sA.prototype._destroy=function(r,e){fb.prototype._destroy.call(this,r,function(t){e(t)})};function $le(r,e,t){if(e)return r.emit(\"error\",e);if(t!=null&&r.push(t),r._writableState.length)throw new F5e;if(r._transformState.transforming)throw new R5e;return r.push(null)}});var ice=w((mQt,rce)=>{\"use strict\";rce.exports=lE;var tce=CM();hl()(lE,tce);function lE(r){if(!(this instanceof lE))return new lE(r);tce.call(this,r)}lE.prototype._transform=function(r,e,t){t(null,r)}});var Ace=w((EQt,ace)=>{\"use strict\";var mM;function T5e(r){var e=!1;return function(){e||(e=!0,r.apply(void 0,arguments))}}var oce=fl().codes,O5e=oce.ERR_MISSING_ARGS,M5e=oce.ERR_STREAM_DESTROYED;function nce(r){if(r)throw r}function K5e(r){return r.setHeader&&typeof r.abort==\"function\"}function U5e(r,e,t,i){i=T5e(i);var n=!1;r.on(\"close\",function(){n=!0}),mM===void 0&&(mM=ob()),mM(r,{readable:e,writable:t},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,K5e(r))return r.abort();if(typeof r.destroy==\"function\")return r.destroy();i(o||new M5e(\"pipe\"))}}}function sce(r){r()}function H5e(r,e){return r.pipe(e)}function G5e(r){return!r.length||typeof r[r.length-1]!=\"function\"?nce:r.pop()}function Y5e(){for(var r=arguments.length,e=new Array(r),t=0;t<r;t++)e[t]=arguments[t];var i=G5e(e);if(Array.isArray(e[0])&&(e=e[0]),e.length<2)throw new O5e(\"streams\");var n,s=e.map(function(o,a){var l=a<e.length-1,c=a>0;return U5e(o,l,c,function(u){n||(n=u),u&&s.forEach(sce),!l&&(s.forEach(sce),i(n))})});return e.reduce(H5e)}ace.exports=Y5e});var tp=w((Ns,uE)=>{var cE=J(\"stream\");process.env.READABLE_STREAM===\"disable\"&&cE?(uE.exports=cE.Readable,Object.assign(uE.exports,cE),uE.exports.Stream=cE):(Ns=uE.exports=rM(),Ns.Stream=cE||Ns,Ns.Readable=Ns,Ns.Writable=$O(),Ns.Duplex=Lu(),Ns.Transform=CM(),Ns.PassThrough=ice(),Ns.finished=ob(),Ns.pipeline=Ace())});var uce=w((IQt,cce)=>{\"use strict\";var{Buffer:ho}=J(\"buffer\"),lce=Symbol.for(\"BufferList\");function fr(r){if(!(this instanceof fr))return new fr(r);fr._init.call(this,r)}fr._init=function(e){Object.defineProperty(this,lce,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};fr.prototype._new=function(e){return new fr(e)};fr.prototype._offset=function(e){if(e===0)return[0,0];let t=0;for(let i=0;i<this._bufs.length;i++){let n=t+this._bufs[i].length;if(e<n||i===this._bufs.length-1)return[i,e-t];t=n}};fr.prototype._reverseOffset=function(r){let e=r[0],t=r[1];for(let i=0;i<e;i++)t+=this._bufs[i].length;return t};fr.prototype.get=function(e){if(e>this.length||e<0)return;let t=this._offset(e);return this._bufs[t[0]][t[1]]};fr.prototype.slice=function(e,t){return typeof e==\"number\"&&e<0&&(e+=this.length),typeof t==\"number\"&&t<0&&(t+=this.length),this.copy(null,0,e,t)};fr.prototype.copy=function(e,t,i,n){if((typeof i!=\"number\"||i<0)&&(i=0),(typeof n!=\"number\"||n>this.length)&&(n=this.length),i>=this.length||n<=0)return e||ho.alloc(0);let s=!!e,o=this._offset(i),a=n-i,l=a,c=s&&t||0,u=o[1];if(i===0&&n===this.length){if(!s)return this._bufs.length===1?this._bufs[0]:ho.concat(this._bufs,this.length);for(let g=0;g<this._bufs.length;g++)this._bufs[g].copy(e,c),c+=this._bufs[g].length;return e}if(l<=this._bufs[o[0]].length-u)return s?this._bufs[o[0]].copy(e,t,u,u+l):this._bufs[o[0]].slice(u,u+l);s||(e=ho.allocUnsafe(a));for(let g=o[0];g<this._bufs.length;g++){let f=this._bufs[g].length-u;if(l>f)this._bufs[g].copy(e,c,u),c+=f;else{this._bufs[g].copy(e,c,u,u+l),c+=f;break}l-=f,u&&(u=0)}return e.length>c?e.slice(0,c):e};fr.prototype.shallowSlice=function(e,t){if(e=e||0,t=typeof t!=\"number\"?this.length:t,e<0&&(e+=this.length),t<0&&(t+=this.length),e===t)return this._new();let i=this._offset(e),n=this._offset(t),s=this._bufs.slice(i[0],n[0]+1);return n[1]===0?s.pop():s[s.length-1]=s[s.length-1].slice(0,n[1]),i[1]!==0&&(s[0]=s[0].slice(i[1])),this._new(s)};fr.prototype.toString=function(e,t,i){return this.slice(t,i).toString(e)};fr.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};fr.prototype.duplicate=function(){let e=this._new();for(let t=0;t<this._bufs.length;t++)e.append(this._bufs[t]);return e};fr.prototype.append=function(e){if(e==null)return this;if(e.buffer)this._appendBuffer(ho.from(e.buffer,e.byteOffset,e.byteLength));else if(Array.isArray(e))for(let t=0;t<e.length;t++)this.append(e[t]);else if(this._isBufferList(e))for(let t=0;t<e._bufs.length;t++)this.append(e._bufs[t]);else typeof e==\"number\"&&(e=e.toString()),this._appendBuffer(ho.from(e));return this};fr.prototype._appendBuffer=function(e){this._bufs.push(e),this.length+=e.length};fr.prototype.indexOf=function(r,e,t){if(t===void 0&&typeof e==\"string\"&&(t=e,e=void 0),typeof r==\"function\"||Array.isArray(r))throw new TypeError('The \"value\" argument must be one of type string, Buffer, BufferList, or Uint8Array.');if(typeof r==\"number\"?r=ho.from([r]):typeof r==\"string\"?r=ho.from(r,t):this._isBufferList(r)?r=r.slice():Array.isArray(r.buffer)?r=ho.from(r.buffer,r.byteOffset,r.byteLength):ho.isBuffer(r)||(r=ho.from(r)),e=Number(e||0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),r.length===0)return e>this.length?this.length:e;let i=this._offset(e),n=i[0],s=i[1];for(;n<this._bufs.length;n++){let o=this._bufs[n];for(;s<o.length;)if(o.length-s>=r.length){let l=o.indexOf(r,s);if(l!==-1)return this._reverseOffset([n,l]);s=o.length-r.length+1}else{let l=this._reverseOffset([n,s]);if(this._match(l,r))return l;s++}s=0}return-1};fr.prototype._match=function(r,e){if(this.length-r<e.length)return!1;for(let t=0;t<e.length;t++)if(this.get(r+t)!==e[t])return!1;return!0};(function(){let r={readDoubleBE:8,readDoubleLE:8,readFloatBE:4,readFloatLE:4,readInt32BE:4,readInt32LE:4,readUInt32BE:4,readUInt32LE:4,readInt16BE:2,readInt16LE:2,readUInt16BE:2,readUInt16LE:2,readInt8:1,readUInt8:1,readIntBE:null,readIntLE:null,readUIntBE:null,readUIntLE:null};for(let e in r)(function(t){r[t]===null?fr.prototype[t]=function(i,n){return this.slice(i,i+n)[t](0,n)}:fr.prototype[t]=function(i=0){return this.slice(i,i+r[t])[t](0)}})(e)})();fr.prototype._isBufferList=function(e){return e instanceof fr||fr.isBufferList(e)};fr.isBufferList=function(e){return e!=null&&e[lce]};cce.exports=fr});var gce=w((yQt,hb)=>{\"use strict\";var EM=tp().Duplex,j5e=hl(),gE=uce();function Yi(r){if(!(this instanceof Yi))return new Yi(r);if(typeof r==\"function\"){this._callback=r;let e=function(i){this._callback&&(this._callback(i),this._callback=null)}.bind(this);this.on(\"pipe\",function(i){i.on(\"error\",e)}),this.on(\"unpipe\",function(i){i.removeListener(\"error\",e)}),r=null}gE._init.call(this,r),EM.call(this)}j5e(Yi,EM);Object.assign(Yi.prototype,gE.prototype);Yi.prototype._new=function(e){return new Yi(e)};Yi.prototype._write=function(e,t,i){this._appendBuffer(e),typeof i==\"function\"&&i()};Yi.prototype._read=function(e){if(!this.length)return this.push(null);e=Math.min(e,this.length),this.push(this.slice(0,e)),this.consume(e)};Yi.prototype.end=function(e){EM.prototype.end.call(this,e),this._callback&&(this._callback(null,this.slice()),this._callback=null)};Yi.prototype._destroy=function(e,t){this._bufs.length=0,this.length=0,t(e)};Yi.prototype._isBufferList=function(e){return e instanceof Yi||e instanceof gE||Yi.isBufferList(e)};Yi.isBufferList=gE.isBufferList;hb.exports=Yi;hb.exports.BufferListStream=Yi;hb.exports.BufferList=gE});var wM=w(ip=>{var q5e=Buffer.alloc,J5e=\"0000000000000000000\",W5e=\"7777777777777777777\",fce=\"0\".charCodeAt(0),hce=Buffer.from(\"ustar\\0\",\"binary\"),z5e=Buffer.from(\"00\",\"binary\"),V5e=Buffer.from(\"ustar \",\"binary\"),X5e=Buffer.from(\" \\0\",\"binary\"),_5e=parseInt(\"7777\",8),fE=257,yM=263,Z5e=function(r,e,t){return typeof r!=\"number\"?t:(r=~~r,r>=e?e:r>=0||(r+=e,r>=0)?r:0)},$5e=function(r){switch(r){case 0:return\"file\";case 1:return\"link\";case 2:return\"symlink\";case 3:return\"character-device\";case 4:return\"block-device\";case 5:return\"directory\";case 6:return\"fifo\";case 7:return\"contiguous-file\";case 72:return\"pax-header\";case 55:return\"pax-global-header\";case 27:return\"gnu-long-link-path\";case 28:case 30:return\"gnu-long-path\"}return null},eVe=function(r){switch(r){case\"file\":return 0;case\"link\":return 1;case\"symlink\":return 2;case\"character-device\":return 3;case\"block-device\":return 4;case\"directory\":return 5;case\"fifo\":return 6;case\"contiguous-file\":return 7;case\"pax-header\":return 72}return 0},pce=function(r,e,t,i){for(;t<i;t++)if(r[t]===e)return t;return i},dce=function(r){for(var e=256,t=0;t<148;t++)e+=r[t];for(var i=156;i<512;i++)e+=r[i];return e},El=function(r,e){return r=r.toString(8),r.length>e?W5e.slice(0,e)+\" \":J5e.slice(0,e-r.length)+r+\" \"};function tVe(r){var e;if(r[0]===128)e=!0;else if(r[0]===255)e=!1;else return null;for(var t=[],i=r.length-1;i>0;i--){var n=r[i];e?t.push(n):t.push(255-n)}var s=0,o=t.length;for(i=0;i<o;i++)s+=t[i]*Math.pow(256,i);return e?s:-1*s}var Il=function(r,e,t){if(r=r.slice(e,e+t),e=0,r[e]&128)return tVe(r);for(;e<r.length&&r[e]===32;)e++;for(var i=Z5e(pce(r,32,e,r.length),r.length,r.length);e<i&&r[e]===0;)e++;return i===e?0:parseInt(r.slice(e,i).toString(),8)},rp=function(r,e,t,i){return r.slice(e,pce(r,0,e,e+t)).toString(i)},IM=function(r){var e=Buffer.byteLength(r),t=Math.floor(Math.log(e)/Math.log(10))+1;return e+t>=Math.pow(10,t)&&t++,e+t+r};ip.decodeLongPath=function(r,e){return rp(r,0,r.length,e)};ip.encodePax=function(r){var e=\"\";r.name&&(e+=IM(\" path=\"+r.name+`\n`)),r.linkname&&(e+=IM(\" linkpath=\"+r.linkname+`\n`));var t=r.pax;if(t)for(var i in t)e+=IM(\" \"+i+\"=\"+t[i]+`\n`);return Buffer.from(e)};ip.decodePax=function(r){for(var e={};r.length;){for(var t=0;t<r.length&&r[t]!==32;)t++;var i=parseInt(r.slice(0,t).toString(),10);if(!i)return e;var n=r.slice(t+1,i-1).toString(),s=n.indexOf(\"=\");if(s===-1)return e;e[n.slice(0,s)]=n.slice(s+1),r=r.slice(i)}return e};ip.encode=function(r){var e=q5e(512),t=r.name,i=\"\";if(r.typeflag===5&&t[t.length-1]!==\"/\"&&(t+=\"/\"),Buffer.byteLength(t)!==t.length)return null;for(;Buffer.byteLength(t)>100;){var n=t.indexOf(\"/\");if(n===-1)return null;i+=i?\"/\"+t.slice(0,n):t.slice(0,n),t=t.slice(n+1)}return Buffer.byteLength(t)>100||Buffer.byteLength(i)>155||r.linkname&&Buffer.byteLength(r.linkname)>100?null:(e.write(t),e.write(El(r.mode&_5e,6),100),e.write(El(r.uid,6),108),e.write(El(r.gid,6),116),e.write(El(r.size,11),124),e.write(El(r.mtime.getTime()/1e3|0,11),136),e[156]=fce+eVe(r.type),r.linkname&&e.write(r.linkname,157),hce.copy(e,fE),z5e.copy(e,yM),r.uname&&e.write(r.uname,265),r.gname&&e.write(r.gname,297),e.write(El(r.devmajor||0,6),329),e.write(El(r.devminor||0,6),337),i&&e.write(i,345),e.write(El(dce(e),6),148),e)};ip.decode=function(r,e,t){var i=r[156]===0?0:r[156]-fce,n=rp(r,0,100,e),s=Il(r,100,8),o=Il(r,108,8),a=Il(r,116,8),l=Il(r,124,12),c=Il(r,136,12),u=$5e(i),g=r[157]===0?null:rp(r,157,100,e),f=rp(r,265,32),h=rp(r,297,32),p=Il(r,329,8),C=Il(r,337,8),y=dce(r);if(y===8*32)return null;if(y!==Il(r,148,8))throw new Error(\"Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?\");if(hce.compare(r,fE,fE+6)===0)r[345]&&(n=rp(r,345,155,e)+\"/\"+n);else if(!(V5e.compare(r,fE,fE+6)===0&&X5e.compare(r,yM,yM+2)===0)){if(!t)throw new Error(\"Invalid tar header: unknown format.\")}return i===0&&n&&n[n.length-1]===\"/\"&&(i=5),{name:n,mode:s,uid:o,gid:a,size:l,mtime:new Date(1e3*c),type:u,linkname:g,uname:f,gname:h,devmajor:p,devminor:C}}});var Bce=w((BQt,wce)=>{var mce=J(\"util\"),rVe=gce(),hE=wM(),Ece=tp().Writable,Ice=tp().PassThrough,yce=function(){},Cce=function(r){return r&=511,r&&512-r},iVe=function(r,e){var t=new pb(r,e);return t.end(),t},nVe=function(r,e){return e.path&&(r.name=e.path),e.linkpath&&(r.linkname=e.linkpath),e.size&&(r.size=parseInt(e.size,10)),r.pax=e,r},pb=function(r,e){this._parent=r,this.offset=e,Ice.call(this,{autoDestroy:!1})};mce.inherits(pb,Ice);pb.prototype.destroy=function(r){this._parent.destroy(r)};var oA=function(r){if(!(this instanceof oA))return new oA(r);Ece.call(this,r),r=r||{},this._offset=0,this._buffer=rVe(),this._missing=0,this._partial=!1,this._onparse=yce,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,t=e._buffer,i=function(){e._continue()},n=function(f){if(e._locked=!1,f)return e.destroy(f);e._stream||i()},s=function(){e._stream=null;var f=Cce(e._header.size);f?e._parse(f,o):e._parse(512,g),e._locked||i()},o=function(){e._buffer.consume(Cce(e._header.size)),e._parse(512,g),i()},a=function(){var f=e._header.size;e._paxGlobal=hE.decodePax(t.slice(0,f)),t.consume(f),s()},l=function(){var f=e._header.size;e._pax=hE.decodePax(t.slice(0,f)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),t.consume(f),s()},c=function(){var f=e._header.size;this._gnuLongPath=hE.decodeLongPath(t.slice(0,f),r.filenameEncoding),t.consume(f),s()},u=function(){var f=e._header.size;this._gnuLongLinkPath=hE.decodeLongPath(t.slice(0,f),r.filenameEncoding),t.consume(f),s()},g=function(){var f=e._offset,h;try{h=e._header=hE.decode(t.slice(0,512),r.filenameEncoding,r.allowUnknownFormat)}catch(p){e.emit(\"error\",p)}if(t.consume(512),!h){e._parse(512,g),i();return}if(h.type===\"gnu-long-path\"){e._parse(h.size,c),i();return}if(h.type===\"gnu-long-link-path\"){e._parse(h.size,u),i();return}if(h.type===\"pax-global-header\"){e._parse(h.size,a),i();return}if(h.type===\"pax-header\"){e._parse(h.size,l),i();return}if(e._gnuLongPath&&(h.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(h.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=h=nVe(h,e._pax),e._pax=null),e._locked=!0,!h.size||h.type===\"directory\"){e._parse(512,g),e.emit(\"entry\",h,iVe(e,f),n);return}e._stream=new pb(e,f),e.emit(\"entry\",h,e._stream,n),e._parse(h.size,s),i()};this._onheader=g,this._parse(512,g)};mce.inherits(oA,Ece);oA.prototype.destroy=function(r){this._destroyed||(this._destroyed=!0,r&&this.emit(\"error\",r),this.emit(\"close\"),this._stream&&this._stream.emit(\"close\"))};oA.prototype._parse=function(r,e){this._destroyed||(this._offset+=r,this._missing=r,e===this._onheader&&(this._partial=!1),this._onparse=e)};oA.prototype._continue=function(){if(!this._destroyed){var r=this._cb;this._cb=yce,this._overflow?this._write(this._overflow,void 0,r):r()}};oA.prototype._write=function(r,e,t){if(!this._destroyed){var i=this._stream,n=this._buffer,s=this._missing;if(r.length&&(this._partial=!0),r.length<s)return this._missing-=r.length,this._overflow=null,i?i.write(r,t):(n.append(r),t());this._cb=t,this._missing=0;var o=null;r.length>s&&(o=r.slice(s),r=r.slice(0,s)),i?i.end(r):n.append(r),this._overflow=o,this._onparse()}};oA.prototype._final=function(r){if(this._partial)return this.destroy(new Error(\"Unexpected end of data\"));r()};wce.exports=oA});var bce=w((QQt,Qce)=>{Qce.exports=J(\"fs\").constants||J(\"constants\")});var Dce=w((bQt,Pce)=>{var np=bce(),Sce=fk(),Cb=hl(),sVe=Buffer.alloc,vce=tp().Readable,sp=tp().Writable,oVe=J(\"string_decoder\").StringDecoder,db=wM(),aVe=parseInt(\"755\",8),AVe=parseInt(\"644\",8),xce=sVe(1024),QM=function(){},BM=function(r,e){e&=511,e&&r.push(xce.slice(0,512-e))};function lVe(r){switch(r&np.S_IFMT){case np.S_IFBLK:return\"block-device\";case np.S_IFCHR:return\"character-device\";case np.S_IFDIR:return\"directory\";case np.S_IFIFO:return\"fifo\";case np.S_IFLNK:return\"symlink\"}return\"file\"}var mb=function(r){sp.call(this),this.written=0,this._to=r,this._destroyed=!1};Cb(mb,sp);mb.prototype._write=function(r,e,t){if(this.written+=r.length,this._to.push(r))return t();this._to._drain=t};mb.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit(\"close\"))};var Eb=function(){sp.call(this),this.linkname=\"\",this._decoder=new oVe(\"utf-8\"),this._destroyed=!1};Cb(Eb,sp);Eb.prototype._write=function(r,e,t){this.linkname+=this._decoder.write(r),t()};Eb.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit(\"close\"))};var pE=function(){sp.call(this),this._destroyed=!1};Cb(pE,sp);pE.prototype._write=function(r,e,t){t(new Error(\"No body allowed for this entry\"))};pE.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit(\"close\"))};var ra=function(r){if(!(this instanceof ra))return new ra(r);vce.call(this,r),this._drain=QM,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};Cb(ra,vce);ra.prototype.entry=function(r,e,t){if(this._stream)throw new Error(\"already piping an entry\");if(!(this._finalized||this._destroyed)){typeof e==\"function\"&&(t=e,e=null),t||(t=QM);var i=this;if((!r.size||r.type===\"symlink\")&&(r.size=0),r.type||(r.type=lVe(r.mode)),r.mode||(r.mode=r.type===\"directory\"?aVe:AVe),r.uid||(r.uid=0),r.gid||(r.gid=0),r.mtime||(r.mtime=new Date),typeof e==\"string\"&&(e=Buffer.from(e)),Buffer.isBuffer(e)){r.size=e.length,this._encode(r);var n=this.push(e);return BM(i,r.size),n?process.nextTick(t):this._drain=t,new pE}if(r.type===\"symlink\"&&!r.linkname){var s=new Eb;return Sce(s,function(a){if(a)return i.destroy(),t(a);r.linkname=s.linkname,i._encode(r),t()}),s}if(this._encode(r),r.type!==\"file\"&&r.type!==\"contiguous-file\")return process.nextTick(t),new pE;var o=new mb(this);return this._stream=o,Sce(o,function(a){if(i._stream=null,a)return i.destroy(),t(a);if(o.written!==r.size)return i.destroy(),t(new Error(\"size mismatch\"));BM(i,r.size),i._finalizing&&i.finalize(),t()}),o}};ra.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(xce),this.push(null))};ra.prototype.destroy=function(r){this._destroyed||(this._destroyed=!0,r&&this.emit(\"error\",r),this.emit(\"close\"),this._stream&&this._stream.destroy&&this._stream.destroy())};ra.prototype._encode=function(r){if(!r.pax){var e=db.encode(r);if(e){this.push(e);return}}this._encodePax(r)};ra.prototype._encodePax=function(r){var e=db.encodePax({name:r.name,linkname:r.linkname,pax:r.pax}),t={name:\"PaxHeader\",mode:r.mode,uid:r.uid,gid:r.gid,size:e.length,mtime:r.mtime,type:\"pax-header\",linkname:r.linkname&&\"PaxHeader\",uname:r.uname,gname:r.gname,devmajor:r.devmajor,devminor:r.devminor};this.push(db.encode(t)),this.push(e),BM(this,e.length),t.size=r.size,t.type=r.type,this.push(db.encode(t))};ra.prototype._read=function(r){var e=this._drain;this._drain=QM,e()};Pce.exports=ra});var kce=w(bM=>{bM.extract=Bce();bM.pack=Dce()});var Yce=w((WQt,Gce)=>{\"use strict\";var Uu=class{constructor(e,t,i){this.__specs=e||{},Object.keys(this.__specs).forEach(n=>{if(typeof this.__specs[n]==\"string\"){let s=this.__specs[n],o=this.__specs[s];if(o){let a=o.aliases||[];a.push(n,s),o.aliases=[...new Set(a)],this.__specs[n]=o}else throw new Error(`Alias refers to invalid key: ${s} -> ${n}`)}}),this.__opts=t||{},this.__providers=Uce(i.filter(n=>n!=null&&typeof n==\"object\")),this.__isFiggyPudding=!0}get(e){return kM(this,e,!0)}get[Symbol.toStringTag](){return\"FiggyPudding\"}forEach(e,t=this){for(let[i,n]of this.entries())e.call(t,n,i,this)}toJSON(){let e={};return this.forEach((t,i)=>{e[i]=t}),e}*entries(e){for(let i of Object.keys(this.__specs))yield[i,this.get(i)];let t=e||this.__opts.other;if(t){let i=new Set;for(let n of this.__providers){let s=n.entries?n.entries(t):QVe(n);for(let[o,a]of s)t(o)&&!i.has(o)&&(i.add(o),yield[o,a])}}}*[Symbol.iterator](){for(let[e,t]of this.entries())yield[e,t]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new Uu(this.__specs,this.__opts,Uce(this.__providers).concat(e)),Hce)}};try{let r=J(\"util\");Uu.prototype[r.inspect.custom]=function(e,t){return this[Symbol.toStringTag]+\" \"+r.inspect(this.toJSON(),t)}}catch{}function wVe(r){throw Object.assign(new Error(`invalid config key requested: ${r}`),{code:\"EBADKEY\"})}function kM(r,e,t){let i=r.__specs[e];if(t&&!i&&(!r.__opts.other||!r.__opts.other(e)))wVe(e);else{i||(i={});let n;for(let s of r.__providers){if(n=Kce(e,s),n===void 0&&i.aliases&&i.aliases.length){for(let o of i.aliases)if(o!==e&&(n=Kce(o,s),n!==void 0))break}if(n!==void 0)break}return n===void 0&&i.default!==void 0?typeof i.default==\"function\"?i.default(r):i.default:n}}function Kce(r,e){let t;return e.__isFiggyPudding?t=kM(e,r,!1):typeof e.get==\"function\"?t=e.get(r):t=e[r],t}var Hce={has(r,e){return e in r.__specs&&kM(r,e,!1)!==void 0},ownKeys(r){return Object.keys(r.__specs)},get(r,e){return typeof e==\"symbol\"||e.slice(0,2)===\"__\"||e in Uu.prototype?r[e]:r.get(e)},set(r,e,t){if(typeof e==\"symbol\"||e.slice(0,2)===\"__\")return r[e]=t,!0;throw new Error(\"figgyPudding options cannot be modified. Use .concat() instead.\")},deleteProperty(){throw new Error(\"figgyPudding options cannot be deleted. Use .concat() and shadow them instead.\")}};Gce.exports=BVe;function BVe(r,e){function t(...i){return new Proxy(new Uu(r,e,i),Hce)}return t}function Uce(r){let e=[];return r.forEach(t=>e.unshift(t)),e}function QVe(r){return Object.keys(r).map(e=>[e,r[e]])}});var Jce=w((zQt,sa)=>{\"use strict\";var CE=J(\"crypto\"),bVe=Yce(),SVe=J(\"stream\").Transform,jce=[\"sha256\",\"sha384\",\"sha512\"],vVe=/^[a-z0-9+/]+(?:=?=?)$/i,xVe=/^([^-]+)-([^?]+)([?\\S*]*)$/,PVe=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\\?[\\x21-\\x7E]*)*$/,DVe=/^[\\x21-\\x7E]+$/,on=bVe({algorithms:{default:[\"sha512\"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>MVe},Promise:{default:()=>Promise},sep:{default:\" \"},single:{default:!1},size:{},strict:{default:!1}}),yl=class{get isHash(){return!0}constructor(e,t){t=on(t);let i=!!t.strict;this.source=e.trim();let n=this.source.match(i?PVe:xVe);if(!n||i&&!jce.some(o=>o===n[1]))return;this.algorithm=n[1],this.digest=n[2];let s=n[3];this.options=s?s.slice(1).split(\"?\"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,\"base64\").toString(\"hex\")}toJSON(){return this.toString()}toString(e){if(e=on(e),e.strict&&!(jce.some(i=>i===this.algorithm)&&this.digest.match(vVe)&&(this.options||[]).every(i=>i.match(DVe))))return\"\";let t=this.options&&this.options.length?`?${this.options.join(\"?\")}`:\"\";return`${this.algorithm}-${this.digest}${t}`}},Hu=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){e=on(e);let t=e.sep||\" \";return e.strict&&(t=t.replace(/\\S+/g,\" \")),Object.keys(this).map(i=>this[i].map(n=>yl.prototype.toString.call(n,e)).filter(n=>n.length).join(t)).filter(i=>i.length).join(t)}concat(e,t){t=on(t);let i=typeof e==\"string\"?e:dE(e,t);return na(`${this.toString(t)} ${i}`,t)}hexDigest(){return na(this,{single:!0}).hexDigest()}match(e,t){t=on(t);let i=na(e,t),n=i.pickAlgorithm(t);return this[n]&&i[n]&&this[n].find(s=>i[n].find(o=>s.digest===o.digest))||!1}pickAlgorithm(e){e=on(e);let t=e.pickAlgorithm,i=Object.keys(this);if(!i.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return i.reduce((n,s)=>t(n,s)||n)}};sa.exports.parse=na;function na(r,e){if(e=on(e),typeof r==\"string\")return RM(r,e);if(r.algorithm&&r.digest){let t=new Hu;return t[r.algorithm]=[r],RM(dE(t,e),e)}else return RM(dE(r,e),e)}function RM(r,e){return e.single?new yl(r,e):r.trim().split(/\\s+/).reduce((t,i)=>{let n=new yl(i,e);if(n.algorithm&&n.digest){let s=n.algorithm;t[s]||(t[s]=[]),t[s].push(n)}return t},new Hu)}sa.exports.stringify=dE;function dE(r,e){return e=on(e),r.algorithm&&r.digest?yl.prototype.toString.call(r,e):typeof r==\"string\"?dE(na(r,e),e):Hu.prototype.toString.call(r,e)}sa.exports.fromHex=kVe;function kVe(r,e,t){t=on(t);let i=t.options&&t.options.length?`?${t.options.join(\"?\")}`:\"\";return na(`${e}-${Buffer.from(r,\"hex\").toString(\"base64\")}${i}`,t)}sa.exports.fromData=RVe;function RVe(r,e){e=on(e);let t=e.algorithms,i=e.options&&e.options.length?`?${e.options.join(\"?\")}`:\"\";return t.reduce((n,s)=>{let o=CE.createHash(s).update(r).digest(\"base64\"),a=new yl(`${s}-${o}${i}`,e);if(a.algorithm&&a.digest){let l=a.algorithm;n[l]||(n[l]=[]),n[l].push(a)}return n},new Hu)}sa.exports.fromStream=FVe;function FVe(r,e){e=on(e);let t=e.Promise||Promise,i=FM(e);return new t((n,s)=>{r.pipe(i),r.on(\"error\",s),i.on(\"error\",s);let o;i.on(\"integrity\",a=>{o=a}),i.on(\"end\",()=>n(o)),i.on(\"data\",()=>{})})}sa.exports.checkData=NVe;function NVe(r,e,t){if(t=on(t),e=na(e,t),!Object.keys(e).length){if(t.error)throw Object.assign(new Error(\"No valid integrity hashes to check against\"),{code:\"EINTEGRITY\"});return!1}let i=e.pickAlgorithm(t),n=CE.createHash(i).update(r).digest(\"base64\"),s=na({algorithm:i,digest:n}),o=s.match(e,t);if(o||!t.error)return o;if(typeof t.size==\"number\"&&r.length!==t.size){let a=new Error(`data size mismatch when checking ${e}.\n  Wanted: ${t.size}\n  Found: ${r.length}`);throw a.code=\"EBADSIZE\",a.found=r.length,a.expected=t.size,a.sri=e,a}else{let a=new Error(`Integrity checksum failed when using ${i}: Wanted ${e}, but got ${s}. (${r.length} bytes)`);throw a.code=\"EINTEGRITY\",a.found=s,a.expected=e,a.algorithm=i,a.sri=e,a}}sa.exports.checkStream=LVe;function LVe(r,e,t){t=on(t);let i=t.Promise||Promise,n=FM(t.concat({integrity:e}));return new i((s,o)=>{r.pipe(n),r.on(\"error\",o),n.on(\"error\",o);let a;n.on(\"verified\",l=>{a=l}),n.on(\"end\",()=>s(a)),n.on(\"data\",()=>{})})}sa.exports.integrityStream=FM;function FM(r){r=on(r);let e=r.integrity&&na(r.integrity,r),t=e&&Object.keys(e).length,i=t&&e.pickAlgorithm(r),n=t&&e[i],s=Array.from(new Set(r.algorithms.concat(i?[i]:[]))),o=s.map(CE.createHash),a=0,l=new SVe({transform(c,u,g){a+=c.length,o.forEach(f=>f.update(c,u)),g(null,c,u)}}).on(\"end\",()=>{let c=r.options&&r.options.length?`?${r.options.join(\"?\")}`:\"\",u=na(o.map((f,h)=>`${s[h]}-${f.digest(\"base64\")}${c}`).join(\" \"),r),g=t&&u.match(e,r);if(typeof r.size==\"number\"&&a!==r.size){let f=new Error(`stream size mismatch when checking ${e}.\n  Wanted: ${r.size}\n  Found: ${a}`);f.code=\"EBADSIZE\",f.found=a,f.expected=r.size,f.sri=e,l.emit(\"error\",f)}else if(r.integrity&&!g){let f=new Error(`${e} integrity checksum failed when using ${i}: wanted ${n} but got ${u}. (${a} bytes)`);f.code=\"EINTEGRITY\",f.found=u,f.expected=n,f.algorithm=i,f.sri=e,l.emit(\"error\",f)}else l.emit(\"size\",a),l.emit(\"integrity\",u),g&&l.emit(\"verified\",g)});return l}sa.exports.create=TVe;function TVe(r){r=on(r);let e=r.algorithms,t=r.options.length?`?${r.options.join(\"?\")}`:\"\",i=e.map(CE.createHash);return{update:function(n,s){return i.forEach(o=>o.update(n,s)),this},digest:function(n){return e.reduce((o,a)=>{let l=i.shift().digest(\"base64\"),c=new yl(`${a}-${l}${t}`,r);if(c.algorithm&&c.digest){let u=c.algorithm;o[u]||(o[u]=[]),o[u].push(c)}return o},new Hu)}}}var OVe=new Set(CE.getHashes()),qce=[\"md5\",\"whirlpool\",\"sha1\",\"sha224\",\"sha256\",\"sha384\",\"sha512\",\"sha3\",\"sha3-256\",\"sha3-384\",\"sha3-512\",\"sha3_256\",\"sha3_384\",\"sha3_512\"].filter(r=>OVe.has(r));function MVe(r,e){return qce.indexOf(r.toLowerCase())>=qce.indexOf(e.toLowerCase())?r:e}});var VC={};ut(VC,{BuildType:()=>C0,Cache:()=>Rt,Configuration:()=>ye,DEFAULT_LOCK_FILENAME:()=>jD,DEFAULT_RC_FILENAME:()=>YD,FormatType:()=>vi,InstallMode:()=>Xn,LightReport:()=>_o,LinkType:()=>lf,Manifest:()=>ot,MessageName:()=>Ct,MultiFetcher:()=>If,PackageExtensionStatus:()=>Nx,PackageExtensionType:()=>Fx,Project:()=>je,ProjectLookup:()=>zD,Report:()=>Si,ReportError:()=>at,SettingsType:()=>qD,StreamReport:()=>Ge,TAG_REGEXP:()=>wf,TelemetryManager:()=>hh,ThrowReport:()=>ti,VirtualFetcher:()=>Bf,Workspace:()=>fh,WorkspaceFetcher:()=>bf,WorkspaceResolver:()=>jr,YarnVersion:()=>Lr,execUtils:()=>Cr,folderUtils:()=>ww,formatUtils:()=>ee,hashUtils:()=>li,httpUtils:()=>Vt,miscUtils:()=>Ie,nodeUtils:()=>Cs,parseMessageName:()=>QI,scriptUtils:()=>Jt,semverUtils:()=>vt,stringifyMessageName:()=>QA,structUtils:()=>P,tgzUtils:()=>Ci,treeUtils:()=>Vn});var Cr={};ut(Cr,{EndStrategy:()=>ZD,ExecError:()=>Dw,PipeError:()=>sC,execvp:()=>KD,pipevp:()=>Yo});var Lp={};ut(Lp,{AliasFS:()=>yo,CwdFS:()=>jt,DEFAULT_COMPRESSION_LEVEL:()=>Ol,FakeFS:()=>ha,Filename:()=>xt,JailFS:()=>wo,LazyFS:()=>dg,LinkStrategy:()=>tS,NoFS:()=>Rp,NodeFS:()=>$t,PortablePath:()=>Oe,PosixFS:()=>Cg,ProxiedFS:()=>pi,VirtualFS:()=>Br,ZipFS:()=>Wr,ZipOpenFS:()=>Tn,constants:()=>xr,extendFs:()=>XE,normalizeLineEndings:()=>Tl,npath:()=>K,opendir:()=>YE,patchFs:()=>lS,ppath:()=>x,statUtils:()=>Sp,toFilename:()=>Ur,xfs:()=>M});var xr={};ut(xr,{SAFE_TIME:()=>v1,S_IFDIR:()=>Fl,S_IFLNK:()=>Ll,S_IFMT:()=>Hs,S_IFREG:()=>Nl});var Hs=61440,Fl=16384,Nl=32768,Ll=40960,v1=456789e3;var Sp={};ut(Sp,{BigIntStatsEntry:()=>fg,DEFAULT_MODE:()=>Qp,DirEntry:()=>zb,StatEntry:()=>fa,areStatsEqual:()=>Xb,clearStats:()=>LE,convertToBigIntStats:()=>TE,makeDefaultStats:()=>bp,makeEmptyStats:()=>que});var Vb=Pe(J(\"util\"));var Qp=33188,zb=class{constructor(){this.name=\"\";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},fa=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=Qp;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},fg=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(Qp);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(61440))===BigInt(16384)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(61440))===BigInt(32768)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(61440))===BigInt(40960)}};function bp(){return new fa}function que(){return LE(bp())}function LE(r){for(let e in r)if(Object.prototype.hasOwnProperty.call(r,e)){let t=r[e];typeof t==\"number\"?r[e]=0:typeof t==\"bigint\"?r[e]=BigInt(0):Vb.types.isDate(t)&&(r[e]=new Date(0))}return r}function TE(r){let e=new fg;for(let t in r)if(Object.prototype.hasOwnProperty.call(r,t)){let i=r[t];typeof i==\"number\"?e[t]=BigInt(i):Vb.types.isDate(i)&&(e[t]=new Date(i))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function Xb(r,e){if(r.atimeMs!==e.atimeMs||r.birthtimeMs!==e.birthtimeMs||r.blksize!==e.blksize||r.blocks!==e.blocks||r.ctimeMs!==e.ctimeMs||r.dev!==e.dev||r.gid!==e.gid||r.ino!==e.ino||r.isBlockDevice()!==e.isBlockDevice()||r.isCharacterDevice()!==e.isCharacterDevice()||r.isDirectory()!==e.isDirectory()||r.isFIFO()!==e.isFIFO()||r.isFile()!==e.isFile()||r.isSocket()!==e.isSocket()||r.isSymbolicLink()!==e.isSymbolicLink()||r.mode!==e.mode||r.mtimeMs!==e.mtimeMs||r.nlink!==e.nlink||r.rdev!==e.rdev||r.size!==e.size||r.uid!==e.uid)return!1;let t=r,i=e;return!(t.atimeNs!==i.atimeNs||t.mtimeNs!==i.mtimeNs||t.ctimeNs!==i.ctimeNs||t.birthtimeNs!==i.birthtimeNs)}var ME=Pe(J(\"fs\"));var vp=Pe(J(\"path\"));var Oe={root:\"/\",dot:\".\",parent:\"..\"},xt={nodeModules:\"node_modules\",manifest:\"package.json\",lockfile:\"yarn.lock\",virtual:\"__virtual__\",pnpJs:\".pnp.js\",pnpCjs:\".pnp.cjs\",rc:\".yarnrc.yml\"},K=Object.create(vp.default),x=Object.create(vp.default.posix);K.cwd=()=>process.cwd();x.cwd=()=>_b(process.cwd());x.resolve=(...r)=>r.length>0&&x.isAbsolute(r[0])?vp.default.posix.resolve(...r):vp.default.posix.resolve(x.cwd(),...r);var x1=function(r,e,t){return e=r.normalize(e),t=r.normalize(t),e===t?\".\":(e.endsWith(r.sep)||(e=e+r.sep),t.startsWith(e)?t.slice(e.length):null)};K.fromPortablePath=P1;K.toPortablePath=_b;K.contains=(r,e)=>x1(K,r,e);x.contains=(r,e)=>x1(x,r,e);var Jue=/^([a-zA-Z]:.*)$/,Wue=/^\\/\\/(\\.\\/)?(.*)$/,zue=/^\\/([a-zA-Z]:.*)$/,Vue=/^\\/unc\\/(\\.dot\\/)?(.*)$/;function P1(r){if(process.platform!==\"win32\")return r;let e,t;if(e=r.match(zue))r=e[1];else if(t=r.match(Vue))r=`\\\\\\\\${t[1]?\".\\\\\":\"\"}${t[2]}`;else return r;return r.replace(/\\//g,\"\\\\\")}function _b(r){if(process.platform!==\"win32\")return r;r=r.replace(/\\\\/g,\"/\");let e,t;return(e=r.match(Jue))?r=`/${e[1]}`:(t=r.match(Wue))&&(r=`/unc/${t[1]?\".dot/\":\"\"}${t[2]}`),r}function OE(r,e){return r===K?P1(e):_b(e)}function Ur(r){if(K.parse(r).dir!==\"\"||x.parse(r).dir!==\"\")throw new Error(`Invalid filename: \"${r}\"`);return r}var KE=new Date(456789e3*1e3),tS=(t=>(t.Allow=\"allow\",t.ReadOnly=\"readOnly\",t))(tS||{});async function D1(r,e,t,i,n){let s=r.pathUtils.normalize(e),o=t.pathUtils.normalize(i),a=[],l=[],{atime:c,mtime:u}=n.stableTime?{atime:KE,mtime:KE}:await t.lstatPromise(o);await r.mkdirpPromise(r.pathUtils.dirname(e),{utimes:[c,u]});let g=typeof r.lutimesPromise==\"function\"?r.lutimesPromise.bind(r):r.utimesPromise.bind(r);await $b(a,l,g,r,s,t,o,{...n,didParentExist:!0});for(let f of a)await f();await Promise.all(l.map(f=>f()))}async function $b(r,e,t,i,n,s,o,a){var h,p;let l=a.didParentExist?await Xue(i,n):null,c=await s.lstatPromise(o),{atime:u,mtime:g}=a.stableTime?{atime:KE,mtime:KE}:c,f;switch(!0){case c.isDirectory():f=await _ue(r,e,t,i,n,l,s,o,c,a);break;case c.isFile():f=await $ue(r,e,t,i,n,l,s,o,c,a);break;case c.isSymbolicLink():f=await ege(r,e,t,i,n,l,s,o,c,a);break;default:throw new Error(`Unsupported file type (${c.mode})`)}return(f||((h=l==null?void 0:l.mtime)==null?void 0:h.getTime())!==g.getTime()||((p=l==null?void 0:l.atime)==null?void 0:p.getTime())!==u.getTime())&&(e.push(()=>t(n,u,g)),f=!0),(l===null||(l.mode&511)!==(c.mode&511))&&(e.push(()=>i.chmodPromise(n,c.mode&511)),f=!0),f}async function Xue(r,e){try{return await r.lstatPromise(e)}catch{return null}}async function _ue(r,e,t,i,n,s,o,a,l,c){if(s!==null&&!s.isDirectory())if(c.overwrite)r.push(async()=>i.removePromise(n)),s=null;else return!1;let u=!1;s===null&&(r.push(async()=>{try{await i.mkdirPromise(n,{mode:l.mode})}catch(h){if(h.code!==\"EEXIST\")throw h}}),u=!0);let g=await o.readdirPromise(a),f=c.didParentExist&&!s?{...c,didParentExist:!1}:c;if(c.stableSort)for(let h of g.sort())await $b(r,e,t,i,i.pathUtils.join(n,h),o,o.pathUtils.join(a,h),f)&&(u=!0);else(await Promise.all(g.map(async p=>{await $b(r,e,t,i,i.pathUtils.join(n,p),o,o.pathUtils.join(a,p),f)}))).some(p=>p)&&(u=!0);return u}var Zb=new WeakMap;function eS(r,e,t,i,n){return async()=>{await r.linkPromise(t,e),n===\"readOnly\"&&(i.mode&=-147,await r.chmodPromise(e,i.mode))}}function Zue(r,e,t,i,n){let s=Zb.get(r);return typeof s>\"u\"?async()=>{try{await r.copyFilePromise(t,e,ME.default.constants.COPYFILE_FICLONE_FORCE),Zb.set(r,!0)}catch(o){if(o.code===\"ENOSYS\"||o.code===\"ENOTSUP\")Zb.set(r,!1),await eS(r,e,t,i,n)();else throw o}}:s?async()=>r.copyFilePromise(t,e,ME.default.constants.COPYFILE_FICLONE_FORCE):eS(r,e,t,i,n)}async function $ue(r,e,t,i,n,s,o,a,l,c){var f;if(s!==null)if(c.overwrite)r.push(async()=>i.removePromise(n)),s=null;else return!1;let u=(f=c.linkStrategy)!=null?f:null,g=i===o?u!==null?Zue(i,n,a,l,u):async()=>i.copyFilePromise(a,n,ME.default.constants.COPYFILE_FICLONE):u!==null?eS(i,n,a,l,u):async()=>i.writeFilePromise(n,await o.readFilePromise(a));return r.push(async()=>g()),!0}async function ege(r,e,t,i,n,s,o,a,l,c){if(s!==null)if(c.overwrite)r.push(async()=>i.removePromise(n)),s=null;else return!1;return r.push(async()=>{await i.symlinkPromise(OE(i.pathUtils,await o.readlinkPromise(a)),n)}),!0}function is(r,e){return Object.assign(new Error(`${r}: ${e}`),{code:r})}function HE(r){return is(\"EBUSY\",r)}function xp(r,e){return is(\"ENOSYS\",`${r}, ${e}`)}function mA(r){return is(\"EINVAL\",`invalid argument, ${r}`)}function Hr(r){return is(\"EBADF\",`bad file descriptor, ${r}`)}function Gs(r){return is(\"ENOENT\",`no such file or directory, ${r}`)}function Io(r){return is(\"ENOTDIR\",`not a directory, ${r}`)}function Pp(r){return is(\"EISDIR\",`illegal operation on a directory, ${r}`)}function GE(r){return is(\"EEXIST\",`file already exists, ${r}`)}function ln(r){return is(\"EROFS\",`read-only filesystem, ${r}`)}function k1(r){return is(\"ENOTEMPTY\",`directory not empty, ${r}`)}function R1(r){return is(\"EOPNOTSUPP\",`operation not supported, ${r}`)}function F1(){return is(\"ERR_DIR_CLOSED\",\"Directory handle was closed\")}var UE=class extends Error{constructor(t,i){super(t);this.name=\"Libzip Error\",this.code=i}};var iS=class{constructor(e,t,i={}){this.path=e;this.nextDirent=t;this.opts=i;this.closed=!1}throwIfClosed(){if(this.closed)throw F1()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let t=this.readSync();return typeof e<\"u\"?e(null,t):Promise.resolve(t)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e<\"u\"?e(null):Promise.resolve()}closeSync(){var e,t;this.throwIfClosed(),(t=(e=this.opts).onClose)==null||t.call(e),this.closed=!0}};function YE(r,e,t,i){let n=()=>{let s=t.shift();return typeof s>\"u\"?null:Object.assign(r.statSync(r.pathUtils.join(e,s)),{name:s})};return new iS(e,n,i)}var N1=J(\"os\");var ha=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:t=!1}={}){let i=[e];for(;i.length>0;){let n=i.shift();if((await this.lstatPromise(n)).isDirectory()){let o=await this.readdirPromise(n);if(t)for(let a of o.sort())i.push(this.pathUtils.join(n,a));else throw new Error(\"Not supported\")}else yield n}}async removePromise(e,{recursive:t=!0,maxRetries:i=5}={}){let n;try{n=await this.lstatPromise(e)}catch(s){if(s.code===\"ENOENT\")return;throw s}if(n.isDirectory()){if(t){let s=await this.readdirPromise(e);await Promise.all(s.map(o=>this.removePromise(this.pathUtils.resolve(e,o))))}for(let s=0;s<=i;s++)try{await this.rmdirPromise(e);break}catch(o){if(o.code!==\"EBUSY\"&&o.code!==\"ENOTEMPTY\")throw o;s<i&&await new Promise(a=>setTimeout(a,s*100))}}else await this.unlinkPromise(e)}removeSync(e,{recursive:t=!0}={}){let i;try{i=this.lstatSync(e)}catch(n){if(n.code===\"ENOENT\")return;throw n}if(i.isDirectory()){if(t)for(let n of this.readdirSync(e))this.removeSync(this.pathUtils.resolve(e,n));this.rmdirSync(e)}else this.unlinkSync(e)}async mkdirpPromise(e,{chmod:t,utimes:i}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let n=e.split(this.pathUtils.sep),s;for(let o=2;o<=n.length;++o){let a=n.slice(0,o).join(this.pathUtils.sep);if(!this.existsSync(a)){try{await this.mkdirPromise(a)}catch(l){if(l.code===\"EEXIST\")continue;throw l}if(s!=null||(s=a),t!=null&&await this.chmodPromise(a,t),i!=null)await this.utimesPromise(a,i[0],i[1]);else{let l=await this.statPromise(this.pathUtils.dirname(a));await this.utimesPromise(a,l.atime,l.mtime)}}}return s}mkdirpSync(e,{chmod:t,utimes:i}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let n=e.split(this.pathUtils.sep),s;for(let o=2;o<=n.length;++o){let a=n.slice(0,o).join(this.pathUtils.sep);if(!this.existsSync(a)){try{this.mkdirSync(a)}catch(l){if(l.code===\"EEXIST\")continue;throw l}if(s!=null||(s=a),t!=null&&this.chmodSync(a,t),i!=null)this.utimesSync(a,i[0],i[1]);else{let l=this.statSync(this.pathUtils.dirname(a));this.utimesSync(a,l.atime,l.mtime)}}}return s}async copyPromise(e,t,{baseFs:i=this,overwrite:n=!0,stableSort:s=!1,stableTime:o=!1,linkStrategy:a=null}={}){return await D1(this,e,i,t,{overwrite:n,stableSort:s,stableTime:o,linkStrategy:a})}copySync(e,t,{baseFs:i=this,overwrite:n=!0}={}){let s=i.lstatSync(t),o=this.existsSync(e);if(s.isDirectory()){this.mkdirpSync(e);let l=i.readdirSync(t);for(let c of l)this.copySync(this.pathUtils.join(e,c),i.pathUtils.join(t,c),{baseFs:i,overwrite:n})}else if(s.isFile()){if(!o||n){o&&this.removeSync(e);let l=i.readFileSync(t);this.writeFileSync(e,l)}}else if(s.isSymbolicLink()){if(!o||n){o&&this.removeSync(e);let l=i.readlinkSync(t);this.symlinkSync(OE(this.pathUtils,l),e)}}else throw new Error(`Unsupported file type (file: ${t}, mode: 0o${s.mode.toString(8).padStart(6,\"0\")})`);let a=s.mode&511;this.chmodSync(e,a)}async changeFilePromise(e,t,i={}){return Buffer.isBuffer(t)?this.changeFileBufferPromise(e,t,i):this.changeFileTextPromise(e,t,i)}async changeFileBufferPromise(e,t,{mode:i}={}){let n=Buffer.alloc(0);try{n=await this.readFilePromise(e)}catch{}Buffer.compare(n,t)!==0&&await this.writeFilePromise(e,t,{mode:i})}async changeFileTextPromise(e,t,{automaticNewlines:i,mode:n}={}){let s=\"\";try{s=await this.readFilePromise(e,\"utf8\")}catch{}let o=i?Tl(s,t):t;s!==o&&await this.writeFilePromise(e,o,{mode:n})}changeFileSync(e,t,i={}){return Buffer.isBuffer(t)?this.changeFileBufferSync(e,t,i):this.changeFileTextSync(e,t,i)}changeFileBufferSync(e,t,{mode:i}={}){let n=Buffer.alloc(0);try{n=this.readFileSync(e)}catch{}Buffer.compare(n,t)!==0&&this.writeFileSync(e,t,{mode:i})}changeFileTextSync(e,t,{automaticNewlines:i=!1,mode:n}={}){let s=\"\";try{s=this.readFileSync(e,\"utf8\")}catch{}let o=i?Tl(s,t):t;s!==o&&this.writeFileSync(e,o,{mode:n})}async movePromise(e,t){try{await this.renamePromise(e,t)}catch(i){if(i.code===\"EXDEV\")await this.copyPromise(t,e),await this.removePromise(e);else throw i}}moveSync(e,t){try{this.renameSync(e,t)}catch(i){if(i.code===\"EXDEV\")this.copySync(t,e),this.removeSync(e);else throw i}}async lockPromise(e,t){let i=`${e}.flock`,n=1e3/60,s=Date.now(),o=null,a=async()=>{let l;try{[l]=await this.readJsonPromise(i)}catch{return Date.now()-s<500}try{return process.kill(l,0),!0}catch{return!1}};for(;o===null;)try{o=await this.openPromise(i,\"wx\")}catch(l){if(l.code===\"EEXIST\"){if(!await a())try{await this.unlinkPromise(i);continue}catch{}if(Date.now()-s<60*1e3)await new Promise(c=>setTimeout(c,n));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${i})`)}else throw l}await this.writePromise(o,JSON.stringify([process.pid]));try{return await t()}finally{try{await this.closePromise(o),await this.unlinkPromise(i)}catch{}}}async readJsonPromise(e){let t=await this.readFilePromise(e,\"utf8\");try{return JSON.parse(t)}catch(i){throw i.message+=` (in ${e})`,i}}readJsonSync(e){let t=this.readFileSync(e,\"utf8\");try{return JSON.parse(t)}catch(i){throw i.message+=` (in ${e})`,i}}async writeJsonPromise(e,t){return await this.writeFilePromise(e,`${JSON.stringify(t,null,2)}\n`)}writeJsonSync(e,t){return this.writeFileSync(e,`${JSON.stringify(t,null,2)}\n`)}async preserveTimePromise(e,t){let i=await this.lstatPromise(e),n=await t();typeof n<\"u\"&&(e=n),this.lutimesPromise?await this.lutimesPromise(e,i.atime,i.mtime):i.isSymbolicLink()||await this.utimesPromise(e,i.atime,i.mtime)}async preserveTimeSync(e,t){let i=this.lstatSync(e),n=t();typeof n<\"u\"&&(e=n),this.lutimesSync?this.lutimesSync(e,i.atime,i.mtime):i.isSymbolicLink()||this.utimesSync(e,i.atime,i.mtime)}},EA=class extends ha{constructor(){super(x)}};function tge(r){let e=r.match(/\\r?\\n/g);if(e===null)return N1.EOL;let t=e.filter(n=>n===`\\r\n`).length,i=e.length-t;return t>i?`\\r\n`:`\n`}function Tl(r,e){return e.replace(/\\r?\\n/g,tge(r))}var pg=J(\"fs\"),sS=J(\"stream\"),M1=J(\"util\"),oS=Pe(J(\"zlib\"));var L1=Pe(J(\"fs\"));var $t=class extends EA{constructor(t=L1.default){super();this.realFs=t,typeof this.realFs.lutimes<\"u\"&&(this.lutimesPromise=this.lutimesPromiseImpl,this.lutimesSync=this.lutimesSyncImpl)}getExtractHint(){return!1}getRealPath(){return Oe.root}resolve(t){return x.resolve(t)}async openPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.open(K.fromPortablePath(t),i,n,this.makeCallback(s,o))})}openSync(t,i,n){return this.realFs.openSync(K.fromPortablePath(t),i,n)}async opendirPromise(t,i){return await new Promise((n,s)=>{typeof i<\"u\"?this.realFs.opendir(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.opendir(K.fromPortablePath(t),this.makeCallback(n,s))}).then(n=>Object.defineProperty(n,\"path\",{value:t,configurable:!0,writable:!0}))}opendirSync(t,i){let n=typeof i<\"u\"?this.realFs.opendirSync(K.fromPortablePath(t),i):this.realFs.opendirSync(K.fromPortablePath(t));return Object.defineProperty(n,\"path\",{value:t,configurable:!0,writable:!0})}async readPromise(t,i,n=0,s=0,o=-1){return await new Promise((a,l)=>{this.realFs.read(t,i,n,s,o,(c,u)=>{c?l(c):a(u)})})}readSync(t,i,n,s,o){return this.realFs.readSync(t,i,n,s,o)}async writePromise(t,i,n,s,o){return await new Promise((a,l)=>typeof i==\"string\"?this.realFs.write(t,i,n,this.makeCallback(a,l)):this.realFs.write(t,i,n,s,o,this.makeCallback(a,l)))}writeSync(t,i,n,s,o){return typeof i==\"string\"?this.realFs.writeSync(t,i,n):this.realFs.writeSync(t,i,n,s,o)}async closePromise(t){await new Promise((i,n)=>{this.realFs.close(t,this.makeCallback(i,n))})}closeSync(t){this.realFs.closeSync(t)}createReadStream(t,i){let n=t!==null?K.fromPortablePath(t):t;return this.realFs.createReadStream(n,i)}createWriteStream(t,i){let n=t!==null?K.fromPortablePath(t):t;return this.realFs.createWriteStream(n,i)}async realpathPromise(t){return await new Promise((i,n)=>{this.realFs.realpath(K.fromPortablePath(t),{},this.makeCallback(i,n))}).then(i=>K.toPortablePath(i))}realpathSync(t){return K.toPortablePath(this.realFs.realpathSync(K.fromPortablePath(t),{}))}async existsPromise(t){return await new Promise(i=>{this.realFs.exists(K.fromPortablePath(t),i)})}accessSync(t,i){return this.realFs.accessSync(K.fromPortablePath(t),i)}async accessPromise(t,i){return await new Promise((n,s)=>{this.realFs.access(K.fromPortablePath(t),i,this.makeCallback(n,s))})}existsSync(t){return this.realFs.existsSync(K.fromPortablePath(t))}async statPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.stat(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.stat(K.fromPortablePath(t),this.makeCallback(n,s))})}statSync(t,i){return i?this.realFs.statSync(K.fromPortablePath(t),i):this.realFs.statSync(K.fromPortablePath(t))}async fstatPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.fstat(t,i,this.makeCallback(n,s)):this.realFs.fstat(t,this.makeCallback(n,s))})}fstatSync(t,i){return i?this.realFs.fstatSync(t,i):this.realFs.fstatSync(t)}async lstatPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.lstat(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.lstat(K.fromPortablePath(t),this.makeCallback(n,s))})}lstatSync(t,i){return i?this.realFs.lstatSync(K.fromPortablePath(t),i):this.realFs.lstatSync(K.fromPortablePath(t))}async fchmodPromise(t,i){return await new Promise((n,s)=>{this.realFs.fchmod(t,i,this.makeCallback(n,s))})}fchmodSync(t,i){return this.realFs.fchmodSync(t,i)}async chmodPromise(t,i){return await new Promise((n,s)=>{this.realFs.chmod(K.fromPortablePath(t),i,this.makeCallback(n,s))})}chmodSync(t,i){return this.realFs.chmodSync(K.fromPortablePath(t),i)}async fchownPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.fchown(t,i,n,this.makeCallback(s,o))})}fchownSync(t,i,n){return this.realFs.fchownSync(t,i,n)}async chownPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.chown(K.fromPortablePath(t),i,n,this.makeCallback(s,o))})}chownSync(t,i,n){return this.realFs.chownSync(K.fromPortablePath(t),i,n)}async renamePromise(t,i){return await new Promise((n,s)=>{this.realFs.rename(K.fromPortablePath(t),K.fromPortablePath(i),this.makeCallback(n,s))})}renameSync(t,i){return this.realFs.renameSync(K.fromPortablePath(t),K.fromPortablePath(i))}async copyFilePromise(t,i,n=0){return await new Promise((s,o)=>{this.realFs.copyFile(K.fromPortablePath(t),K.fromPortablePath(i),n,this.makeCallback(s,o))})}copyFileSync(t,i,n=0){return this.realFs.copyFileSync(K.fromPortablePath(t),K.fromPortablePath(i),n)}async appendFilePromise(t,i,n){return await new Promise((s,o)=>{let a=typeof t==\"string\"?K.fromPortablePath(t):t;n?this.realFs.appendFile(a,i,n,this.makeCallback(s,o)):this.realFs.appendFile(a,i,this.makeCallback(s,o))})}appendFileSync(t,i,n){let s=typeof t==\"string\"?K.fromPortablePath(t):t;n?this.realFs.appendFileSync(s,i,n):this.realFs.appendFileSync(s,i)}async writeFilePromise(t,i,n){return await new Promise((s,o)=>{let a=typeof t==\"string\"?K.fromPortablePath(t):t;n?this.realFs.writeFile(a,i,n,this.makeCallback(s,o)):this.realFs.writeFile(a,i,this.makeCallback(s,o))})}writeFileSync(t,i,n){let s=typeof t==\"string\"?K.fromPortablePath(t):t;n?this.realFs.writeFileSync(s,i,n):this.realFs.writeFileSync(s,i)}async unlinkPromise(t){return await new Promise((i,n)=>{this.realFs.unlink(K.fromPortablePath(t),this.makeCallback(i,n))})}unlinkSync(t){return this.realFs.unlinkSync(K.fromPortablePath(t))}async utimesPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.utimes(K.fromPortablePath(t),i,n,this.makeCallback(s,o))})}utimesSync(t,i,n){this.realFs.utimesSync(K.fromPortablePath(t),i,n)}async lutimesPromiseImpl(t,i,n){let s=this.realFs.lutimes;if(typeof s>\"u\")throw xp(\"unavailable Node binding\",`lutimes '${t}'`);return await new Promise((o,a)=>{s.call(this.realFs,K.fromPortablePath(t),i,n,this.makeCallback(o,a))})}lutimesSyncImpl(t,i,n){let s=this.realFs.lutimesSync;if(typeof s>\"u\")throw xp(\"unavailable Node binding\",`lutimes '${t}'`);s.call(this.realFs,K.fromPortablePath(t),i,n)}async mkdirPromise(t,i){return await new Promise((n,s)=>{this.realFs.mkdir(K.fromPortablePath(t),i,this.makeCallback(n,s))})}mkdirSync(t,i){return this.realFs.mkdirSync(K.fromPortablePath(t),i)}async rmdirPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.rmdir(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.rmdir(K.fromPortablePath(t),this.makeCallback(n,s))})}rmdirSync(t,i){return this.realFs.rmdirSync(K.fromPortablePath(t),i)}async linkPromise(t,i){return await new Promise((n,s)=>{this.realFs.link(K.fromPortablePath(t),K.fromPortablePath(i),this.makeCallback(n,s))})}linkSync(t,i){return this.realFs.linkSync(K.fromPortablePath(t),K.fromPortablePath(i))}async symlinkPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.symlink(K.fromPortablePath(t.replace(/\\/+$/,\"\")),K.fromPortablePath(i),n,this.makeCallback(s,o))})}symlinkSync(t,i,n){return this.realFs.symlinkSync(K.fromPortablePath(t.replace(/\\/+$/,\"\")),K.fromPortablePath(i),n)}async readFilePromise(t,i){return await new Promise((n,s)=>{let o=typeof t==\"string\"?K.fromPortablePath(t):t;this.realFs.readFile(o,i,this.makeCallback(n,s))})}readFileSync(t,i){let n=typeof t==\"string\"?K.fromPortablePath(t):t;return this.realFs.readFileSync(n,i)}async readdirPromise(t,i){return await new Promise((n,s)=>{i!=null&&i.withFileTypes?this.realFs.readdir(K.fromPortablePath(t),{withFileTypes:!0},this.makeCallback(n,s)):this.realFs.readdir(K.fromPortablePath(t),this.makeCallback(o=>n(o),s))})}readdirSync(t,i){return i!=null&&i.withFileTypes?this.realFs.readdirSync(K.fromPortablePath(t),{withFileTypes:!0}):this.realFs.readdirSync(K.fromPortablePath(t))}async readlinkPromise(t){return await new Promise((i,n)=>{this.realFs.readlink(K.fromPortablePath(t),this.makeCallback(i,n))}).then(i=>K.toPortablePath(i))}readlinkSync(t){return K.toPortablePath(this.realFs.readlinkSync(K.fromPortablePath(t)))}async truncatePromise(t,i){return await new Promise((n,s)=>{this.realFs.truncate(K.fromPortablePath(t),i,this.makeCallback(n,s))})}truncateSync(t,i){return this.realFs.truncateSync(K.fromPortablePath(t),i)}async ftruncatePromise(t,i){return await new Promise((n,s)=>{this.realFs.ftruncate(t,i,this.makeCallback(n,s))})}ftruncateSync(t,i){return this.realFs.ftruncateSync(t,i)}watch(t,i,n){return this.realFs.watch(K.fromPortablePath(t),i,n)}watchFile(t,i,n){return this.realFs.watchFile(K.fromPortablePath(t),i,n)}unwatchFile(t,i){return this.realFs.unwatchFile(K.fromPortablePath(t),i)}makeCallback(t,i){return(n,s)=>{n?i(n):t(s)}}};var O1=J(\"events\");function T1(r,e){if(r!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${r}'`)}var hg=class extends O1.EventEmitter{constructor(t,i,{bigint:n=!1}={}){super();this.status=\"ready\";this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=t,this.path=i,this.bigint=n,this.lastStats=this.stat()}static create(t,i,n){let s=new hg(t,i,n);return s.start(),s}start(){T1(this.status,\"ready\"),this.status=\"running\",this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit(\"change\",this.lastStats,this.lastStats)},3)}stop(){T1(this.status,\"running\"),this.status=\"stopped\",this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit(\"stop\")}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch{let i=this.bigint?new fg:new fa;return LE(i)}}makeInterval(t){let i=setInterval(()=>{let n=this.stat(),s=this.lastStats;Xb(n,s)||(this.lastStats=n,this.emit(\"change\",n,s))},t.interval);return t.persistent?i:i.unref()}registerChangeListener(t,i){this.addListener(\"change\",t),this.changeListeners.set(t,this.makeInterval(i))}unregisterChangeListener(t){this.removeListener(\"change\",t);let i=this.changeListeners.get(t);typeof i<\"u\"&&clearInterval(i),this.changeListeners.delete(t)}unregisterAllChangeListeners(){for(let t of this.changeListeners.keys())this.unregisterChangeListener(t)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let t of this.changeListeners.values())t.ref();return this}unref(){for(let t of this.changeListeners.values())t.unref();return this}};var jE=new WeakMap;function qE(r,e,t,i){let n,s,o,a;switch(typeof t){case\"function\":n=!1,s=!0,o=5007,a=t;break;default:({bigint:n=!1,persistent:s=!0,interval:o=5007}=t),a=i;break}let l=jE.get(r);typeof l>\"u\"&&jE.set(r,l=new Map);let c=l.get(e);return typeof c>\"u\"&&(c=hg.create(r,e,{bigint:n}),l.set(e,c)),c.registerChangeListener(a,{persistent:s,interval:o}),c}function Dp(r,e,t){let i=jE.get(r);if(typeof i>\"u\")return;let n=i.get(e);typeof n>\"u\"||(typeof t>\"u\"?n.unregisterAllChangeListeners():n.unregisterChangeListener(t),n.hasChangeListeners()||(n.stop(),i.delete(e)))}function kp(r){let e=jE.get(r);if(!(typeof e>\"u\"))for(let t of e.keys())Dp(r,t)}var Ol=\"mixed\";function rge(r){if(typeof r==\"string\"&&String(+r)===r)return+r;if(Number.isFinite(r))return r<0?Date.now()/1e3:r;if(M1.types.isDate(r))return r.getTime()/1e3;throw new Error(\"Invalid time\")}function nS(){return Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}var Wr=class extends EA{constructor(t,i){super();this.lzSource=null;this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;this.libzip=i.libzip;let n=i;if(this.level=typeof n.level<\"u\"?n.level:Ol,t!=null||(t=nS()),typeof t==\"string\"){let{baseFs:a=new $t}=n;this.baseFs=a,this.path=t}else this.path=null,this.baseFs=null;if(i.stats)this.stats=i.stats;else if(typeof t==\"string\")try{this.stats=this.baseFs.statSync(t)}catch(a){if(a.code===\"ENOENT\"&&n.create)this.stats=bp();else throw a}else this.stats=bp();let s=this.libzip.malloc(4);try{let a=0;if(typeof t==\"string\"&&n.create&&(a|=this.libzip.ZIP_CREATE|this.libzip.ZIP_TRUNCATE),i.readOnly&&(a|=this.libzip.ZIP_RDONLY,this.readOnly=!0),typeof t==\"string\")this.zip=this.libzip.open(K.fromPortablePath(t),a,s);else{let l=this.allocateUnattachedSource(t);try{this.zip=this.libzip.openFromSource(l,a,s),this.lzSource=l}catch(c){throw this.libzip.source.free(l),c}}if(this.zip===0){let l=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(l,this.libzip.getValue(s,\"i32\")),this.makeLibzipError(l)}}finally{this.libzip.free(s)}this.listings.set(Oe.root,new Set);let o=this.libzip.getNumEntries(this.zip,0);for(let a=0;a<o;++a){let l=this.libzip.getName(this.zip,a,0);if(x.isAbsolute(l))continue;let c=x.resolve(Oe.root,l);this.registerEntry(c,a),l.endsWith(\"/\")&&this.registerListing(c)}if(this.symlinkCount=this.libzip.ext.countSymlinks(this.zip),this.symlinkCount===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.ready=!0}makeLibzipError(t){let i=this.libzip.struct.errorCodeZip(t),n=this.libzip.error.strerror(t),s=new UE(n,this.libzip.errors[i]);if(i===this.libzip.errors.ZIP_ER_CHANGED)throw new Error(`Assertion failed: Unexpected libzip error: ${s.message}`);return s}getExtractHint(t){for(let i of this.entries.keys()){let n=this.pathUtils.extname(i);if(t.relevantExtensions.has(n))return!0}return!1}getAllFiles(){return Array.from(this.entries.keys())}getRealPath(){if(!this.path)throw new Error(\"ZipFS don't have real paths when loaded from a buffer\");return this.path}getBufferAndClose(){if(this.prepareClose(),!this.lzSource)throw new Error(\"ZipFS was not created from a Buffer\");if(this.entries.size===0)return this.discardAndClose(),nS();try{if(this.libzip.source.keep(this.lzSource),this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.libzip.source.open(this.lzSource)===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));if(this.libzip.source.seek(this.lzSource,0,0,this.libzip.SEEK_END)===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));let t=this.libzip.source.tell(this.lzSource);if(t===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));if(this.libzip.source.seek(this.lzSource,0,0,this.libzip.SEEK_SET)===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));let i=this.libzip.malloc(t);if(!i)throw new Error(\"Couldn't allocate enough memory\");try{let n=this.libzip.source.read(this.lzSource,i,t);if(n===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));if(n<t)throw new Error(\"Incomplete read\");if(n>t)throw new Error(\"Overread\");let s=this.libzip.HEAPU8.subarray(i,i+t);return Buffer.from(s)}finally{this.libzip.free(i)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}prepareClose(){if(!this.ready)throw HE(\"archive closed, close\");kp(this)}saveAndClose(){if(!this.path||!this.baseFs)throw new Error(\"ZipFS cannot be saved and must be discarded when loaded from a buffer\");if(this.prepareClose(),this.readOnly){this.discardAndClose();return}let t=this.baseFs.existsSync(this.path)||this.stats.mode===Qp?void 0:this.stats.mode;if(this.entries.size===0)this.discardAndClose(),this.baseFs.writeFileSync(this.path,nS(),{mode:t});else{if(this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));typeof t<\"u\"&&this.baseFs.chmodSync(this.path,t)}this.ready=!1}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}resolve(t){return x.resolve(Oe.root,t)}async openPromise(t,i,n){return this.openSync(t,i,n)}openSync(t,i,n){let s=this.nextFd++;return this.fds.set(s,{cursor:0,p:t}),s}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(t,i){return this.opendirSync(t,i)}opendirSync(t,i={}){let n=this.resolveFilename(`opendir '${t}'`,t);if(!this.entries.has(n)&&!this.listings.has(n))throw Gs(`opendir '${t}'`);let s=this.listings.get(n);if(!s)throw Io(`opendir '${t}'`);let o=[...s],a=this.openSync(n,\"r\");return YE(this,n,o,{onClose:()=>{this.closeSync(a)}})}async readPromise(t,i,n,s,o){return this.readSync(t,i,n,s,o)}readSync(t,i,n=0,s=i.byteLength,o=-1){let a=this.fds.get(t);if(typeof a>\"u\")throw Hr(\"read\");let l=o===-1||o===null?a.cursor:o,c=this.readFileSync(a.p);c.copy(i,n,l,l+s);let u=Math.max(0,Math.min(c.length-l,s));return(o===-1||o===null)&&(a.cursor+=u),u}async writePromise(t,i,n,s,o){return typeof i==\"string\"?this.writeSync(t,i,o):this.writeSync(t,i,n,s,o)}writeSync(t,i,n,s,o){throw typeof this.fds.get(t)>\"u\"?Hr(\"read\"):new Error(\"Unimplemented\")}async closePromise(t){return this.closeSync(t)}closeSync(t){if(typeof this.fds.get(t)>\"u\")throw Hr(\"read\");this.fds.delete(t)}createReadStream(t,{encoding:i}={}){if(t===null)throw new Error(\"Unimplemented\");let n=this.openSync(t,\"r\"),s=Object.assign(new sS.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(a,l)=>{clearImmediate(o),this.closeSync(n),l(a)}}),{close(){s.destroy()},bytesRead:0,path:t}),o=setImmediate(async()=>{try{let a=await this.readFilePromise(t,i);s.bytesRead=a.length,s.end(a)}catch(a){s.destroy(a)}});return s}createWriteStream(t,{encoding:i}={}){if(this.readOnly)throw ln(`open '${t}'`);if(t===null)throw new Error(\"Unimplemented\");let n=[],s=this.openSync(t,\"w\"),o=Object.assign(new sS.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(a,l)=>{try{a?l(a):(this.writeFileSync(t,Buffer.concat(n),i),l(null))}catch(c){l(c)}finally{this.closeSync(s)}}}),{bytesWritten:0,path:t,close(){o.destroy()}});return o.on(\"data\",a=>{let l=Buffer.from(a);o.bytesWritten+=l.length,n.push(l)}),o}async realpathPromise(t){return this.realpathSync(t)}realpathSync(t){let i=this.resolveFilename(`lstat '${t}'`,t);if(!this.entries.has(i)&&!this.listings.has(i))throw Gs(`lstat '${t}'`);return i}async existsPromise(t){return this.existsSync(t)}existsSync(t){if(!this.ready)throw HE(`archive closed, existsSync '${t}'`);if(this.symlinkCount===0){let n=x.resolve(Oe.root,t);return this.entries.has(n)||this.listings.has(n)}let i;try{i=this.resolveFilename(`stat '${t}'`,t,void 0,!1)}catch{return!1}return i===void 0?!1:this.entries.has(i)||this.listings.has(i)}async accessPromise(t,i){return this.accessSync(t,i)}accessSync(t,i=pg.constants.F_OK){let n=this.resolveFilename(`access '${t}'`,t);if(!this.entries.has(n)&&!this.listings.has(n))throw Gs(`access '${t}'`);if(this.readOnly&&i&pg.constants.W_OK)throw ln(`access '${t}'`)}async statPromise(t,i={bigint:!1}){return i.bigint?this.statSync(t,{bigint:!0}):this.statSync(t)}statSync(t,i={bigint:!1,throwIfNoEntry:!0}){let n=this.resolveFilename(`stat '${t}'`,t,void 0,i.throwIfNoEntry);if(n!==void 0){if(!this.entries.has(n)&&!this.listings.has(n)){if(i.throwIfNoEntry===!1)return;throw Gs(`stat '${t}'`)}if(t[t.length-1]===\"/\"&&!this.listings.has(n))throw Io(`stat '${t}'`);return this.statImpl(`stat '${t}'`,n,i)}}async fstatPromise(t,i){return this.fstatSync(t,i)}fstatSync(t,i){let n=this.fds.get(t);if(typeof n>\"u\")throw Hr(\"fstatSync\");let{p:s}=n,o=this.resolveFilename(`stat '${s}'`,s);if(!this.entries.has(o)&&!this.listings.has(o))throw Gs(`stat '${s}'`);if(s[s.length-1]===\"/\"&&!this.listings.has(o))throw Io(`stat '${s}'`);return this.statImpl(`fstat '${s}'`,o,i)}async lstatPromise(t,i={bigint:!1}){return i.bigint?this.lstatSync(t,{bigint:!0}):this.lstatSync(t)}lstatSync(t,i={bigint:!1,throwIfNoEntry:!0}){let n=this.resolveFilename(`lstat '${t}'`,t,!1,i.throwIfNoEntry);if(n!==void 0){if(!this.entries.has(n)&&!this.listings.has(n)){if(i.throwIfNoEntry===!1)return;throw Gs(`lstat '${t}'`)}if(t[t.length-1]===\"/\"&&!this.listings.has(n))throw Io(`lstat '${t}'`);return this.statImpl(`lstat '${t}'`,n,i)}}statImpl(t,i,n={}){let s=this.entries.get(i);if(typeof s<\"u\"){let o=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,s,0,0,o)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let l=this.stats.uid,c=this.stats.gid,u=this.libzip.struct.statSize(o)>>>0,g=512,f=Math.ceil(u/g),h=(this.libzip.struct.statMtime(o)>>>0)*1e3,p=h,C=h,y=h,B=new Date(p),v=new Date(C),D=new Date(y),L=new Date(h),H=this.listings.has(i)?16384:this.isSymbolicLink(s)?40960:32768,j=H===16384?493:420,$=H|this.getUnixMode(s,j)&511,V=this.libzip.struct.statCrc(o),W=Object.assign(new fa,{uid:l,gid:c,size:u,blksize:g,blocks:f,atime:B,birthtime:v,ctime:D,mtime:L,atimeMs:p,birthtimeMs:C,ctimeMs:y,mtimeMs:h,mode:$,crc:V});return n.bigint===!0?TE(W):W}if(this.listings.has(i)){let o=this.stats.uid,a=this.stats.gid,l=0,c=512,u=0,g=this.stats.mtimeMs,f=this.stats.mtimeMs,h=this.stats.mtimeMs,p=this.stats.mtimeMs,C=new Date(g),y=new Date(f),B=new Date(h),v=new Date(p),D=16877,L=0,H=Object.assign(new fa,{uid:o,gid:a,size:l,blksize:c,blocks:u,atime:C,birthtime:y,ctime:B,mtime:v,atimeMs:g,birthtimeMs:f,ctimeMs:h,mtimeMs:p,mode:D,crc:L});return n.bigint===!0?TE(H):H}throw new Error(\"Unreachable\")}getUnixMode(t,i){if(this.libzip.file.getExternalAttributes(this.zip,t,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,\"i8\")>>>0!==this.libzip.ZIP_OPSYS_UNIX?i:this.libzip.getValue(this.libzip.uint32S,\"i32\")>>>16}registerListing(t){let i=this.listings.get(t);if(i)return i;this.registerListing(x.dirname(t)).add(x.basename(t));let s=new Set;return this.listings.set(t,s),s}registerEntry(t,i){this.registerListing(x.dirname(t)).add(x.basename(t)),this.entries.set(t,i)}unregisterListing(t){this.listings.delete(t);let i=this.listings.get(x.dirname(t));i==null||i.delete(x.basename(t))}unregisterEntry(t){this.unregisterListing(t);let i=this.entries.get(t);this.entries.delete(t),!(typeof i>\"u\")&&(this.fileSources.delete(i),this.isSymbolicLink(i)&&this.symlinkCount--)}deleteEntry(t,i){if(this.unregisterEntry(t),this.libzip.delete(this.zip,i)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(t,i,n=!0,s=!0){if(!this.ready)throw HE(`archive closed, ${t}`);let o=x.resolve(Oe.root,i);if(o===\"/\")return Oe.root;let a=this.entries.get(o);if(n&&a!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(a)){let l=this.getFileSource(a).toString();return this.resolveFilename(t,x.resolve(x.dirname(o),l),!0,s)}else return o;for(;;){let l=this.resolveFilename(t,x.dirname(o),!0,s);if(l===void 0)return l;let c=this.listings.has(l),u=this.entries.has(l);if(!c&&!u){if(s===!1)return;throw Gs(t)}if(!c)throw Io(t);if(o=x.resolve(l,x.basename(o)),!n||this.symlinkCount===0)break;let g=this.libzip.name.locate(this.zip,o.slice(1));if(g===-1)break;if(this.isSymbolicLink(g)){let f=this.getFileSource(g).toString();o=x.resolve(x.dirname(o),f)}else break}return o}allocateBuffer(t){Buffer.isBuffer(t)||(t=Buffer.from(t));let i=this.libzip.malloc(t.byteLength);if(!i)throw new Error(\"Couldn't allocate enough memory\");return new Uint8Array(this.libzip.HEAPU8.buffer,i,t.byteLength).set(t),{buffer:i,byteLength:t.byteLength}}allocateUnattachedSource(t){let i=this.libzip.struct.errorS(),{buffer:n,byteLength:s}=this.allocateBuffer(t),o=this.libzip.source.fromUnattachedBuffer(n,s,0,!0,i);if(o===0)throw this.libzip.free(i),this.makeLibzipError(i);return o}allocateSource(t){let{buffer:i,byteLength:n}=this.allocateBuffer(t),s=this.libzip.source.fromBuffer(this.zip,i,n,0,!0);if(s===0)throw this.libzip.free(i),this.makeLibzipError(this.libzip.getError(this.zip));return s}setFileSource(t,i){let n=Buffer.isBuffer(i)?i:Buffer.from(i),s=x.relative(Oe.root,t),o=this.allocateSource(i);try{let a=this.libzip.file.add(this.zip,s,o,this.libzip.ZIP_FL_OVERWRITE);if(a===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.level!==\"mixed\"){let l=this.level===0?this.libzip.ZIP_CM_STORE:this.libzip.ZIP_CM_DEFLATE;if(this.libzip.file.setCompression(this.zip,a,0,l,this.level)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(a,n),a}catch(a){throw this.libzip.source.free(o),a}}isSymbolicLink(t){if(this.symlinkCount===0)return!1;if(this.libzip.file.getExternalAttributes(this.zip,t,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,\"i8\")>>>0!==this.libzip.ZIP_OPSYS_UNIX?!1:(this.libzip.getValue(this.libzip.uint32S,\"i32\")>>>16&61440)===40960}getFileSource(t,i={asyncDecompress:!1}){let n=this.fileSources.get(t);if(typeof n<\"u\")return n;let s=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,t,0,0,s)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let a=this.libzip.struct.statCompSize(s),l=this.libzip.struct.statCompMethod(s),c=this.libzip.malloc(a);try{let u=this.libzip.fopenIndex(this.zip,t,0,this.libzip.ZIP_FL_COMPRESSED);if(u===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let g=this.libzip.fread(u,c,a,0);if(g===-1)throw this.makeLibzipError(this.libzip.file.getError(u));if(g<a)throw new Error(\"Incomplete read\");if(g>a)throw new Error(\"Overread\");let f=this.libzip.HEAPU8.subarray(c,c+a),h=Buffer.from(f);if(l===0)return this.fileSources.set(t,h),h;if(i.asyncDecompress)return new Promise((p,C)=>{oS.default.inflateRaw(h,(y,B)=>{y?C(y):(this.fileSources.set(t,B),p(B))})});{let p=oS.default.inflateRawSync(h);return this.fileSources.set(t,p),p}}finally{this.libzip.fclose(u)}}finally{this.libzip.free(c)}}async fchmodPromise(t,i){return this.chmodPromise(this.fdToPath(t,\"fchmod\"),i)}fchmodSync(t,i){return this.chmodSync(this.fdToPath(t,\"fchmodSync\"),i)}async chmodPromise(t,i){return this.chmodSync(t,i)}chmodSync(t,i){if(this.readOnly)throw ln(`chmod '${t}'`);i&=493;let n=this.resolveFilename(`chmod '${t}'`,t,!1),s=this.entries.get(n);if(typeof s>\"u\")throw new Error(`Assertion failed: The entry should have been registered (${n})`);let a=this.getUnixMode(s,32768)&-512|i;if(this.libzip.file.setExternalAttributes(this.zip,s,0,0,this.libzip.ZIP_OPSYS_UNIX,a<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async fchownPromise(t,i,n){return this.chownPromise(this.fdToPath(t,\"fchown\"),i,n)}fchownSync(t,i,n){return this.chownSync(this.fdToPath(t,\"fchownSync\"),i,n)}async chownPromise(t,i,n){return this.chownSync(t,i,n)}chownSync(t,i,n){throw new Error(\"Unimplemented\")}async renamePromise(t,i){return this.renameSync(t,i)}renameSync(t,i){throw new Error(\"Unimplemented\")}async copyFilePromise(t,i,n){let{indexSource:s,indexDest:o,resolvedDestP:a}=this.prepareCopyFile(t,i,n),l=await this.getFileSource(s,{asyncDecompress:!0}),c=this.setFileSource(a,l);c!==o&&this.registerEntry(a,c)}copyFileSync(t,i,n=0){let{indexSource:s,indexDest:o,resolvedDestP:a}=this.prepareCopyFile(t,i,n),l=this.getFileSource(s),c=this.setFileSource(a,l);c!==o&&this.registerEntry(a,c)}prepareCopyFile(t,i,n=0){if(this.readOnly)throw ln(`copyfile '${t} -> '${i}'`);if((n&pg.constants.COPYFILE_FICLONE_FORCE)!==0)throw xp(\"unsupported clone operation\",`copyfile '${t}' -> ${i}'`);let s=this.resolveFilename(`copyfile '${t} -> ${i}'`,t),o=this.entries.get(s);if(typeof o>\"u\")throw mA(`copyfile '${t}' -> '${i}'`);let a=this.resolveFilename(`copyfile '${t}' -> ${i}'`,i),l=this.entries.get(a);if((n&(pg.constants.COPYFILE_EXCL|pg.constants.COPYFILE_FICLONE_FORCE))!==0&&typeof l<\"u\")throw GE(`copyfile '${t}' -> '${i}'`);return{indexSource:o,resolvedDestP:a,indexDest:l}}async appendFilePromise(t,i,n){if(this.readOnly)throw ln(`open '${t}'`);return typeof n>\"u\"?n={flag:\"a\"}:typeof n==\"string\"?n={flag:\"a\",encoding:n}:typeof n.flag>\"u\"&&(n={flag:\"a\",...n}),this.writeFilePromise(t,i,n)}appendFileSync(t,i,n={}){if(this.readOnly)throw ln(`open '${t}'`);return typeof n>\"u\"?n={flag:\"a\"}:typeof n==\"string\"?n={flag:\"a\",encoding:n}:typeof n.flag>\"u\"&&(n={flag:\"a\",...n}),this.writeFileSync(t,i,n)}fdToPath(t,i){var s;let n=(s=this.fds.get(t))==null?void 0:s.p;if(typeof n>\"u\")throw Hr(i);return n}async writeFilePromise(t,i,n){let{encoding:s,mode:o,index:a,resolvedP:l}=this.prepareWriteFile(t,n);a!==void 0&&typeof n==\"object\"&&n.flag&&n.flag.includes(\"a\")&&(i=Buffer.concat([await this.getFileSource(a,{asyncDecompress:!0}),Buffer.from(i)])),s!==null&&(i=i.toString(s));let c=this.setFileSource(l,i);c!==a&&this.registerEntry(l,c),o!==null&&await this.chmodPromise(l,o)}writeFileSync(t,i,n){let{encoding:s,mode:o,index:a,resolvedP:l}=this.prepareWriteFile(t,n);a!==void 0&&typeof n==\"object\"&&n.flag&&n.flag.includes(\"a\")&&(i=Buffer.concat([this.getFileSource(a),Buffer.from(i)])),s!==null&&(i=i.toString(s));let c=this.setFileSource(l,i);c!==a&&this.registerEntry(l,c),o!==null&&this.chmodSync(l,o)}prepareWriteFile(t,i){if(typeof t==\"number\"&&(t=this.fdToPath(t,\"read\")),this.readOnly)throw ln(`open '${t}'`);let n=this.resolveFilename(`open '${t}'`,t);if(this.listings.has(n))throw Pp(`open '${t}'`);let s=null,o=null;typeof i==\"string\"?s=i:typeof i==\"object\"&&({encoding:s=null,mode:o=null}=i);let a=this.entries.get(n);return{encoding:s,mode:o,resolvedP:n,index:a}}async unlinkPromise(t){return this.unlinkSync(t)}unlinkSync(t){if(this.readOnly)throw ln(`unlink '${t}'`);let i=this.resolveFilename(`unlink '${t}'`,t);if(this.listings.has(i))throw Pp(`unlink '${t}'`);let n=this.entries.get(i);if(typeof n>\"u\")throw mA(`unlink '${t}'`);this.deleteEntry(i,n)}async utimesPromise(t,i,n){return this.utimesSync(t,i,n)}utimesSync(t,i,n){if(this.readOnly)throw ln(`utimes '${t}'`);let s=this.resolveFilename(`utimes '${t}'`,t);this.utimesImpl(s,n)}async lutimesPromise(t,i,n){return this.lutimesSync(t,i,n)}lutimesSync(t,i,n){if(this.readOnly)throw ln(`lutimes '${t}'`);let s=this.resolveFilename(`utimes '${t}'`,t,!1);this.utimesImpl(s,n)}utimesImpl(t,i){this.listings.has(t)&&(this.entries.has(t)||this.hydrateDirectory(t));let n=this.entries.get(t);if(n===void 0)throw new Error(\"Unreachable\");if(this.libzip.file.setMtime(this.zip,n,0,rge(i),0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(t,i){return this.mkdirSync(t,i)}mkdirSync(t,{mode:i=493,recursive:n=!1}={}){if(n)return this.mkdirpSync(t,{chmod:i});if(this.readOnly)throw ln(`mkdir '${t}'`);let s=this.resolveFilename(`mkdir '${t}'`,t);if(this.entries.has(s)||this.listings.has(s))throw GE(`mkdir '${t}'`);this.hydrateDirectory(s),this.chmodSync(s,i)}async rmdirPromise(t,i){return this.rmdirSync(t,i)}rmdirSync(t,{recursive:i=!1}={}){if(this.readOnly)throw ln(`rmdir '${t}'`);if(i){this.removeSync(t);return}let n=this.resolveFilename(`rmdir '${t}'`,t),s=this.listings.get(n);if(!s)throw Io(`rmdir '${t}'`);if(s.size>0)throw k1(`rmdir '${t}'`);let o=this.entries.get(n);if(typeof o>\"u\")throw mA(`rmdir '${t}'`);this.deleteEntry(t,o)}hydrateDirectory(t){let i=this.libzip.dir.add(this.zip,x.relative(Oe.root,t));if(i===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(t),this.registerEntry(t,i),i}async linkPromise(t,i){return this.linkSync(t,i)}linkSync(t,i){throw R1(`link '${t}' -> '${i}'`)}async symlinkPromise(t,i){return this.symlinkSync(t,i)}symlinkSync(t,i){if(this.readOnly)throw ln(`symlink '${t}' -> '${i}'`);let n=this.resolveFilename(`symlink '${t}' -> '${i}'`,i);if(this.listings.has(n))throw Pp(`symlink '${t}' -> '${i}'`);if(this.entries.has(n))throw GE(`symlink '${t}' -> '${i}'`);let s=this.setFileSource(n,t);if(this.registerEntry(n,s),this.libzip.file.setExternalAttributes(this.zip,s,0,0,this.libzip.ZIP_OPSYS_UNIX,41471<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(t,i){typeof i==\"object\"&&(i=i?i.encoding:void 0);let n=await this.readFileBuffer(t,{asyncDecompress:!0});return i?n.toString(i):n}readFileSync(t,i){typeof i==\"object\"&&(i=i?i.encoding:void 0);let n=this.readFileBuffer(t);return i?n.toString(i):n}readFileBuffer(t,i={asyncDecompress:!1}){typeof t==\"number\"&&(t=this.fdToPath(t,\"read\"));let n=this.resolveFilename(`open '${t}'`,t);if(!this.entries.has(n)&&!this.listings.has(n))throw Gs(`open '${t}'`);if(t[t.length-1]===\"/\"&&!this.listings.has(n))throw Io(`open '${t}'`);if(this.listings.has(n))throw Pp(\"read\");let s=this.entries.get(n);if(s===void 0)throw new Error(\"Unreachable\");return this.getFileSource(s,i)}async readdirPromise(t,i){return this.readdirSync(t,i)}readdirSync(t,i){let n=this.resolveFilename(`scandir '${t}'`,t);if(!this.entries.has(n)&&!this.listings.has(n))throw Gs(`scandir '${t}'`);let s=this.listings.get(n);if(!s)throw Io(`scandir '${t}'`);let o=[...s];return i!=null&&i.withFileTypes?o.map(a=>Object.assign(this.statImpl(\"lstat\",x.join(t,a)),{name:a})):o}async readlinkPromise(t){let i=this.prepareReadlink(t);return(await this.getFileSource(i,{asyncDecompress:!0})).toString()}readlinkSync(t){let i=this.prepareReadlink(t);return this.getFileSource(i).toString()}prepareReadlink(t){let i=this.resolveFilename(`readlink '${t}'`,t,!1);if(!this.entries.has(i)&&!this.listings.has(i))throw Gs(`readlink '${t}'`);if(t[t.length-1]===\"/\"&&!this.listings.has(i))throw Io(`open '${t}'`);if(this.listings.has(i))throw mA(`readlink '${t}'`);let n=this.entries.get(i);if(n===void 0)throw new Error(\"Unreachable\");if(!this.isSymbolicLink(n))throw mA(`readlink '${t}'`);return n}async truncatePromise(t,i=0){let n=this.resolveFilename(`open '${t}'`,t),s=this.entries.get(n);if(typeof s>\"u\")throw mA(`open '${t}'`);let o=await this.getFileSource(s,{asyncDecompress:!0}),a=Buffer.alloc(i,0);return o.copy(a),await this.writeFilePromise(t,a)}truncateSync(t,i=0){let n=this.resolveFilename(`open '${t}'`,t),s=this.entries.get(n);if(typeof s>\"u\")throw mA(`open '${t}'`);let o=this.getFileSource(s),a=Buffer.alloc(i,0);return o.copy(a),this.writeFileSync(t,a)}async ftruncatePromise(t,i){return this.truncatePromise(this.fdToPath(t,\"ftruncate\"),i)}ftruncateSync(t,i){return this.truncateSync(this.fdToPath(t,\"ftruncateSync\"),i)}watch(t,i,n){let s;switch(typeof i){case\"function\":case\"string\":case\"undefined\":s=!0;break;default:({persistent:s=!0}=i);break}if(!s)return{on:()=>{},close:()=>{}};let o=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(o)}}}watchFile(t,i,n){let s=x.resolve(Oe.root,t);return qE(this,s,i,n)}unwatchFile(t,i){let n=x.resolve(Oe.root,t);return Dp(this,n,i)}};var pi=class extends ha{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,t,i){return this.baseFs.openPromise(this.mapToBase(e),t,i)}openSync(e,t,i){return this.baseFs.openSync(this.mapToBase(e),t,i)}async opendirPromise(e,t){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),t),{path:e})}opendirSync(e,t){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),t),{path:e})}async readPromise(e,t,i,n,s){return await this.baseFs.readPromise(e,t,i,n,s)}readSync(e,t,i,n,s){return this.baseFs.readSync(e,t,i,n,s)}async writePromise(e,t,i,n,s){return typeof t==\"string\"?await this.baseFs.writePromise(e,t,i):await this.baseFs.writePromise(e,t,i,n,s)}writeSync(e,t,i,n,s){return typeof t==\"string\"?this.baseFs.writeSync(e,t,i):this.baseFs.writeSync(e,t,i,n,s)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,t){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,t)}createWriteStream(e,t){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,t)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,t){return this.baseFs.accessSync(this.mapToBase(e),t)}async accessPromise(e,t){return this.baseFs.accessPromise(this.mapToBase(e),t)}async statPromise(e,t){return this.baseFs.statPromise(this.mapToBase(e),t)}statSync(e,t){return this.baseFs.statSync(this.mapToBase(e),t)}async fstatPromise(e,t){return this.baseFs.fstatPromise(e,t)}fstatSync(e,t){return this.baseFs.fstatSync(e,t)}lstatPromise(e,t){return this.baseFs.lstatPromise(this.mapToBase(e),t)}lstatSync(e,t){return this.baseFs.lstatSync(this.mapToBase(e),t)}async fchmodPromise(e,t){return this.baseFs.fchmodPromise(e,t)}fchmodSync(e,t){return this.baseFs.fchmodSync(e,t)}async chmodPromise(e,t){return this.baseFs.chmodPromise(this.mapToBase(e),t)}chmodSync(e,t){return this.baseFs.chmodSync(this.mapToBase(e),t)}async fchownPromise(e,t,i){return this.baseFs.fchownPromise(e,t,i)}fchownSync(e,t,i){return this.baseFs.fchownSync(e,t,i)}async chownPromise(e,t,i){return this.baseFs.chownPromise(this.mapToBase(e),t,i)}chownSync(e,t,i){return this.baseFs.chownSync(this.mapToBase(e),t,i)}async renamePromise(e,t){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(t))}renameSync(e,t){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(t))}async copyFilePromise(e,t,i=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(t),i)}copyFileSync(e,t,i=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(t),i)}async appendFilePromise(e,t,i){return this.baseFs.appendFilePromise(this.fsMapToBase(e),t,i)}appendFileSync(e,t,i){return this.baseFs.appendFileSync(this.fsMapToBase(e),t,i)}async writeFilePromise(e,t,i){return this.baseFs.writeFilePromise(this.fsMapToBase(e),t,i)}writeFileSync(e,t,i){return this.baseFs.writeFileSync(this.fsMapToBase(e),t,i)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,t,i){return this.baseFs.utimesPromise(this.mapToBase(e),t,i)}utimesSync(e,t,i){return this.baseFs.utimesSync(this.mapToBase(e),t,i)}async mkdirPromise(e,t){return this.baseFs.mkdirPromise(this.mapToBase(e),t)}mkdirSync(e,t){return this.baseFs.mkdirSync(this.mapToBase(e),t)}async rmdirPromise(e,t){return this.baseFs.rmdirPromise(this.mapToBase(e),t)}rmdirSync(e,t){return this.baseFs.rmdirSync(this.mapToBase(e),t)}async linkPromise(e,t){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(t))}linkSync(e,t){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(t))}async symlinkPromise(e,t,i){let n=this.mapToBase(t);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(t),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkPromise(o,n,i)}symlinkSync(e,t,i){let n=this.mapToBase(t);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(t),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkSync(o,n,i)}async readFilePromise(e,t){return t===\"utf8\"?this.baseFs.readFilePromise(this.fsMapToBase(e),t):this.baseFs.readFilePromise(this.fsMapToBase(e),t)}readFileSync(e,t){return t===\"utf8\"?this.baseFs.readFileSync(this.fsMapToBase(e),t):this.baseFs.readFileSync(this.fsMapToBase(e),t)}async readdirPromise(e,t){return this.baseFs.readdirPromise(this.mapToBase(e),t)}readdirSync(e,t){return this.baseFs.readdirSync(this.mapToBase(e),t)}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,t){return this.baseFs.truncatePromise(this.mapToBase(e),t)}truncateSync(e,t){return this.baseFs.truncateSync(this.mapToBase(e),t)}async ftruncatePromise(e,t){return this.baseFs.ftruncatePromise(e,t)}ftruncateSync(e,t){return this.baseFs.ftruncateSync(e,t)}watch(e,t,i){return this.baseFs.watch(this.mapToBase(e),t,i)}watchFile(e,t,i){return this.baseFs.watchFile(this.mapToBase(e),t,i)}unwatchFile(e,t){return this.baseFs.unwatchFile(this.mapToBase(e),t)}fsMapToBase(e){return typeof e==\"number\"?e:this.mapToBase(e)}};var yo=class extends pi{constructor(t,{baseFs:i,pathUtils:n}){super(n);this.target=t,this.baseFs=i}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(t){return t}mapToBase(t){return t}};var jt=class extends pi{constructor(t,{baseFs:i=new $t}={}){super(x);this.target=this.pathUtils.normalize(t),this.baseFs=i}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(t){return this.pathUtils.isAbsolute(t)?x.normalize(t):this.baseFs.resolve(x.join(this.target,t))}mapFromBase(t){return t}mapToBase(t){return this.pathUtils.isAbsolute(t)?t:this.pathUtils.join(this.target,t)}};var K1=Oe.root,wo=class extends pi{constructor(t,{baseFs:i=new $t}={}){super(x);this.target=this.pathUtils.resolve(Oe.root,t),this.baseFs=i}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(Oe.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(t){let i=this.pathUtils.normalize(t);if(this.pathUtils.isAbsolute(t))return this.pathUtils.resolve(this.target,this.pathUtils.relative(K1,t));if(i.match(/^\\.\\.\\/?/))throw new Error(`Resolving this path (${t}) would escape the jail`);return this.pathUtils.resolve(this.target,t)}mapFromBase(t){return this.pathUtils.resolve(K1,this.pathUtils.relative(this.target,t))}};var dg=class extends pi{constructor(t,i){super(i);this.instance=null;this.factory=t}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(t){this.instance=t}mapFromBase(t){return t}mapToBase(t){return t}};var _e=()=>Object.assign(new Error(\"ENOSYS: unsupported filesystem access\"),{code:\"ENOSYS\"}),aS=class extends ha{constructor(){super(x)}getExtractHint(){throw _e()}getRealPath(){throw _e()}resolve(){throw _e()}async openPromise(){throw _e()}openSync(){throw _e()}async opendirPromise(){throw _e()}opendirSync(){throw _e()}async readPromise(){throw _e()}readSync(){throw _e()}async writePromise(){throw _e()}writeSync(){throw _e()}async closePromise(){throw _e()}closeSync(){throw _e()}createWriteStream(){throw _e()}createReadStream(){throw _e()}async realpathPromise(){throw _e()}realpathSync(){throw _e()}async readdirPromise(){throw _e()}readdirSync(){throw _e()}async existsPromise(e){throw _e()}existsSync(e){throw _e()}async accessPromise(){throw _e()}accessSync(){throw _e()}async statPromise(){throw _e()}statSync(){throw _e()}async fstatPromise(e){throw _e()}fstatSync(e){throw _e()}async lstatPromise(e){throw _e()}lstatSync(e){throw _e()}async fchmodPromise(){throw _e()}fchmodSync(){throw _e()}async chmodPromise(){throw _e()}chmodSync(){throw _e()}async fchownPromise(){throw _e()}fchownSync(){throw _e()}async chownPromise(){throw _e()}chownSync(){throw _e()}async mkdirPromise(){throw _e()}mkdirSync(){throw _e()}async rmdirPromise(){throw _e()}rmdirSync(){throw _e()}async linkPromise(){throw _e()}linkSync(){throw _e()}async symlinkPromise(){throw _e()}symlinkSync(){throw _e()}async renamePromise(){throw _e()}renameSync(){throw _e()}async copyFilePromise(){throw _e()}copyFileSync(){throw _e()}async appendFilePromise(){throw _e()}appendFileSync(){throw _e()}async writeFilePromise(){throw _e()}writeFileSync(){throw _e()}async unlinkPromise(){throw _e()}unlinkSync(){throw _e()}async utimesPromise(){throw _e()}utimesSync(){throw _e()}async readFilePromise(){throw _e()}readFileSync(){throw _e()}async readlinkPromise(){throw _e()}readlinkSync(){throw _e()}async truncatePromise(){throw _e()}truncateSync(){throw _e()}async ftruncatePromise(e,t){throw _e()}ftruncateSync(e,t){throw _e()}watch(){throw _e()}watchFile(){throw _e()}unwatchFile(){throw _e()}},Rp=aS;Rp.instance=new aS;var Cg=class extends pi{constructor(t){super(K);this.baseFs=t}mapFromBase(t){return K.fromPortablePath(t)}mapToBase(t){return K.toPortablePath(t)}};var ige=/^[0-9]+$/,AS=/^(\\/(?:[^/]+\\/)*?(?:\\$\\$virtual|__virtual__))((?:\\/((?:[^/]+-)?[a-f0-9]+)(?:\\/([^/]+))?)?((?:\\/.*)?))$/,nge=/^([^/]+-)?[a-f0-9]+$/,Br=class extends pi{constructor({baseFs:t=new $t}={}){super(x);this.baseFs=t}static makeVirtualPath(t,i,n){if(x.basename(t)!==\"__virtual__\")throw new Error('Assertion failed: Virtual folders must be named \"__virtual__\"');if(!x.basename(i).match(nge))throw new Error(\"Assertion failed: Virtual components must be ended by an hexadecimal hash\");let o=x.relative(x.dirname(t),n).split(\"/\"),a=0;for(;a<o.length&&o[a]===\"..\";)a+=1;let l=o.slice(a);return x.join(t,i,String(a),...l)}static resolveVirtual(t){let i=t.match(AS);if(!i||!i[3]&&i[5])return t;let n=x.dirname(i[1]);if(!i[3]||!i[4])return n;if(!ige.test(i[4]))return t;let o=Number(i[4]),a=\"../\".repeat(o),l=i[5]||\".\";return Br.resolveVirtual(x.join(n,a,l))}getExtractHint(t){return this.baseFs.getExtractHint(t)}getRealPath(){return this.baseFs.getRealPath()}realpathSync(t){let i=t.match(AS);if(!i)return this.baseFs.realpathSync(t);if(!i[5])return t;let n=this.baseFs.realpathSync(this.mapToBase(t));return Br.makeVirtualPath(i[1],i[3],n)}async realpathPromise(t){let i=t.match(AS);if(!i)return await this.baseFs.realpathPromise(t);if(!i[5])return t;let n=await this.baseFs.realpathPromise(this.mapToBase(t));return Br.makeVirtualPath(i[1],i[3],n)}mapToBase(t){if(t===\"\")return t;if(this.pathUtils.isAbsolute(t))return Br.resolveVirtual(t);let i=Br.resolveVirtual(this.baseFs.resolve(Oe.dot)),n=Br.resolveVirtual(this.baseFs.resolve(t));return x.relative(i,n)||Oe.dot}mapFromBase(t){return t}};var Fp=J(\"fs\");var cn=4278190080,qi=704643072,U1=(r,e)=>{let t=r.indexOf(e);if(t<=0)return null;let i=t;for(;t>=0&&(i=t+e.length,r[i]!==x.sep);){if(r[t-1]===x.sep)return null;t=r.indexOf(e,i)}return r.length>i&&r[i]!==x.sep?null:r.slice(0,i)},Tn=class extends EA{constructor({libzip:t,baseFs:i=new $t,filter:n=null,maxOpenFiles:s=1/0,readOnlyArchives:o=!1,useCache:a=!0,maxAge:l=5e3,fileExtensions:c=null}){super();this.fdMap=new Map;this.nextFd=3;this.isZip=new Set;this.notZip=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.libzipFactory=typeof t!=\"function\"?()=>t:t,this.baseFs=i,this.zipInstances=a?new Map:null,this.filter=n,this.maxOpenFiles=s,this.readOnlyArchives=o,this.maxAge=l,this.fileExtensions=c}static async openPromise(t,i){let n=new Tn(i);try{return await t(n)}finally{n.saveAndClose()}}get libzip(){return typeof this.libzipInstance>\"u\"&&(this.libzipInstance=this.libzipFactory()),this.libzipInstance}getExtractHint(t){return this.baseFs.getExtractHint(t)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){if(kp(this),this.zipInstances)for(let[t,{zipFs:i}]of this.zipInstances.entries())i.saveAndClose(),this.zipInstances.delete(t)}discardAndClose(){if(kp(this),this.zipInstances)for(let[t,{zipFs:i}]of this.zipInstances.entries())i.discardAndClose(),this.zipInstances.delete(t)}resolve(t){return this.baseFs.resolve(t)}remapFd(t,i){let n=this.nextFd++|qi;return this.fdMap.set(n,[t,i]),n}async openPromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.openPromise(t,i,n),async(s,{subPath:o})=>this.remapFd(s,await s.openPromise(o,i,n)))}openSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.openSync(t,i,n),(s,{subPath:o})=>this.remapFd(s,s.openSync(o,i,n)))}async opendirPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.opendirPromise(t,i),async(n,{subPath:s})=>await n.opendirPromise(s,i),{requireSubpath:!1})}opendirSync(t,i){return this.makeCallSync(t,()=>this.baseFs.opendirSync(t,i),(n,{subPath:s})=>n.opendirSync(s,i),{requireSubpath:!1})}async readPromise(t,i,n,s,o){if((t&cn)!==qi)return await this.baseFs.readPromise(t,i,n,s,o);let a=this.fdMap.get(t);if(typeof a>\"u\")throw Hr(\"read\");let[l,c]=a;return await l.readPromise(c,i,n,s,o)}readSync(t,i,n,s,o){if((t&cn)!==qi)return this.baseFs.readSync(t,i,n,s,o);let a=this.fdMap.get(t);if(typeof a>\"u\")throw Hr(\"readSync\");let[l,c]=a;return l.readSync(c,i,n,s,o)}async writePromise(t,i,n,s,o){if((t&cn)!==qi)return typeof i==\"string\"?await this.baseFs.writePromise(t,i,n):await this.baseFs.writePromise(t,i,n,s,o);let a=this.fdMap.get(t);if(typeof a>\"u\")throw Hr(\"write\");let[l,c]=a;return typeof i==\"string\"?await l.writePromise(c,i,n):await l.writePromise(c,i,n,s,o)}writeSync(t,i,n,s,o){if((t&cn)!==qi)return typeof i==\"string\"?this.baseFs.writeSync(t,i,n):this.baseFs.writeSync(t,i,n,s,o);let a=this.fdMap.get(t);if(typeof a>\"u\")throw Hr(\"writeSync\");let[l,c]=a;return typeof i==\"string\"?l.writeSync(c,i,n):l.writeSync(c,i,n,s,o)}async closePromise(t){if((t&cn)!==qi)return await this.baseFs.closePromise(t);let i=this.fdMap.get(t);if(typeof i>\"u\")throw Hr(\"close\");this.fdMap.delete(t);let[n,s]=i;return await n.closePromise(s)}closeSync(t){if((t&cn)!==qi)return this.baseFs.closeSync(t);let i=this.fdMap.get(t);if(typeof i>\"u\")throw Hr(\"closeSync\");this.fdMap.delete(t);let[n,s]=i;return n.closeSync(s)}createReadStream(t,i){return t===null?this.baseFs.createReadStream(t,i):this.makeCallSync(t,()=>this.baseFs.createReadStream(t,i),(n,{archivePath:s,subPath:o})=>{let a=n.createReadStream(o,i);return a.path=K.fromPortablePath(this.pathUtils.join(s,o)),a})}createWriteStream(t,i){return t===null?this.baseFs.createWriteStream(t,i):this.makeCallSync(t,()=>this.baseFs.createWriteStream(t,i),(n,{subPath:s})=>n.createWriteStream(s,i))}async realpathPromise(t){return await this.makeCallPromise(t,async()=>await this.baseFs.realpathPromise(t),async(i,{archivePath:n,subPath:s})=>{let o=this.realPaths.get(n);return typeof o>\"u\"&&(o=await this.baseFs.realpathPromise(n),this.realPaths.set(n,o)),this.pathUtils.join(o,this.pathUtils.relative(Oe.root,await i.realpathPromise(s)))})}realpathSync(t){return this.makeCallSync(t,()=>this.baseFs.realpathSync(t),(i,{archivePath:n,subPath:s})=>{let o=this.realPaths.get(n);return typeof o>\"u\"&&(o=this.baseFs.realpathSync(n),this.realPaths.set(n,o)),this.pathUtils.join(o,this.pathUtils.relative(Oe.root,i.realpathSync(s)))})}async existsPromise(t){return await this.makeCallPromise(t,async()=>await this.baseFs.existsPromise(t),async(i,{subPath:n})=>await i.existsPromise(n))}existsSync(t){return this.makeCallSync(t,()=>this.baseFs.existsSync(t),(i,{subPath:n})=>i.existsSync(n))}async accessPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.accessPromise(t,i),async(n,{subPath:s})=>await n.accessPromise(s,i))}accessSync(t,i){return this.makeCallSync(t,()=>this.baseFs.accessSync(t,i),(n,{subPath:s})=>n.accessSync(s,i))}async statPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.statPromise(t,i),async(n,{subPath:s})=>await n.statPromise(s,i))}statSync(t,i){return this.makeCallSync(t,()=>this.baseFs.statSync(t,i),(n,{subPath:s})=>n.statSync(s,i))}async fstatPromise(t,i){if((t&cn)!==qi)return this.baseFs.fstatPromise(t,i);let n=this.fdMap.get(t);if(typeof n>\"u\")throw Hr(\"fstat\");let[s,o]=n;return s.fstatPromise(o,i)}fstatSync(t,i){if((t&cn)!==qi)return this.baseFs.fstatSync(t,i);let n=this.fdMap.get(t);if(typeof n>\"u\")throw Hr(\"fstatSync\");let[s,o]=n;return s.fstatSync(o,i)}async lstatPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.lstatPromise(t,i),async(n,{subPath:s})=>await n.lstatPromise(s,i))}lstatSync(t,i){return this.makeCallSync(t,()=>this.baseFs.lstatSync(t,i),(n,{subPath:s})=>n.lstatSync(s,i))}async fchmodPromise(t,i){if((t&cn)!==qi)return this.baseFs.fchmodPromise(t,i);let n=this.fdMap.get(t);if(typeof n>\"u\")throw Hr(\"fchmod\");let[s,o]=n;return s.fchmodPromise(o,i)}fchmodSync(t,i){if((t&cn)!==qi)return this.baseFs.fchmodSync(t,i);let n=this.fdMap.get(t);if(typeof n>\"u\")throw Hr(\"fchmodSync\");let[s,o]=n;return s.fchmodSync(o,i)}async chmodPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.chmodPromise(t,i),async(n,{subPath:s})=>await n.chmodPromise(s,i))}chmodSync(t,i){return this.makeCallSync(t,()=>this.baseFs.chmodSync(t,i),(n,{subPath:s})=>n.chmodSync(s,i))}async fchownPromise(t,i,n){if((t&cn)!==qi)return this.baseFs.fchownPromise(t,i,n);let s=this.fdMap.get(t);if(typeof s>\"u\")throw Hr(\"fchown\");let[o,a]=s;return o.fchownPromise(a,i,n)}fchownSync(t,i,n){if((t&cn)!==qi)return this.baseFs.fchownSync(t,i,n);let s=this.fdMap.get(t);if(typeof s>\"u\")throw Hr(\"fchownSync\");let[o,a]=s;return o.fchownSync(a,i,n)}async chownPromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.chownPromise(t,i,n),async(s,{subPath:o})=>await s.chownPromise(o,i,n))}chownSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.chownSync(t,i,n),(s,{subPath:o})=>s.chownSync(o,i,n))}async renamePromise(t,i){return await this.makeCallPromise(t,async()=>await this.makeCallPromise(i,async()=>await this.baseFs.renamePromise(t,i),async()=>{throw Object.assign(new Error(\"EEXDEV: cross-device link not permitted\"),{code:\"EEXDEV\"})}),async(n,{subPath:s})=>await this.makeCallPromise(i,async()=>{throw Object.assign(new Error(\"EEXDEV: cross-device link not permitted\"),{code:\"EEXDEV\"})},async(o,{subPath:a})=>{if(n!==o)throw Object.assign(new Error(\"EEXDEV: cross-device link not permitted\"),{code:\"EEXDEV\"});return await n.renamePromise(s,a)}))}renameSync(t,i){return this.makeCallSync(t,()=>this.makeCallSync(i,()=>this.baseFs.renameSync(t,i),()=>{throw Object.assign(new Error(\"EEXDEV: cross-device link not permitted\"),{code:\"EEXDEV\"})}),(n,{subPath:s})=>this.makeCallSync(i,()=>{throw Object.assign(new Error(\"EEXDEV: cross-device link not permitted\"),{code:\"EEXDEV\"})},(o,{subPath:a})=>{if(n!==o)throw Object.assign(new Error(\"EEXDEV: cross-device link not permitted\"),{code:\"EEXDEV\"});return n.renameSync(s,a)}))}async copyFilePromise(t,i,n=0){let s=async(o,a,l,c)=>{if((n&Fp.constants.COPYFILE_FICLONE_FORCE)!==0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${a}' -> ${c}'`),{code:\"EXDEV\"});if(n&Fp.constants.COPYFILE_EXCL&&await this.existsPromise(a))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${a}' -> '${c}'`),{code:\"EEXIST\"});let u;try{u=await o.readFilePromise(a)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${a}' -> '${c}'`),{code:\"EINVAL\"})}await l.writeFilePromise(c,u)};return await this.makeCallPromise(t,async()=>await this.makeCallPromise(i,async()=>await this.baseFs.copyFilePromise(t,i,n),async(o,{subPath:a})=>await s(this.baseFs,t,o,a)),async(o,{subPath:a})=>await this.makeCallPromise(i,async()=>await s(o,a,this.baseFs,i),async(l,{subPath:c})=>o!==l?await s(o,a,l,c):await o.copyFilePromise(a,c,n)))}copyFileSync(t,i,n=0){let s=(o,a,l,c)=>{if((n&Fp.constants.COPYFILE_FICLONE_FORCE)!==0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${a}' -> ${c}'`),{code:\"EXDEV\"});if(n&Fp.constants.COPYFILE_EXCL&&this.existsSync(a))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${a}' -> '${c}'`),{code:\"EEXIST\"});let u;try{u=o.readFileSync(a)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${a}' -> '${c}'`),{code:\"EINVAL\"})}l.writeFileSync(c,u)};return this.makeCallSync(t,()=>this.makeCallSync(i,()=>this.baseFs.copyFileSync(t,i,n),(o,{subPath:a})=>s(this.baseFs,t,o,a)),(o,{subPath:a})=>this.makeCallSync(i,()=>s(o,a,this.baseFs,i),(l,{subPath:c})=>o!==l?s(o,a,l,c):o.copyFileSync(a,c,n)))}async appendFilePromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.appendFilePromise(t,i,n),async(s,{subPath:o})=>await s.appendFilePromise(o,i,n))}appendFileSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.appendFileSync(t,i,n),(s,{subPath:o})=>s.appendFileSync(o,i,n))}async writeFilePromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.writeFilePromise(t,i,n),async(s,{subPath:o})=>await s.writeFilePromise(o,i,n))}writeFileSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.writeFileSync(t,i,n),(s,{subPath:o})=>s.writeFileSync(o,i,n))}async unlinkPromise(t){return await this.makeCallPromise(t,async()=>await this.baseFs.unlinkPromise(t),async(i,{subPath:n})=>await i.unlinkPromise(n))}unlinkSync(t){return this.makeCallSync(t,()=>this.baseFs.unlinkSync(t),(i,{subPath:n})=>i.unlinkSync(n))}async utimesPromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.utimesPromise(t,i,n),async(s,{subPath:o})=>await s.utimesPromise(o,i,n))}utimesSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.utimesSync(t,i,n),(s,{subPath:o})=>s.utimesSync(o,i,n))}async mkdirPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.mkdirPromise(t,i),async(n,{subPath:s})=>await n.mkdirPromise(s,i))}mkdirSync(t,i){return this.makeCallSync(t,()=>this.baseFs.mkdirSync(t,i),(n,{subPath:s})=>n.mkdirSync(s,i))}async rmdirPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.rmdirPromise(t,i),async(n,{subPath:s})=>await n.rmdirPromise(s,i))}rmdirSync(t,i){return this.makeCallSync(t,()=>this.baseFs.rmdirSync(t,i),(n,{subPath:s})=>n.rmdirSync(s,i))}async linkPromise(t,i){return await this.makeCallPromise(i,async()=>await this.baseFs.linkPromise(t,i),async(n,{subPath:s})=>await n.linkPromise(t,s))}linkSync(t,i){return this.makeCallSync(i,()=>this.baseFs.linkSync(t,i),(n,{subPath:s})=>n.linkSync(t,s))}async symlinkPromise(t,i,n){return await this.makeCallPromise(i,async()=>await this.baseFs.symlinkPromise(t,i,n),async(s,{subPath:o})=>await s.symlinkPromise(t,o))}symlinkSync(t,i,n){return this.makeCallSync(i,()=>this.baseFs.symlinkSync(t,i,n),(s,{subPath:o})=>s.symlinkSync(t,o))}async readFilePromise(t,i){return this.makeCallPromise(t,async()=>{switch(i){case\"utf8\":return await this.baseFs.readFilePromise(t,i);default:return await this.baseFs.readFilePromise(t,i)}},async(n,{subPath:s})=>await n.readFilePromise(s,i))}readFileSync(t,i){return this.makeCallSync(t,()=>{switch(i){case\"utf8\":return this.baseFs.readFileSync(t,i);default:return this.baseFs.readFileSync(t,i)}},(n,{subPath:s})=>n.readFileSync(s,i))}async readdirPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.readdirPromise(t,i),async(n,{subPath:s})=>await n.readdirPromise(s,i),{requireSubpath:!1})}readdirSync(t,i){return this.makeCallSync(t,()=>this.baseFs.readdirSync(t,i),(n,{subPath:s})=>n.readdirSync(s,i),{requireSubpath:!1})}async readlinkPromise(t){return await this.makeCallPromise(t,async()=>await this.baseFs.readlinkPromise(t),async(i,{subPath:n})=>await i.readlinkPromise(n))}readlinkSync(t){return this.makeCallSync(t,()=>this.baseFs.readlinkSync(t),(i,{subPath:n})=>i.readlinkSync(n))}async truncatePromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.truncatePromise(t,i),async(n,{subPath:s})=>await n.truncatePromise(s,i))}truncateSync(t,i){return this.makeCallSync(t,()=>this.baseFs.truncateSync(t,i),(n,{subPath:s})=>n.truncateSync(s,i))}async ftruncatePromise(t,i){if((t&cn)!==qi)return this.baseFs.ftruncatePromise(t,i);let n=this.fdMap.get(t);if(typeof n>\"u\")throw Hr(\"ftruncate\");let[s,o]=n;return s.ftruncatePromise(o,i)}ftruncateSync(t,i){if((t&cn)!==qi)return this.baseFs.ftruncateSync(t,i);let n=this.fdMap.get(t);if(typeof n>\"u\")throw Hr(\"ftruncateSync\");let[s,o]=n;return s.ftruncateSync(o,i)}watch(t,i,n){return this.makeCallSync(t,()=>this.baseFs.watch(t,i,n),(s,{subPath:o})=>s.watch(o,i,n))}watchFile(t,i,n){return this.makeCallSync(t,()=>this.baseFs.watchFile(t,i,n),()=>qE(this,t,i,n))}unwatchFile(t,i){return this.makeCallSync(t,()=>this.baseFs.unwatchFile(t,i),()=>Dp(this,t,i))}async makeCallPromise(t,i,n,{requireSubpath:s=!0}={}){if(typeof t!=\"string\")return await i();let o=this.resolve(t),a=this.findZip(o);return a?s&&a.subPath===\"/\"?await i():await this.getZipPromise(a.archivePath,async l=>await n(l,a)):await i()}makeCallSync(t,i,n,{requireSubpath:s=!0}={}){if(typeof t!=\"string\")return i();let o=this.resolve(t),a=this.findZip(o);return!a||s&&a.subPath===\"/\"?i():this.getZipSync(a.archivePath,l=>n(l,a))}findZip(t){if(this.filter&&!this.filter.test(t))return null;let i=\"\";for(;;){let n=t.substring(i.length),s;if(!this.fileExtensions)s=U1(n,\".zip\");else for(let o of this.fileExtensions)if(s=U1(n,o),s)break;if(!s)return null;if(i=this.pathUtils.join(i,s),this.isZip.has(i)===!1){if(this.notZip.has(i))continue;try{if(!this.baseFs.lstatSync(i).isFile()){this.notZip.add(i);continue}}catch{return null}this.isZip.add(i)}return{archivePath:i,subPath:this.pathUtils.join(Oe.root,t.substring(i.length))}}}limitOpenFiles(t){if(this.zipInstances===null)return;let i=Date.now(),n=i+this.maxAge,s=t===null?0:this.zipInstances.size-t;for(let[o,{zipFs:a,expiresAt:l,refCount:c}]of this.zipInstances.entries())if(!(c!==0||a.hasOpenFileHandles())){if(i>=l){a.saveAndClose(),this.zipInstances.delete(o),s-=1;continue}else if(t===null||s<=0){n=l;break}a.saveAndClose(),this.zipInstances.delete(o),s-=1}this.limitOpenFilesTimeout===null&&(t===null&&this.zipInstances.size>0||t!==null)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},n-i).unref())}async getZipPromise(t,i){let n=async()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:await this.baseFs.statPromise(t)});if(this.zipInstances){let s=this.zipInstances.get(t);if(!s){let o=await n();s=this.zipInstances.get(t),s||(s={zipFs:new Wr(t,o),expiresAt:0,refCount:0})}this.zipInstances.delete(t),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(t,s),s.expiresAt=Date.now()+this.maxAge,s.refCount+=1;try{return await i(s.zipFs)}finally{s.refCount-=1}}else{let s=new Wr(t,await n());try{return await i(s)}finally{s.saveAndClose()}}}getZipSync(t,i){let n=()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:this.baseFs.statSync(t)});if(this.zipInstances){let s=this.zipInstances.get(t);return s||(s={zipFs:new Wr(t,n()),expiresAt:0,refCount:0}),this.zipInstances.delete(t),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(t,s),s.expiresAt=Date.now()+this.maxAge,i(s.zipFs)}else{let s=new Wr(t,n());try{return i(s)}finally{s.saveAndClose()}}}};var Eg=J(\"util\");var WE=J(\"url\"),H1=J(\"util\");var JE=class extends pi{constructor(t){super(K);this.baseFs=t}mapFromBase(t){return t}mapToBase(t){if(typeof t==\"string\")return t;if(t instanceof WE.URL)return(0,WE.fileURLToPath)(t);if(Buffer.isBuffer(t)){let i=t.toString();if(Buffer.byteLength(i)!==t.byteLength)throw new Error(\"Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: https://github.com/yarnpkg/berry/issues/4942\");return i}throw new Error(`Unsupported path type: ${(0,H1.inspect)(t)}`)}};var G1=J(\"readline\"),Ri=Symbol(\"kBaseFs\"),pa=Symbol(\"kFd\"),IA=Symbol(\"kClosePromise\"),zE=Symbol(\"kCloseResolve\"),VE=Symbol(\"kCloseReject\"),mg=Symbol(\"kRefs\"),Ys=Symbol(\"kRef\"),js=Symbol(\"kUnref\"),sge,oge,age,Age,Np=class{constructor(e,t){this[sge]=1;this[oge]=void 0;this[age]=void 0;this[Age]=void 0;this[Ri]=t,this[pa]=e}get fd(){return this[pa]}async appendFile(e,t){var i;try{this[Ys](this.appendFile);let n=(i=typeof t==\"string\"?t:t==null?void 0:t.encoding)!=null?i:void 0;return await this[Ri].appendFilePromise(this.fd,e,n?{encoding:n}:void 0)}finally{this[js]()}}async chown(e,t){try{return this[Ys](this.chown),await this[Ri].fchownPromise(this.fd,e,t)}finally{this[js]()}}async chmod(e){try{return this[Ys](this.chmod),await this[Ri].fchmodPromise(this.fd,e)}finally{this[js]()}}createReadStream(e){return this[Ri].createReadStream(null,{...e,fd:this.fd})}createWriteStream(e){return this[Ri].createWriteStream(null,{...e,fd:this.fd})}datasync(){throw new Error(\"Method not implemented.\")}sync(){throw new Error(\"Method not implemented.\")}async read(e,t,i,n){var s,o,a;try{this[Ys](this.read);let l;return Buffer.isBuffer(e)?l=e:(e!=null||(e={}),l=(s=e.buffer)!=null?s:Buffer.alloc(16384),t=e.offset||0,i=(o=e.length)!=null?o:l.byteLength,n=(a=e.position)!=null?a:null),t!=null||(t=0),i!=null||(i=0),i===0?{bytesRead:i,buffer:l}:{bytesRead:await this[Ri].readPromise(this.fd,l,t,i,n),buffer:l}}finally{this[js]()}}async readFile(e){var t;try{this[Ys](this.readFile);let i=(t=typeof e==\"string\"?e:e==null?void 0:e.encoding)!=null?t:void 0;return await this[Ri].readFilePromise(this.fd,i)}finally{this[js]()}}readLines(e){return(0,G1.createInterface)({input:this.createReadStream(e),crlfDelay:1/0})}async stat(e){try{return this[Ys](this.stat),await this[Ri].fstatPromise(this.fd,e)}finally{this[js]()}}async truncate(e){try{return this[Ys](this.truncate),await this[Ri].ftruncatePromise(this.fd,e)}finally{this[js]()}}utimes(e,t){throw new Error(\"Method not implemented.\")}async writeFile(e,t){var i;try{this[Ys](this.writeFile);let n=(i=typeof t==\"string\"?t:t==null?void 0:t.encoding)!=null?i:void 0;await this[Ri].writeFilePromise(this.fd,e,n)}finally{this[js]()}}async write(...e){try{if(this[Ys](this.write),ArrayBuffer.isView(e[0])){let[t,i,n,s]=e;return{bytesWritten:await this[Ri].writePromise(this.fd,t,i!=null?i:void 0,n!=null?n:void 0,s!=null?s:void 0),buffer:t}}else{let[t,i,n]=e;return{bytesWritten:await this[Ri].writePromise(this.fd,t,i,n),buffer:t}}}finally{this[js]()}}async writev(e,t){try{this[Ys](this.writev);let i=0;if(typeof t<\"u\")for(let n of e){let s=await this.write(n,void 0,void 0,t);i+=s.bytesWritten,t+=s.bytesWritten}else for(let n of e)i+=(await this.write(n)).bytesWritten;return{buffers:e,bytesWritten:i}}finally{this[js]()}}readv(e,t){throw new Error(\"Method not implemented.\")}close(){if(this[pa]===-1)return Promise.resolve();if(this[IA])return this[IA];if(this[mg]--,this[mg]===0){let e=this[pa];this[pa]=-1,this[IA]=this[Ri].closePromise(e).finally(()=>{this[IA]=void 0})}else this[IA]=new Promise((e,t)=>{this[zE]=e,this[VE]=t}).finally(()=>{this[IA]=void 0,this[VE]=void 0,this[zE]=void 0});return this[IA]}[(Ri,pa,sge=mg,oge=IA,age=zE,Age=VE,Ys)](e){if(this[pa]===-1){let t=new Error(\"file closed\");throw t.code=\"EBADF\",t.syscall=e.name,t}this[mg]++}[js](){if(this[mg]--,this[mg]===0){let e=this[pa];this[pa]=-1,this[Ri].closePromise(e).then(this[zE],this[VE])}}};var lge=new Set([\"accessSync\",\"appendFileSync\",\"createReadStream\",\"createWriteStream\",\"chmodSync\",\"fchmodSync\",\"chownSync\",\"fchownSync\",\"closeSync\",\"copyFileSync\",\"linkSync\",\"lstatSync\",\"fstatSync\",\"lutimesSync\",\"mkdirSync\",\"openSync\",\"opendirSync\",\"readlinkSync\",\"readFileSync\",\"readdirSync\",\"readlinkSync\",\"realpathSync\",\"renameSync\",\"rmdirSync\",\"statSync\",\"symlinkSync\",\"truncateSync\",\"ftruncateSync\",\"unlinkSync\",\"unwatchFile\",\"utimesSync\",\"watch\",\"watchFile\",\"writeFileSync\",\"writeSync\"]),Y1=new Set([\"accessPromise\",\"appendFilePromise\",\"fchmodPromise\",\"chmodPromise\",\"fchownPromise\",\"chownPromise\",\"closePromise\",\"copyFilePromise\",\"linkPromise\",\"fstatPromise\",\"lstatPromise\",\"lutimesPromise\",\"mkdirPromise\",\"openPromise\",\"opendirPromise\",\"readdirPromise\",\"realpathPromise\",\"readFilePromise\",\"readdirPromise\",\"readlinkPromise\",\"renamePromise\",\"rmdirPromise\",\"statPromise\",\"symlinkPromise\",\"truncatePromise\",\"ftruncatePromise\",\"unlinkPromise\",\"utimesPromise\",\"writeFilePromise\",\"writeSync\"]);function lS(r,e){e=new JE(e);let t=(i,n,s)=>{let o=i[n];i[n]=s,typeof(o==null?void 0:o[Eg.promisify.custom])<\"u\"&&(s[Eg.promisify.custom]=o[Eg.promisify.custom])};{t(r,\"exists\",(i,...n)=>{let o=typeof n[n.length-1]==\"function\"?n.pop():()=>{};process.nextTick(()=>{e.existsPromise(i).then(a=>{o(a)},()=>{o(!1)})})}),t(r,\"read\",(...i)=>{let[n,s,o,a,l,c]=i;if(i.length<=3){let u={};i.length<3?c=i[1]:(u=i[1],c=i[2]),{buffer:s=Buffer.alloc(16384),offset:o=0,length:a=s.byteLength,position:l}=u}if(o==null&&(o=0),a|=0,a===0){process.nextTick(()=>{c(null,0,s)});return}l==null&&(l=-1),process.nextTick(()=>{e.readPromise(n,s,o,a,l).then(u=>{c(null,u,s)},u=>{c(u,0,s)})})});for(let i of Y1){let n=i.replace(/Promise$/,\"\");if(typeof r[n]>\"u\")continue;let s=e[i];if(typeof s>\"u\")continue;t(r,n,(...a)=>{let c=typeof a[a.length-1]==\"function\"?a.pop():()=>{};process.nextTick(()=>{s.apply(e,a).then(u=>{c(null,u)},u=>{c(u)})})})}r.realpath.native=r.realpath}{t(r,\"existsSync\",i=>{try{return e.existsSync(i)}catch{return!1}}),t(r,\"readSync\",(...i)=>{let[n,s,o,a,l]=i;return i.length<=3&&({offset:o=0,length:a=s.byteLength,position:l}=i[2]||{}),o==null&&(o=0),a|=0,a===0?0:(l==null&&(l=-1),e.readSync(n,s,o,a,l))});for(let i of lge){let n=i;if(typeof r[n]>\"u\")continue;let s=e[i];typeof s>\"u\"||t(r,n,s.bind(e))}r.realpathSync.native=r.realpathSync}{let i=process.emitWarning;process.emitWarning=()=>{};let n;try{n=r.promises}finally{process.emitWarning=i}if(typeof n<\"u\"){for(let s of Y1){let o=s.replace(/Promise$/,\"\");if(typeof n[o]>\"u\")continue;let a=e[s];typeof a>\"u\"||s!==\"open\"&&t(n,o,(l,...c)=>l instanceof Np?l[o].apply(l,c):a.call(e,l,...c))}t(n,\"open\",async(...s)=>{let o=await e.openPromise(...s);return new Np(o,e)})}}r.read[Eg.promisify.custom]=async(i,n,...s)=>({bytesRead:await e.readPromise(i,n,...s),buffer:n}),r.write[Eg.promisify.custom]=async(i,n,...s)=>({bytesWritten:await e.writePromise(i,n,...s),buffer:n})}function XE(r,e){let t=Object.create(r);return lS(t,e),t}var J1=Pe(J(\"os\"));function j1(r){let e=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,\"0\");return`${r}${e}`}var qs=new Set,cS=null;function q1(){if(cS)return cS;let r=K.toPortablePath(J1.default.tmpdir()),e=M.realpathSync(r);return process.once(\"exit\",()=>{M.rmtempSync()}),cS={tmpdir:r,realTmpdir:e}}var M=Object.assign(new $t,{detachTemp(r){qs.delete(r)},mktempSync(r){let{tmpdir:e,realTmpdir:t}=q1();for(;;){let i=j1(\"xfs-\");try{this.mkdirSync(x.join(e,i))}catch(s){if(s.code===\"EEXIST\")continue;throw s}let n=x.join(t,i);if(qs.add(n),typeof r>\"u\")return n;try{return r(n)}finally{if(qs.has(n)){qs.delete(n);try{this.removeSync(n)}catch{}}}}},async mktempPromise(r){let{tmpdir:e,realTmpdir:t}=q1();for(;;){let i=j1(\"xfs-\");try{await this.mkdirPromise(x.join(e,i))}catch(s){if(s.code===\"EEXIST\")continue;throw s}let n=x.join(t,i);if(qs.add(n),typeof r>\"u\")return n;try{return await r(n)}finally{if(qs.has(n)){qs.delete(n);try{await this.removePromise(n)}catch{}}}}},async rmtempPromise(){await Promise.all(Array.from(qs.values()).map(async r=>{try{await M.removePromise(r,{maxRetries:0}),qs.delete(r)}catch{}}))},rmtempSync(){for(let r of qs)try{M.removeSync(r),qs.delete(r)}catch{}}});var _D=Pe(IS());var Yp={};ut(Yp,{parseResolution:()=>rI,parseShell:()=>$E,parseSyml:()=>Ii,stringifyArgument:()=>QS,stringifyArgumentSegment:()=>bS,stringifyArithmeticExpression:()=>tI,stringifyCommand:()=>BS,stringifyCommandChain:()=>Bg,stringifyCommandChainThen:()=>wS,stringifyCommandLine:()=>eI,stringifyCommandLineThen:()=>yS,stringifyEnvSegment:()=>ZE,stringifyRedirectArgument:()=>Tp,stringifyResolution:()=>iI,stringifyShell:()=>wg,stringifyShellLine:()=>wg,stringifySyml:()=>Ca,stringifyValueArgument:()=>Kl});var TK=Pe(LK());function $E(r,e={isGlobPattern:()=>!1}){try{return(0,TK.parse)(r,e)}catch(t){throw t.location&&(t.message=t.message.replace(/(\\.)?$/,` (line ${t.location.start.line}, column ${t.location.start.column})$1`)),t}}function wg(r,{endSemicolon:e=!1}={}){return r.map(({command:t,type:i},n)=>`${eI(t)}${i===\";\"?n!==r.length-1||e?\";\":\"\":\" &\"}`).join(\" \")}function eI(r){return`${Bg(r.chain)}${r.then?` ${yS(r.then)}`:\"\"}`}function yS(r){return`${r.type} ${eI(r.line)}`}function Bg(r){return`${BS(r)}${r.then?` ${wS(r.then)}`:\"\"}`}function wS(r){return`${r.type} ${Bg(r.chain)}`}function BS(r){switch(r.type){case\"command\":return`${r.envs.length>0?`${r.envs.map(e=>ZE(e)).join(\" \")} `:\"\"}${r.args.map(e=>QS(e)).join(\" \")}`;case\"subshell\":return`(${wg(r.subshell)})${r.args.length>0?` ${r.args.map(e=>Tp(e)).join(\" \")}`:\"\"}`;case\"group\":return`{ ${wg(r.group,{endSemicolon:!0})} }${r.args.length>0?` ${r.args.map(e=>Tp(e)).join(\" \")}`:\"\"}`;case\"envs\":return r.envs.map(e=>ZE(e)).join(\" \");default:throw new Error(`Unsupported command type:  \"${r.type}\"`)}}function ZE(r){return`${r.name}=${r.args[0]?Kl(r.args[0]):\"\"}`}function QS(r){switch(r.type){case\"redirection\":return Tp(r);case\"argument\":return Kl(r);default:throw new Error(`Unsupported argument type: \"${r.type}\"`)}}function Tp(r){return`${r.subtype} ${r.args.map(e=>Kl(e)).join(\" \")}`}function Kl(r){return r.segments.map(e=>bS(e)).join(\"\")}function bS(r){let e=(i,n)=>n?`\"${i}\"`:i,t=i=>i===\"\"?'\"\"':i.match(/[(){}<>$|&; \\t\"']/)?`$'${i.replace(/\\\\/g,\"\\\\\\\\\").replace(/'/g,\"\\\\'\").replace(/\\f/g,\"\\\\f\").replace(/\\n/g,\"\\\\n\").replace(/\\r/g,\"\\\\r\").replace(/\\t/g,\"\\\\t\").replace(/\\v/g,\"\\\\v\").replace(/\\0/g,\"\\\\0\")}'`:i;switch(r.type){case\"text\":return t(r.text);case\"glob\":return r.pattern;case\"shell\":return e(`\\${${wg(r.shell)}}`,r.quoted);case\"variable\":return e(typeof r.defaultValue>\"u\"?typeof r.alternativeValue>\"u\"?`\\${${r.name}}`:r.alternativeValue.length===0?`\\${${r.name}:+}`:`\\${${r.name}:+${r.alternativeValue.map(i=>Kl(i)).join(\" \")}}`:r.defaultValue.length===0?`\\${${r.name}:-}`:`\\${${r.name}:-${r.defaultValue.map(i=>Kl(i)).join(\" \")}}`,r.quoted);case\"arithmetic\":return`$(( ${tI(r.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: \"${r.type}\"`)}}function tI(r){let e=n=>{switch(n){case\"addition\":return\"+\";case\"subtraction\":return\"-\";case\"multiplication\":return\"*\";case\"division\":return\"/\";default:throw new Error(`Can't extract operator from arithmetic expression of type \"${n}\"`)}},t=(n,s)=>s?`( ${n} )`:n,i=n=>t(tI(n),![\"number\",\"variable\"].includes(n.type));switch(r.type){case\"number\":return String(r.value);case\"variable\":return r.name;default:return`${i(r.left)} ${e(r.type)} ${i(r.right)}`}}var KK=Pe(MK());function rI(r){let e=r.match(/^\\*{1,2}\\/(.*)/);if(e)throw new Error(`The override for '${r}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${e[1]}' instead.`);try{return(0,KK.parse)(r)}catch(t){throw t.location&&(t.message=t.message.replace(/(\\.)?$/,` (line ${t.location.start.line}, column ${t.location.start.column})$1`)),t}}function iI(r){let e=\"\";return r.from&&(e+=r.from.fullName,r.from.description&&(e+=`@${r.from.description}`),e+=\"/\"),e+=r.descriptor.fullName,r.descriptor.description&&(e+=`@${r.descriptor.description}`),e}var pI=Pe(P2()),N2=Pe(k2()),mpe=/^(?![-?:,\\][{}#&*!|>'\"%@` \\t\\r\\n]).([ \\t]*(?![,\\][{}:# \\t\\r\\n]).)*$/,R2=[\"__metadata\",\"version\",\"resolution\",\"dependencies\",\"peerDependencies\",\"dependenciesMeta\",\"peerDependenciesMeta\",\"binaries\"],hI=class{constructor(e){this.data=e}};function F2(r){return r.match(mpe)?r:JSON.stringify(r)}function L2(r){return typeof r>\"u\"?!0:typeof r==\"object\"&&r!==null?Object.keys(r).every(e=>L2(r[e])):!1}function MS(r,e,t){if(r===null)return`null\n`;if(typeof r==\"number\"||typeof r==\"boolean\")return`${r.toString()}\n`;if(typeof r==\"string\")return`${F2(r)}\n`;if(Array.isArray(r)){if(r.length===0)return`[]\n`;let i=\"  \".repeat(e);return`\n${r.map(s=>`${i}- ${MS(s,e+1,!1)}`).join(\"\")}`}if(typeof r==\"object\"&&r){let i,n;r instanceof hI?(i=r.data,n=!1):(i=r,n=!0);let s=\"  \".repeat(e),o=Object.keys(i);n&&o.sort((l,c)=>{let u=R2.indexOf(l),g=R2.indexOf(c);return u===-1&&g===-1?l<c?-1:l>c?1:0:u!==-1&&g===-1?-1:u===-1&&g!==-1?1:u-g});let a=o.filter(l=>!L2(i[l])).map((l,c)=>{let u=i[l],g=F2(l),f=MS(u,e+1,!0),h=c>0||t?s:\"\",p=g.length>1024?`? ${g}\n${h}:`:`${g}:`,C=f.startsWith(`\n`)?f:` ${f}`;return`${h}${p}${C}`}).join(e===0?`\n`:\"\")||`\n`;return t?`\n${a}`:`${a}`}throw new Error(`Unsupported value type (${r})`)}function Ca(r){try{let e=MS(r,0,!1);return e!==`\n`?e:\"\"}catch(e){throw e.location&&(e.message=e.message.replace(/(\\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}Ca.PreserveOrdering=hI;function Epe(r){return r.endsWith(`\n`)||(r+=`\n`),(0,N2.parse)(r)}var Ipe=/^(#.*(\\r?\\n))*?#\\s+yarn\\s+lockfile\\s+v1\\r?\\n/i;function ype(r){if(Ipe.test(r))return Epe(r);let e=(0,pI.safeLoad)(r,{schema:pI.FAILSAFE_SCHEMA,json:!0});if(e==null)return{};if(typeof e!=\"object\")throw new Error(`Expected an indexed object, got a ${typeof e} instead. Does your file follow Yaml's rules?`);if(Array.isArray(e))throw new Error(\"Expected an indexed object, got an array instead. Does your file follow Yaml's rules?\");return e}function Ii(r){return ype(r)}var H8=Pe(O2()),Sw=Pe(Vl());var $p={};ut($p,{Builtins:()=>$S,Cli:()=>Kn,Command:()=>ve,Option:()=>z,UsageError:()=>be,formatMarkdownish:()=>Ni});var US=\"\u0001\",yi=\"\\0\";var HS=/^(-h|--help)(?:=([0-9]+))?$/,dI=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,H2=/^-[a-zA-Z]{2,}$/,GS=/^([^=]+)=([\\s\\S]*)$/,YS=process.env.DEBUG_CLI===\"1\";var be=class extends Error{constructor(e){super(e),this.clipanion={type:\"usage\"},this.name=\"UsageError\"}},kg=class extends Error{constructor(e,t){if(super(),this.input=e,this.candidates=t,this.clipanion={type:\"none\"},this.name=\"UnknownSyntaxError\",this.candidates.length===0)this.message=\"Command not found, but we're not sure what's the alternative.\";else if(this.candidates.every(i=>i.reason!==null&&i.reason===t[0].reason)){let[{reason:i}]=this.candidates;this.message=`${i}\n\n${this.candidates.map(({usage:n})=>`$ ${n}`).join(`\n`)}`}else if(this.candidates.length===1){let[{usage:i}]=this.candidates;this.message=`Command not found; did you mean:\n\n$ ${i}\n${jS(e)}`}else this.message=`Command not found; did you mean one of:\n\n${this.candidates.map(({usage:i},n)=>`${`${n}.`.padStart(4)} ${i}`).join(`\n`)}\n\n${jS(e)}`}},CI=class extends Error{constructor(e,t){super(),this.input=e,this.usages=t,this.clipanion={type:\"none\"},this.name=\"AmbiguousSyntaxError\",this.message=`Cannot find which to pick amongst the following alternatives:\n\n${this.usages.map((i,n)=>`${`${n}.`.padStart(4)} ${i}`).join(`\n`)}\n\n${jS(e)}`}},jS=r=>`While running ${r.filter(e=>e!==yi).map(e=>{let t=JSON.stringify(e);return e.match(/\\s/)||e.length===0||t!==`\"${e}\"`?t:e}).join(\" \")}`;var jp=Symbol(\"clipanion/isOption\");function Ji(r){return{...r,[jp]:!0}}function bo(r,e){return typeof r>\"u\"?[r,e]:typeof r==\"object\"&&r!==null&&!Array.isArray(r)?[void 0,r]:[r,e]}function mI(r,e=!1){let t=r.replace(/^\\.: /,\"\");return e&&(t=t[0].toLowerCase()+t.slice(1)),t}function qp(r,e){return e.length===1?new be(`${r}: ${mI(e[0],!0)}`):new be(`${r}:\n${e.map(t=>`\n- ${mI(t)}`).join(\"\")}`)}function Jp(r,e,t){if(typeof t>\"u\")return e;let i=[],n=[],s=a=>{let l=e;return e=a,s.bind(null,l)};if(!t(e,{errors:i,coercions:n,coercion:s}))throw qp(`Invalid value for ${r}`,i);for(let[,a]of n)a();return e}var ve=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let t=this.constructor.schema;if(Array.isArray(t)){let{isDict:n,isUnknown:s,applyCascade:o}=await Promise.resolve().then(()=>(ns(),gn)),a=o(n(s()),t),l=[],c=[];if(!a(this,{errors:l,coercions:c}))throw qp(\"Invalid option schema\",l);for(let[,g]of c)g()}else if(t!=null)throw new Error(\"Invalid command schema\");let i=await this.execute();return typeof i<\"u\"?i:0}};ve.isOption=jp;ve.Default=[];var WS=Array(80).fill(\"\\u2501\");for(let r=0;r<=24;++r)WS[WS.length-r]=`\\x1B[38;5;${232+r}m\\u2501`;var zS={header:r=>`\\x1B[1m\\u2501\\u2501\\u2501 ${r}${r.length<80-5?` ${WS.slice(r.length+5).join(\"\")}`:\":\"}\\x1B[0m`,bold:r=>`\\x1B[1m${r}\\x1B[22m`,error:r=>`\\x1B[31m\\x1B[1m${r}\\x1B[22m\\x1B[39m`,code:r=>`\\x1B[36m${r}\\x1B[39m`},_2={header:r=>r,bold:r=>r,error:r=>r,code:r=>r};function nde(r){let e=r.split(`\n`),t=e.filter(n=>n.match(/\\S/)),i=t.length>0?t.reduce((n,s)=>Math.min(n,s.length-s.trimStart().length),Number.MAX_VALUE):0;return e.map(n=>n.slice(i).trimRight()).join(`\n`)}function Ni(r,{format:e,paragraphs:t}){return r=r.replace(/\\r\\n?/g,`\n`),r=nde(r),r=r.replace(/^\\n+|\\n+$/g,\"\"),r=r.replace(/^(\\s*)-([^\\n]*?)\\n+/gm,`$1-$2\n\n`),r=r.replace(/\\n(\\n)?\\n*/g,\"$1\"),t&&(r=r.split(/\\n/).map(i=>{let n=i.match(/^\\s*[*-][\\t ]+(.*)/);if(!n)return i.match(/(.{1,80})(?: |$)/g).join(`\n`);let s=i.length-i.trimStart().length;return n[1].match(new RegExp(`(.{1,${78-s}})(?: |$)`,\"g\")).map((o,a)=>\" \".repeat(s)+(a===0?\"- \":\"  \")+o).join(`\n`)}).join(`\n\n`)),r=r.replace(/(`+)((?:.|[\\n])*?)\\1/g,(i,n,s)=>e.code(n+s+n)),r=r.replace(/(\\*\\*)((?:.|[\\n])*?)\\1/g,(i,n,s)=>e.bold(n+s+n)),r?`${r}\n`:\"\"}var ZS=Pe(J(\"tty\"),1);function fn(r){YS&&console.log(r)}var Z2={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:-1};function $2(){return{nodes:[zi(),zi(),zi()]}}function sde(r){let e=$2(),t=[],i=e.nodes.length;for(let n of r){t.push(i);for(let s=0;s<n.nodes.length;++s)rH(s)||e.nodes.push(hde(n.nodes[s],i));i+=n.nodes.length-2}for(let n of t)Rg(e,0,n);return e}function Js(r,e){return r.nodes.push(e),r.nodes.length-1}function ode(r){let e=new Set,t=i=>{if(e.has(i))return;e.add(i);let n=r.nodes[i];for(let o of Object.values(n.statics))for(let{to:a}of o)t(a);for(let[,{to:o}]of n.dynamics)t(o);for(let{to:o}of n.shortcuts)t(o);let s=new Set(n.shortcuts.map(({to:o})=>o));for(;n.shortcuts.length>0;){let{to:o}=n.shortcuts.shift(),a=r.nodes[o];for(let[l,c]of Object.entries(a.statics)){let u=Object.prototype.hasOwnProperty.call(n.statics,l)?n.statics[l]:n.statics[l]=[];for(let g of c)u.some(({to:f})=>g.to===f)||u.push(g)}for(let[l,c]of a.dynamics)n.dynamics.some(([u,{to:g}])=>l===u&&c.to===g)||n.dynamics.push([l,c]);for(let l of a.shortcuts)s.has(l.to)||(n.shortcuts.push(l),s.add(l.to))}};t(0)}function ade(r,{prefix:e=\"\"}={}){if(YS){fn(`${e}Nodes are:`);for(let t=0;t<r.nodes.length;++t)fn(`${e}  ${t}: ${JSON.stringify(r.nodes[t])}`)}}function eH(r,e,t=!1){fn(`Running a vm on ${JSON.stringify(e)}`);let i=[{node:0,state:{candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,options:[],path:[],positionals:[],remainder:null,selectedIndex:null}}];ade(r,{prefix:\"  \"});let n=[US,...e];for(let s=0;s<n.length;++s){let o=n[s];fn(`  Processing ${JSON.stringify(o)}`);let a=[];for(let{node:l,state:c}of i){fn(`    Current node is ${l}`);let u=r.nodes[l];if(l===2){a.push({node:l,state:c});continue}console.assert(u.shortcuts.length===0,\"Shortcuts should have been eliminated by now\");let g=Object.prototype.hasOwnProperty.call(u.statics,o);if(!t||s<n.length-1||g)if(g){let f=u.statics[o];for(let{to:h,reducer:p}of f)a.push({node:h,state:typeof p<\"u\"?II(XS,p,c,o):c}),fn(`      Static transition to ${h} found`)}else fn(\"      No static transition found\");else{let f=!1;for(let h of Object.keys(u.statics))if(!!h.startsWith(o)){if(o===h)for(let{to:p,reducer:C}of u.statics[h])a.push({node:p,state:typeof C<\"u\"?II(XS,C,c,o):c}),fn(`      Static transition to ${p} found`);else for(let{to:p}of u.statics[h])a.push({node:p,state:{...c,remainder:h.slice(o.length)}}),fn(`      Static transition to ${p} found (partial match)`);f=!0}f||fn(\"      No partial static transition found\")}if(o!==yi)for(let[f,{to:h,reducer:p}]of u.dynamics)II(wI,f,c,o)&&(a.push({node:h,state:typeof p<\"u\"?II(XS,p,c,o):c}),fn(`      Dynamic transition to ${h} found (via ${f})`))}if(a.length===0&&o===yi&&e.length===1)return[{node:0,state:Z2}];if(a.length===0)throw new kg(e,i.filter(({node:l})=>l!==2).map(({state:l})=>({usage:l.candidateUsage,reason:null})));if(a.every(({node:l})=>l===2))throw new kg(e,a.map(({state:l})=>({usage:l.candidateUsage,reason:l.errorMessage})));i=ude(a)}if(i.length>0){fn(\"  Results:\");for(let s of i)fn(`    - ${s.node} -> ${JSON.stringify(s.state)}`)}else fn(\"  No results\");return i}function Ade(r,e){if(e.selectedIndex!==null)return!0;if(Object.prototype.hasOwnProperty.call(r.statics,yi)){for(let{to:t}of r.statics[yi])if(t===1)return!0}return!1}function lde(r,e,t){let i=t&&e.length>0?[\"\"]:[],n=eH(r,e,t),s=[],o=new Set,a=(l,c,u=!0)=>{let g=[c];for(;g.length>0;){let h=g;g=[];for(let p of h){let C=r.nodes[p],y=Object.keys(C.statics);for(let B of Object.keys(C.statics)){let v=y[0];for(let{to:D,reducer:L}of C.statics[v])L===\"pushPath\"&&(u||l.push(v),g.push(D))}}u=!1}let f=JSON.stringify(l);o.has(f)||(s.push(l),o.add(f))};for(let{node:l,state:c}of n){if(c.remainder!==null){a([c.remainder],l);continue}let u=r.nodes[l],g=Ade(u,c);for(let[f,h]of Object.entries(u.statics))(g&&f!==yi||!f.startsWith(\"-\")&&h.some(({reducer:p})=>p===\"pushPath\"))&&a([...i,f],l);if(!!g)for(let[f,{to:h}]of u.dynamics){if(h===2)continue;let p=pde(f,c);if(p!==null)for(let C of p)a([...i,C],l)}}return[...s].sort()}function cde(r,e){let t=eH(r,[...e,yi]);return gde(e,t.map(({state:i})=>i))}function ude(r){let e=0;for(let{state:t}of r)t.path.length>e&&(e=t.path.length);return r.filter(({state:t})=>t.path.length===e)}function gde(r,e){let t=e.filter(g=>g.selectedIndex!==null);if(t.length===0)throw new Error;let i=t.filter(g=>g.requiredOptions.every(f=>f.some(h=>g.options.find(p=>p.name===h))));if(i.length===0)throw new kg(r,t.map(g=>({usage:g.candidateUsage,reason:null})));let n=0;for(let g of i)g.path.length>n&&(n=g.path.length);let s=i.filter(g=>g.path.length===n),o=g=>g.positionals.filter(({extra:f})=>!f).length+g.options.length,a=s.map(g=>({state:g,positionalCount:o(g)})),l=0;for(let{positionalCount:g}of a)g>l&&(l=g);let c=a.filter(({positionalCount:g})=>g===l).map(({state:g})=>g),u=fde(c);if(u.length>1)throw new CI(r,u.map(g=>g.candidateUsage));return u[0]}function fde(r){let e=[],t=[];for(let i of r)i.selectedIndex===-1?t.push(i):e.push(i);return t.length>0&&e.push({...Z2,path:tH(...t.map(i=>i.path)),options:t.reduce((i,n)=>i.concat(n.options),[])}),e}function tH(r,e,...t){return e===void 0?Array.from(r):tH(r.filter((i,n)=>i===e[n]),...t)}function zi(){return{dynamics:[],shortcuts:[],statics:{}}}function rH(r){return r===1||r===2}function VS(r,e=0){return{to:rH(r.to)?r.to:r.to>2?r.to+e-2:r.to+e,reducer:r.reducer}}function hde(r,e=0){let t=zi();for(let[i,n]of r.dynamics)t.dynamics.push([i,VS(n,e)]);for(let i of r.shortcuts)t.shortcuts.push(VS(i,e));for(let[i,n]of Object.entries(r.statics))t.statics[i]=n.map(s=>VS(s,e));return t}function wi(r,e,t,i,n){r.nodes[e].dynamics.push([t,{to:i,reducer:n}])}function Rg(r,e,t,i){r.nodes[e].shortcuts.push({to:t,reducer:i})}function ma(r,e,t,i,n){(Object.prototype.hasOwnProperty.call(r.nodes[e].statics,t)?r.nodes[e].statics[t]:r.nodes[e].statics[t]=[]).push({to:i,reducer:n})}function II(r,e,t,i){if(Array.isArray(e)){let[n,...s]=e;return r[n](t,i,...s)}else return r[e](t,i)}function pde(r,e){let t=Array.isArray(r)?wI[r[0]]:wI[r];if(typeof t.suggest>\"u\")return null;let i=Array.isArray(r)?r.slice(1):[];return t.suggest(e,...i)}var wI={always:()=>!0,isOptionLike:(r,e)=>!r.ignoreOptions&&e!==\"-\"&&e.startsWith(\"-\"),isNotOptionLike:(r,e)=>r.ignoreOptions||e===\"-\"||!e.startsWith(\"-\"),isOption:(r,e,t,i)=>!r.ignoreOptions&&e===t,isBatchOption:(r,e,t)=>!r.ignoreOptions&&H2.test(e)&&[...e.slice(1)].every(i=>t.includes(`-${i}`)),isBoundOption:(r,e,t,i)=>{let n=e.match(GS);return!r.ignoreOptions&&!!n&&dI.test(n[1])&&t.includes(n[1])&&i.filter(s=>s.names.includes(n[1])).every(s=>s.allowBinding)},isNegatedOption:(r,e,t)=>!r.ignoreOptions&&e===`--no-${t.slice(2)}`,isHelp:(r,e)=>!r.ignoreOptions&&HS.test(e),isUnsupportedOption:(r,e,t)=>!r.ignoreOptions&&e.startsWith(\"-\")&&dI.test(e)&&!t.includes(e),isInvalidOption:(r,e)=>!r.ignoreOptions&&e.startsWith(\"-\")&&!dI.test(e)};wI.isOption.suggest=(r,e,t=!0)=>t?null:[e];var XS={setCandidateState:(r,e,t)=>({...r,...t}),setSelectedIndex:(r,e,t)=>({...r,selectedIndex:t}),pushBatch:(r,e)=>({...r,options:r.options.concat([...e.slice(1)].map(t=>({name:`-${t}`,value:!0})))}),pushBound:(r,e)=>{let[,t,i]=e.match(GS);return{...r,options:r.options.concat({name:t,value:i})}},pushPath:(r,e)=>({...r,path:r.path.concat(e)}),pushPositional:(r,e)=>({...r,positionals:r.positionals.concat({value:e,extra:!1})}),pushExtra:(r,e)=>({...r,positionals:r.positionals.concat({value:e,extra:!0})}),pushExtraNoLimits:(r,e)=>({...r,positionals:r.positionals.concat({value:e,extra:Mn})}),pushTrue:(r,e,t=e)=>({...r,options:r.options.concat({name:e,value:!0})}),pushFalse:(r,e,t=e)=>({...r,options:r.options.concat({name:t,value:!1})}),pushUndefined:(r,e)=>({...r,options:r.options.concat({name:e,value:void 0})}),pushStringValue:(r,e)=>{var t;let i={...r,options:[...r.options]},n=r.options[r.options.length-1];return n.value=((t=n.value)!==null&&t!==void 0?t:[]).concat([e]),i},setStringValue:(r,e)=>{let t={...r,options:[...r.options]},i=r.options[r.options.length-1];return i.value=e,t},inhibateOptions:r=>({...r,ignoreOptions:!0}),useHelp:(r,e,t)=>{let[,,i]=e.match(HS);return typeof i<\"u\"?{...r,options:[{name:\"-c\",value:String(t)},{name:\"-i\",value:i}]}:{...r,options:[{name:\"-c\",value:String(t)}]}},setError:(r,e,t)=>e===yi?{...r,errorMessage:`${t}.`}:{...r,errorMessage:`${t} (\"${e}\").`},setOptionArityError:(r,e)=>{let t=r.options[r.options.length-1];return{...r,errorMessage:`Not enough arguments to option ${t.name}.`}}},Mn=Symbol(),_S=class{constructor(e,t){this.allOptionNames=[],this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=t}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:t=this.arity.trailing,extra:i=this.arity.extra,proxy:n=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:t,extra:i,proxy:n})}addPositional({name:e=\"arg\",required:t=!0}={}){if(!t&&this.arity.extra===Mn)throw new Error(\"Optional parameters cannot be declared when using .rest() or .proxy()\");if(!t&&this.arity.trailing.length>0)throw new Error(\"Optional parameters cannot be declared after the required trailing positional arguments\");!t&&this.arity.extra!==Mn?this.arity.extra.push(e):this.arity.extra!==Mn&&this.arity.extra.length===0?this.arity.leading.push(e):this.arity.trailing.push(e)}addRest({name:e=\"arg\",required:t=0}={}){if(this.arity.extra===Mn)throw new Error(\"Infinite lists cannot be declared multiple times in the same command\");if(this.arity.trailing.length>0)throw new Error(\"Infinite lists cannot be declared after the required trailing positional arguments\");for(let i=0;i<t;++i)this.addPositional({name:e});this.arity.extra=Mn}addProxy({required:e=0}={}){this.addRest({required:e}),this.arity.proxy=!0}addOption({names:e,description:t,arity:i=0,hidden:n=!1,required:s=!1,allowBinding:o=!0}){if(!o&&i>1)throw new Error(\"The arity cannot be higher than 1 when the option only supports the --arg=value syntax\");if(!Number.isInteger(i))throw new Error(`The arity must be an integer, got ${i}`);if(i<0)throw new Error(`The arity must be positive, got ${i}`);this.allOptionNames.push(...e),this.options.push({names:e,description:t,arity:i,hidden:n,required:s,allowBinding:o})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:t=!0}={}){let i=[this.cliOpts.binaryName],n=[];if(this.paths.length>0&&i.push(...this.paths[0]),e){for(let{names:o,arity:a,hidden:l,description:c,required:u}of this.options){if(l)continue;let g=[];for(let h=0;h<a;++h)g.push(` #${h}`);let f=`${o.join(\",\")}${g.join(\"\")}`;!t&&c?n.push({definition:f,description:c,required:u}):i.push(u?`<${f}>`:`[${f}]`)}i.push(...this.arity.leading.map(o=>`<${o}>`)),this.arity.extra===Mn?i.push(\"...\"):i.push(...this.arity.extra.map(o=>`[${o}]`)),i.push(...this.arity.trailing.map(o=>`<${o}>`))}return{usage:i.join(\" \"),options:n}}compile(){if(typeof this.context>\"u\")throw new Error(\"Assertion failed: No context attached\");let e=$2(),t=0,i=this.usage().usage,n=this.options.filter(a=>a.required).map(a=>a.names);t=Js(e,zi()),ma(e,0,US,t,[\"setCandidateState\",{candidateUsage:i,requiredOptions:n}]);let s=this.arity.proxy?\"always\":\"isNotOptionLike\",o=this.paths.length>0?this.paths:[[]];for(let a of o){let l=t;if(a.length>0){let f=Js(e,zi());Rg(e,l,f),this.registerOptions(e,f),l=f}for(let f=0;f<a.length;++f){let h=Js(e,zi());ma(e,l,a[f],h,\"pushPath\"),l=h}if(this.arity.leading.length>0||!this.arity.proxy){let f=Js(e,zi());wi(e,l,\"isHelp\",f,[\"useHelp\",this.cliIndex]),ma(e,f,yi,1,[\"setSelectedIndex\",-1]),this.registerOptions(e,l)}this.arity.leading.length>0&&ma(e,l,yi,2,[\"setError\",\"Not enough positional arguments\"]);let c=l;for(let f=0;f<this.arity.leading.length;++f){let h=Js(e,zi());this.arity.proxy||this.registerOptions(e,h),(this.arity.trailing.length>0||f+1!==this.arity.leading.length)&&ma(e,h,yi,2,[\"setError\",\"Not enough positional arguments\"]),wi(e,c,\"isNotOptionLike\",h,\"pushPositional\"),c=h}let u=c;if(this.arity.extra===Mn||this.arity.extra.length>0){let f=Js(e,zi());if(Rg(e,c,f),this.arity.extra===Mn){let h=Js(e,zi());this.arity.proxy||this.registerOptions(e,h),wi(e,c,s,h,\"pushExtraNoLimits\"),wi(e,h,s,h,\"pushExtraNoLimits\"),Rg(e,h,f)}else for(let h=0;h<this.arity.extra.length;++h){let p=Js(e,zi());this.arity.proxy||this.registerOptions(e,p),wi(e,u,s,p,\"pushExtra\"),Rg(e,p,f),u=p}u=f}this.arity.trailing.length>0&&ma(e,u,yi,2,[\"setError\",\"Not enough positional arguments\"]);let g=u;for(let f=0;f<this.arity.trailing.length;++f){let h=Js(e,zi());this.arity.proxy||this.registerOptions(e,h),f+1<this.arity.trailing.length&&ma(e,h,yi,2,[\"setError\",\"Not enough positional arguments\"]),wi(e,g,\"isNotOptionLike\",h,\"pushPositional\"),g=h}wi(e,g,s,2,[\"setError\",\"Extraneous positional argument\"]),ma(e,g,yi,1,[\"setSelectedIndex\",this.cliIndex])}return{machine:e,context:this.context}}registerOptions(e,t){wi(e,t,[\"isOption\",\"--\"],t,\"inhibateOptions\"),wi(e,t,[\"isBatchOption\",this.allOptionNames],t,\"pushBatch\"),wi(e,t,[\"isBoundOption\",this.allOptionNames,this.options],t,\"pushBound\"),wi(e,t,[\"isUnsupportedOption\",this.allOptionNames],2,[\"setError\",\"Unsupported option name\"]),wi(e,t,[\"isInvalidOption\"],2,[\"setError\",\"Invalid option name\"]);for(let i of this.options){let n=i.names.reduce((s,o)=>o.length>s.length?o:s,\"\");if(i.arity===0)for(let s of i.names)wi(e,t,[\"isOption\",s,i.hidden||s!==n],t,\"pushTrue\"),s.startsWith(\"--\")&&!s.startsWith(\"--no-\")&&wi(e,t,[\"isNegatedOption\",s],t,[\"pushFalse\",s]);else{let s=Js(e,zi());for(let o of i.names)wi(e,t,[\"isOption\",o,i.hidden||o!==n],s,\"pushUndefined\");for(let o=0;o<i.arity;++o){let a=Js(e,zi());ma(e,s,yi,2,\"setOptionArityError\"),wi(e,s,\"isOptionLike\",2,\"setOptionArityError\");let l=i.arity===1?\"setStringValue\":\"pushStringValue\";wi(e,s,\"isNotOptionLike\",a,l),s=a}Rg(e,s,t)}}}},Ng=class{constructor({binaryName:e=\"...\"}={}){this.builders=[],this.opts={binaryName:e}}static build(e,t={}){return new Ng(t).commands(e).compile()}getBuilderByIndex(e){if(!(e>=0&&e<this.builders.length))throw new Error(`Assertion failed: Out-of-bound command index (${e})`);return this.builders[e]}commands(e){for(let t of e)t(this.command());return this}command(){let e=new _S(this.builders.length,this.opts);return this.builders.push(e),e}compile(){let e=[],t=[];for(let n of this.builders){let{machine:s,context:o}=n.compile();e.push(s),t.push(o)}let i=sde(e);return ode(i),{machine:i,contexts:t,process:n=>cde(i,n),suggest:(n,s)=>lde(i,n,s)}}};var Lg=class extends ve{constructor(e){super(),this.contexts=e,this.commands=[]}static from(e,t){let i=new Lg(t);i.path=e.path;for(let n of e.options)switch(n.name){case\"-c\":i.commands.push(Number(n.value));break;case\"-i\":i.index=Number(n.value);break}return i}async execute(){let e=this.commands;if(typeof this.index<\"u\"&&this.index>=0&&this.index<e.length&&(e=[e[this.index]]),e.length===0)this.context.stdout.write(this.cli.usage());else if(e.length===1)this.context.stdout.write(this.cli.usage(this.contexts[e[0]].commandClass,{detailed:!0}));else if(e.length>1){this.context.stdout.write(`Multiple commands match your selection:\n`),this.context.stdout.write(`\n`);let t=0;for(let i of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[i].commandClass,{prefix:`${t++}. `.padStart(5)}));this.context.stdout.write(`\n`),this.context.stdout.write(`Run again with -h=<index> to see the longer details of any of those commands.\n`)}}};var iH=Symbol(\"clipanion/errorCommand\");function dde(){return process.env.FORCE_COLOR===\"0\"?1:process.env.FORCE_COLOR===\"1\"||typeof process.stdout<\"u\"&&process.stdout.isTTY?8:1}var Kn=class{constructor({binaryLabel:e,binaryName:t=\"...\",binaryVersion:i,enableCapture:n=!1,enableColors:s}={}){this.registrations=new Map,this.builder=new Ng({binaryName:t}),this.binaryLabel=e,this.binaryName=t,this.binaryVersion=i,this.enableCapture=n,this.enableColors=s}static from(e,t={}){let i=new Kn(t);for(let n of e)i.register(n);return i}register(e){var t;let i=new Map,n=new e;for(let l in n){let c=n[l];typeof c==\"object\"&&c!==null&&c[ve.isOption]&&i.set(l,c)}let s=this.builder.command(),o=s.cliIndex,a=(t=e.paths)!==null&&t!==void 0?t:n.paths;if(typeof a<\"u\")for(let l of a)s.addPath(l);this.registrations.set(e,{specs:i,builder:s,index:o});for(let[l,{definition:c}]of i.entries())c(s,l);s.setContext({commandClass:e})}process(e){let{contexts:t,process:i}=this.builder.compile(),n=i(e);switch(n.selectedIndex){case-1:return Lg.from(n,t);default:{let{commandClass:s}=t[n.selectedIndex],o=this.registrations.get(s);if(typeof o>\"u\")throw new Error(\"Assertion failed: Expected the command class to have been registered.\");let a=new s;a.path=n.path;try{for(let[l,{transformer:c}]of o.specs.entries())a[l]=c(o.builder,l,n);return a}catch(l){throw l[iH]=a,l}}break}}async run(e,t){var i;let n,s={...Kn.defaultContext,...t},o=(i=this.enableColors)!==null&&i!==void 0?i:s.colorDepth>1;if(!Array.isArray(e))n=e;else try{n=this.process(e)}catch(c){return s.stdout.write(this.error(c,{colored:o})),1}if(n.help)return s.stdout.write(this.usage(n,{colored:o,detailed:!0})),0;n.context=s,n.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableCapture:this.enableCapture,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(c,u)=>this.error(c,u),format:c=>this.format(c),process:c=>this.process(c),run:(c,u)=>this.run(c,{...s,...u}),usage:(c,u)=>this.usage(c,u)};let a=this.enableCapture?Cde(s):sH,l;try{l=await a(()=>n.validateAndExecute().catch(c=>n.catch(c).then(()=>0)))}catch(c){return s.stdout.write(this.error(c,{colored:o,command:n})),1}return l}async runExit(e,t){process.exitCode=await this.run(e,t)}suggest(e,t){let{suggest:i}=this.builder.compile();return i(e,t)}definitions({colored:e=!1}={}){let t=[];for(let[i,{index:n}]of this.registrations){if(typeof i.usage>\"u\")continue;let{usage:s}=this.getUsageByIndex(n,{detailed:!1}),{usage:o,options:a}=this.getUsageByIndex(n,{detailed:!0,inlineOptions:!1}),l=typeof i.usage.category<\"u\"?Ni(i.usage.category,{format:this.format(e),paragraphs:!1}):void 0,c=typeof i.usage.description<\"u\"?Ni(i.usage.description,{format:this.format(e),paragraphs:!1}):void 0,u=typeof i.usage.details<\"u\"?Ni(i.usage.details,{format:this.format(e),paragraphs:!0}):void 0,g=typeof i.usage.examples<\"u\"?i.usage.examples.map(([f,h])=>[Ni(f,{format:this.format(e),paragraphs:!1}),h.replace(/\\$0/g,this.binaryName)]):void 0;t.push({path:s,usage:o,category:l,description:c,details:u,examples:g,options:a})}return t}usage(e=null,{colored:t,detailed:i=!1,prefix:n=\"$ \"}={}){var s;if(e===null){for(let l of this.registrations.keys()){let c=l.paths,u=typeof l.usage<\"u\";if(!c||c.length===0||c.length===1&&c[0].length===0||((s=c==null?void 0:c.some(h=>h.length===0))!==null&&s!==void 0?s:!1))if(e){e=null;break}else e=l;else if(u){e=null;continue}}e&&(i=!0)}let o=e!==null&&e instanceof ve?e.constructor:e,a=\"\";if(o)if(i){let{description:l=\"\",details:c=\"\",examples:u=[]}=o.usage||{};l!==\"\"&&(a+=Ni(l,{format:this.format(t),paragraphs:!1}).replace(/^./,h=>h.toUpperCase()),a+=`\n`),(c!==\"\"||u.length>0)&&(a+=`${this.format(t).header(\"Usage\")}\n`,a+=`\n`);let{usage:g,options:f}=this.getUsageByRegistration(o,{inlineOptions:!1});if(a+=`${this.format(t).bold(n)}${g}\n`,f.length>0){a+=`\n`,a+=`${zS.header(\"Options\")}\n`;let h=f.reduce((p,C)=>Math.max(p,C.definition.length),0);a+=`\n`;for(let{definition:p,description:C}of f)a+=`  ${this.format(t).bold(p.padEnd(h))}    ${Ni(C,{format:this.format(t),paragraphs:!1})}`}if(c!==\"\"&&(a+=`\n`,a+=`${this.format(t).header(\"Details\")}\n`,a+=`\n`,a+=Ni(c,{format:this.format(t),paragraphs:!0})),u.length>0){a+=`\n`,a+=`${this.format(t).header(\"Examples\")}\n`;for(let[h,p]of u)a+=`\n`,a+=Ni(h,{format:this.format(t),paragraphs:!1}),a+=`${p.replace(/^/m,`  ${this.format(t).bold(n)}`).replace(/\\$0/g,this.binaryName)}\n`}}else{let{usage:l}=this.getUsageByRegistration(o);a+=`${this.format(t).bold(n)}${l}\n`}else{let l=new Map;for(let[f,{index:h}]of this.registrations.entries()){if(typeof f.usage>\"u\")continue;let p=typeof f.usage.category<\"u\"?Ni(f.usage.category,{format:this.format(t),paragraphs:!1}):null,C=l.get(p);typeof C>\"u\"&&l.set(p,C=[]);let{usage:y}=this.getUsageByIndex(h);C.push({commandClass:f,usage:y})}let c=Array.from(l.keys()).sort((f,h)=>f===null?-1:h===null?1:f.localeCompare(h,\"en\",{usage:\"sort\",caseFirst:\"upper\"})),u=typeof this.binaryLabel<\"u\",g=typeof this.binaryVersion<\"u\";u||g?(u&&g?a+=`${this.format(t).header(`${this.binaryLabel} - ${this.binaryVersion}`)}\n\n`:u?a+=`${this.format(t).header(`${this.binaryLabel}`)}\n`:a+=`${this.format(t).header(`${this.binaryVersion}`)}\n`,a+=`  ${this.format(t).bold(n)}${this.binaryName} <command>\n`):a+=`${this.format(t).bold(n)}${this.binaryName} <command>\n`;for(let f of c){let h=l.get(f).slice().sort((C,y)=>C.usage.localeCompare(y.usage,\"en\",{usage:\"sort\",caseFirst:\"upper\"})),p=f!==null?f.trim():\"General commands\";a+=`\n`,a+=`${this.format(t).header(`${p}`)}\n`;for(let{commandClass:C,usage:y}of h){let B=C.usage.description||\"undocumented\";a+=`\n`,a+=`  ${this.format(t).bold(y)}\n`,a+=`    ${Ni(B,{format:this.format(t),paragraphs:!1})}`}}a+=`\n`,a+=Ni(\"You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.\",{format:this.format(t),paragraphs:!0})}return a}error(e,t){var i,{colored:n,command:s=(i=e[iH])!==null&&i!==void 0?i:null}=t===void 0?{}:t;e instanceof Error||(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let o=\"\",a=e.name.replace(/([a-z])([A-Z])/g,\"$1 $2\");a===\"Error\"&&(a=\"Internal Error\"),o+=`${this.format(n).error(a)}: ${e.message}\n`;let l=e.clipanion;return typeof l<\"u\"?l.type===\"usage\"&&(o+=`\n`,o+=this.usage(s)):e.stack&&(o+=`${e.stack.replace(/^.*\\n/,\"\")}\n`),o}format(e){var t;return((t=e!=null?e:this.enableColors)!==null&&t!==void 0?t:Kn.defaultContext.colorDepth>1)?zS:_2}getUsageByRegistration(e,t){let i=this.registrations.get(e);if(typeof i>\"u\")throw new Error(\"Assertion failed: Unregistered command\");return this.getUsageByIndex(i.index,t)}getUsageByIndex(e,t){return this.builder.getBuilderByIndex(e).usage(t)}};Kn.defaultContext={stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,colorDepth:\"getColorDepth\"in ZS.default.WriteStream.prototype?ZS.default.WriteStream.prototype.getColorDepth():dde()};var nH;function Cde(r){let e=nH;if(typeof e>\"u\"){if(r.stdout===process.stdout&&r.stderr===process.stderr)return sH;let{AsyncLocalStorage:t}=J(\"async_hooks\");e=nH=new t;let i=process.stdout._write;process.stdout._write=function(s,o,a){let l=e.getStore();return typeof l>\"u\"?i.call(this,s,o,a):l.stdout.write(s,o,a)};let n=process.stderr._write;process.stderr._write=function(s,o,a){let l=e.getStore();return typeof l>\"u\"?n.call(this,s,o,a):l.stderr.write(s,o,a)}}return t=>e.run(r,t)}function sH(r){return r()}var $S={};ut($S,{DefinitionsCommand:()=>Xp,HelpCommand:()=>_p,VersionCommand:()=>Zp});var Xp=class extends ve{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)}\n`)}};Xp.paths=[[\"--clipanion=definitions\"]];var _p=class extends ve{async execute(){this.context.stdout.write(this.cli.usage())}};_p.paths=[[\"-h\"],[\"--help\"]];var Zp=class extends ve{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:\"<unknown>\"}\n`)}};Zp.paths=[[\"-v\"],[\"--version\"]];var z={};ut(z,{Array:()=>oH,Boolean:()=>aH,Counter:()=>AH,Proxy:()=>lH,Rest:()=>cH,String:()=>uH,applyValidator:()=>Jp,cleanValidationError:()=>mI,formatError:()=>qp,isOptionSymbol:()=>jp,makeCommandOption:()=>Ji,rerouteArguments:()=>bo});function oH(r,e,t){let[i,n]=bo(e,t!=null?t:{}),{arity:s=1}=n,o=r.split(\",\"),a=new Set(o);return Ji({definition(l){l.addOption({names:o,arity:s,hidden:n==null?void 0:n.hidden,description:n==null?void 0:n.description,required:n.required})},transformer(l,c,u){let g=typeof i<\"u\"?[...i]:void 0;for(let{name:f,value:h}of u.options)!a.has(f)||(g=g!=null?g:[],g.push(h));return g}})}function aH(r,e,t){let[i,n]=bo(e,t!=null?t:{}),s=r.split(\",\"),o=new Set(s);return Ji({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u=f);return u}})}function AH(r,e,t){let[i,n]=bo(e,t!=null?t:{}),s=r.split(\",\"),o=new Set(s);return Ji({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u!=null||(u=0),f?u+=1:u=0);return u}})}function lH(r={}){return Ji({definition(e,t){var i;e.addProxy({name:(i=r.name)!==null&&i!==void 0?i:t,required:r.required})},transformer(e,t,i){return i.positionals.map(({value:n})=>n)}})}function cH(r={}){return Ji({definition(e,t){var i;e.addRest({name:(i=r.name)!==null&&i!==void 0?i:t,required:r.required})},transformer(e,t,i){let n=o=>{let a=i.positionals[o];return a.extra===Mn||a.extra===!1&&o<e.arity.leading.length},s=0;for(;s<i.positionals.length&&n(s);)s+=1;return i.positionals.splice(0,s).map(({value:o})=>o)}})}function mde(r,e,t){let[i,n]=bo(e,t!=null?t:{}),{arity:s=1}=n,o=r.split(\",\"),a=new Set(o);return Ji({definition(l){l.addOption({names:o,arity:n.tolerateBoolean?0:s,hidden:n.hidden,description:n.description,required:n.required})},transformer(l,c,u){let g,f=i;for(let{name:h,value:p}of u.options)!a.has(h)||(g=h,f=p);return typeof f==\"string\"?Jp(g!=null?g:c,f,n.validator):f}})}function Ede(r={}){let{required:e=!0}=r;return Ji({definition(t,i){var n;t.addPositional({name:(n=r.name)!==null&&n!==void 0?n:i,required:r.required})},transformer(t,i,n){var s;for(let o=0;o<n.positionals.length;++o){if(n.positionals[o].extra===Mn||e&&n.positionals[o].extra===!0||!e&&n.positionals[o].extra===!1)continue;let[a]=n.positionals.splice(o,1);return Jp((s=r.name)!==null&&s!==void 0?s:i,a.value,r.validator)}}})}function uH(r,...e){return typeof r==\"string\"?mde(r,...e):Ede(r)}var G8=Pe(Tg()),GD=J(\"stream\");var Ct=(se=>(se[se.UNNAMED=0]=\"UNNAMED\",se[se.EXCEPTION=1]=\"EXCEPTION\",se[se.MISSING_PEER_DEPENDENCY=2]=\"MISSING_PEER_DEPENDENCY\",se[se.CYCLIC_DEPENDENCIES=3]=\"CYCLIC_DEPENDENCIES\",se[se.DISABLED_BUILD_SCRIPTS=4]=\"DISABLED_BUILD_SCRIPTS\",se[se.BUILD_DISABLED=5]=\"BUILD_DISABLED\",se[se.SOFT_LINK_BUILD=6]=\"SOFT_LINK_BUILD\",se[se.MUST_BUILD=7]=\"MUST_BUILD\",se[se.MUST_REBUILD=8]=\"MUST_REBUILD\",se[se.BUILD_FAILED=9]=\"BUILD_FAILED\",se[se.RESOLVER_NOT_FOUND=10]=\"RESOLVER_NOT_FOUND\",se[se.FETCHER_NOT_FOUND=11]=\"FETCHER_NOT_FOUND\",se[se.LINKER_NOT_FOUND=12]=\"LINKER_NOT_FOUND\",se[se.FETCH_NOT_CACHED=13]=\"FETCH_NOT_CACHED\",se[se.YARN_IMPORT_FAILED=14]=\"YARN_IMPORT_FAILED\",se[se.REMOTE_INVALID=15]=\"REMOTE_INVALID\",se[se.REMOTE_NOT_FOUND=16]=\"REMOTE_NOT_FOUND\",se[se.RESOLUTION_PACK=17]=\"RESOLUTION_PACK\",se[se.CACHE_CHECKSUM_MISMATCH=18]=\"CACHE_CHECKSUM_MISMATCH\",se[se.UNUSED_CACHE_ENTRY=19]=\"UNUSED_CACHE_ENTRY\",se[se.MISSING_LOCKFILE_ENTRY=20]=\"MISSING_LOCKFILE_ENTRY\",se[se.WORKSPACE_NOT_FOUND=21]=\"WORKSPACE_NOT_FOUND\",se[se.TOO_MANY_MATCHING_WORKSPACES=22]=\"TOO_MANY_MATCHING_WORKSPACES\",se[se.CONSTRAINTS_MISSING_DEPENDENCY=23]=\"CONSTRAINTS_MISSING_DEPENDENCY\",se[se.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]=\"CONSTRAINTS_INCOMPATIBLE_DEPENDENCY\",se[se.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]=\"CONSTRAINTS_EXTRANEOUS_DEPENDENCY\",se[se.CONSTRAINTS_INVALID_DEPENDENCY=26]=\"CONSTRAINTS_INVALID_DEPENDENCY\",se[se.CANT_SUGGEST_RESOLUTIONS=27]=\"CANT_SUGGEST_RESOLUTIONS\",se[se.FROZEN_LOCKFILE_EXCEPTION=28]=\"FROZEN_LOCKFILE_EXCEPTION\",se[se.CROSS_DRIVE_VIRTUAL_LOCAL=29]=\"CROSS_DRIVE_VIRTUAL_LOCAL\",se[se.FETCH_FAILED=30]=\"FETCH_FAILED\",se[se.DANGEROUS_NODE_MODULES=31]=\"DANGEROUS_NODE_MODULES\",se[se.NODE_GYP_INJECTED=32]=\"NODE_GYP_INJECTED\",se[se.AUTHENTICATION_NOT_FOUND=33]=\"AUTHENTICATION_NOT_FOUND\",se[se.INVALID_CONFIGURATION_KEY=34]=\"INVALID_CONFIGURATION_KEY\",se[se.NETWORK_ERROR=35]=\"NETWORK_ERROR\",se[se.LIFECYCLE_SCRIPT=36]=\"LIFECYCLE_SCRIPT\",se[se.CONSTRAINTS_MISSING_FIELD=37]=\"CONSTRAINTS_MISSING_FIELD\",se[se.CONSTRAINTS_INCOMPATIBLE_FIELD=38]=\"CONSTRAINTS_INCOMPATIBLE_FIELD\",se[se.CONSTRAINTS_EXTRANEOUS_FIELD=39]=\"CONSTRAINTS_EXTRANEOUS_FIELD\",se[se.CONSTRAINTS_INVALID_FIELD=40]=\"CONSTRAINTS_INVALID_FIELD\",se[se.AUTHENTICATION_INVALID=41]=\"AUTHENTICATION_INVALID\",se[se.PROLOG_UNKNOWN_ERROR=42]=\"PROLOG_UNKNOWN_ERROR\",se[se.PROLOG_SYNTAX_ERROR=43]=\"PROLOG_SYNTAX_ERROR\",se[se.PROLOG_EXISTENCE_ERROR=44]=\"PROLOG_EXISTENCE_ERROR\",se[se.STACK_OVERFLOW_RESOLUTION=45]=\"STACK_OVERFLOW_RESOLUTION\",se[se.AUTOMERGE_FAILED_TO_PARSE=46]=\"AUTOMERGE_FAILED_TO_PARSE\",se[se.AUTOMERGE_IMMUTABLE=47]=\"AUTOMERGE_IMMUTABLE\",se[se.AUTOMERGE_SUCCESS=48]=\"AUTOMERGE_SUCCESS\",se[se.AUTOMERGE_REQUIRED=49]=\"AUTOMERGE_REQUIRED\",se[se.DEPRECATED_CLI_SETTINGS=50]=\"DEPRECATED_CLI_SETTINGS\",se[se.PLUGIN_NAME_NOT_FOUND=51]=\"PLUGIN_NAME_NOT_FOUND\",se[se.INVALID_PLUGIN_REFERENCE=52]=\"INVALID_PLUGIN_REFERENCE\",se[se.CONSTRAINTS_AMBIGUITY=53]=\"CONSTRAINTS_AMBIGUITY\",se[se.CACHE_OUTSIDE_PROJECT=54]=\"CACHE_OUTSIDE_PROJECT\",se[se.IMMUTABLE_INSTALL=55]=\"IMMUTABLE_INSTALL\",se[se.IMMUTABLE_CACHE=56]=\"IMMUTABLE_CACHE\",se[se.INVALID_MANIFEST=57]=\"INVALID_MANIFEST\",se[se.PACKAGE_PREPARATION_FAILED=58]=\"PACKAGE_PREPARATION_FAILED\",se[se.INVALID_RANGE_PEER_DEPENDENCY=59]=\"INVALID_RANGE_PEER_DEPENDENCY\",se[se.INCOMPATIBLE_PEER_DEPENDENCY=60]=\"INCOMPATIBLE_PEER_DEPENDENCY\",se[se.DEPRECATED_PACKAGE=61]=\"DEPRECATED_PACKAGE\",se[se.INCOMPATIBLE_OS=62]=\"INCOMPATIBLE_OS\",se[se.INCOMPATIBLE_CPU=63]=\"INCOMPATIBLE_CPU\",se[se.FROZEN_ARTIFACT_EXCEPTION=64]=\"FROZEN_ARTIFACT_EXCEPTION\",se[se.TELEMETRY_NOTICE=65]=\"TELEMETRY_NOTICE\",se[se.PATCH_HUNK_FAILED=66]=\"PATCH_HUNK_FAILED\",se[se.INVALID_CONFIGURATION_VALUE=67]=\"INVALID_CONFIGURATION_VALUE\",se[se.UNUSED_PACKAGE_EXTENSION=68]=\"UNUSED_PACKAGE_EXTENSION\",se[se.REDUNDANT_PACKAGE_EXTENSION=69]=\"REDUNDANT_PACKAGE_EXTENSION\",se[se.AUTO_NM_SUCCESS=70]=\"AUTO_NM_SUCCESS\",se[se.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK=71]=\"NM_CANT_INSTALL_EXTERNAL_SOFT_LINK\",se[se.NM_PRESERVE_SYMLINKS_REQUIRED=72]=\"NM_PRESERVE_SYMLINKS_REQUIRED\",se[se.UPDATE_LOCKFILE_ONLY_SKIP_LINK=73]=\"UPDATE_LOCKFILE_ONLY_SKIP_LINK\",se[se.NM_HARDLINKS_MODE_DOWNGRADED=74]=\"NM_HARDLINKS_MODE_DOWNGRADED\",se[se.PROLOG_INSTANTIATION_ERROR=75]=\"PROLOG_INSTANTIATION_ERROR\",se[se.INCOMPATIBLE_ARCHITECTURE=76]=\"INCOMPATIBLE_ARCHITECTURE\",se[se.GHOST_ARCHITECTURE=77]=\"GHOST_ARCHITECTURE\",se[se.PROLOG_LIMIT_EXCEEDED=79]=\"PROLOG_LIMIT_EXCEEDED\",se))(Ct||{});function QA(r){return`YN${r.toString(10).padStart(4,\"0\")}`}function QI(r){let e=Number(r.slice(2));if(typeof Ct[e]>\"u\")throw new Error(`Unknown message name: \"${r}\"`);return e}var P={};ut(P,{areDescriptorsEqual:()=>V4,areIdentsEqual:()=>zd,areLocatorsEqual:()=>Vd,areVirtualPackagesEquivalent:()=>jbe,bindDescriptor:()=>Gbe,bindLocator:()=>Ybe,convertDescriptorToLocator:()=>fw,convertLocatorToDescriptor:()=>bD,convertPackageToLocator:()=>Hbe,convertToIdent:()=>Ube,convertToManifestRange:()=>Wbe,copyPackage:()=>qd,devirtualizeDescriptor:()=>Jd,devirtualizeLocator:()=>Wd,getIdentVendorPath:()=>PD,isPackageCompatible:()=>mw,isVirtualDescriptor:()=>OA,isVirtualLocator:()=>Uo,makeDescriptor:()=>Zt,makeIdent:()=>Ho,makeLocator:()=>$i,makeRange:()=>pw,parseDescriptor:()=>MA,parseFileStyleRange:()=>qbe,parseIdent:()=>_i,parseLocator:()=>Cc,parseRange:()=>Cf,prettyDependent:()=>Gx,prettyDescriptor:()=>tr,prettyIdent:()=>Ai,prettyLocator:()=>mt,prettyLocatorNoColors:()=>xD,prettyRange:()=>Cw,prettyReference:()=>_d,prettyResolution:()=>Hx,prettyWorkspace:()=>Zd,renamePackage:()=>jd,slugifyIdent:()=>QD,slugifyLocator:()=>mf,sortDescriptors:()=>Ef,stringifyDescriptor:()=>Qn,stringifyIdent:()=>Ot,stringifyLocator:()=>hs,tryParseDescriptor:()=>Xd,tryParseIdent:()=>X4,tryParseLocator:()=>hw,virtualizeDescriptor:()=>SD,virtualizePackage:()=>vD});var df=Pe(J(\"querystring\")),J4=Pe(Xr()),W4=Pe(Uq());var ee={};ut(ee,{LogLevel:()=>Oy,Style:()=>Tx,Type:()=>Ue,addLogFilterSupport:()=>Kd,applyColor:()=>Bn,applyHyperlink:()=>cf,applyStyle:()=>Ty,json:()=>cc,jsonOrPretty:()=>wBe,mark:()=>Ux,pretty:()=>Ze,prettyField:()=>Oo,prettyList:()=>Kx,supportsColor:()=>Ly,supportsHyperlinks:()=>Mx,tuple:()=>eo});var Md=Pe(ax()),Od=Pe(Vl());var MW=Pe(yn()),KW=Pe(vW());var Ie={};ut(Ie,{AsyncActions:()=>Sx,BufferStream:()=>bx,CachingStrategy:()=>TW,DefaultStream:()=>vx,allSettledSafe:()=>$s,assertNever:()=>Px,bufferStream:()=>af,buildIgnorePattern:()=>mBe,convertMapsToIndexableObjects:()=>Fy,dynamicRequire:()=>Af,escapeRegExp:()=>gBe,getArrayWithDefault:()=>nf,getFactoryWithDefault:()=>xa,getMapWithDefault:()=>sf,getSetWithDefault:()=>lc,isIndexableObject:()=>Qx,isPathLike:()=>EBe,isTaggedYarnVersion:()=>uBe,mapAndFilter:()=>To,mapAndFind:()=>Ld,overrideType:()=>fBe,parseBoolean:()=>Td,parseOptionalBoolean:()=>OW,prettifyAsyncErrors:()=>of,prettifySyncErrors:()=>Dx,releaseAfterUseAsync:()=>pBe,replaceEnvVariables:()=>kx,sortMap:()=>wn,tryParseOptionalBoolean:()=>Rx,validateEnum:()=>hBe});var PW=Pe(yn()),DW=Pe(Tg()),kW=Pe(Xr()),xx=J(\"stream\");function uBe(r){return!!(kW.default.valid(r)&&r.match(/^[^-]+(-rc\\.[0-9]+)?$/))}function gBe(r){return r.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\")}function fBe(r){}function Px(r){throw new Error(`Assertion failed: Unexpected object '${r}'`)}function hBe(r,e){let t=Object.values(r);if(!t.includes(e))throw new be(`Invalid value for enumeration: ${JSON.stringify(e)} (expected one of ${t.map(i=>JSON.stringify(i)).join(\", \")})`);return e}function To(r,e){let t=[];for(let i of r){let n=e(i);n!==RW&&t.push(n)}return t}var RW=Symbol();To.skip=RW;function Ld(r,e){for(let t of r){let i=e(t);if(i!==FW)return i}}var FW=Symbol();Ld.skip=FW;function Qx(r){return typeof r==\"object\"&&r!==null}async function $s(r){let e=await Promise.allSettled(r),t=[];for(let i of e){if(i.status===\"rejected\")throw i.reason;t.push(i.value)}return t}function Fy(r){if(r instanceof Map&&(r=Object.fromEntries(r)),Qx(r))for(let e of Object.keys(r)){let t=r[e];Qx(t)&&(r[e]=Fy(t))}return r}function xa(r,e,t){let i=r.get(e);return typeof i>\"u\"&&r.set(e,i=t()),i}function nf(r,e){let t=r.get(e);return typeof t>\"u\"&&r.set(e,t=[]),t}function lc(r,e){let t=r.get(e);return typeof t>\"u\"&&r.set(e,t=new Set),t}function sf(r,e){let t=r.get(e);return typeof t>\"u\"&&r.set(e,t=new Map),t}async function pBe(r,e){if(e==null)return await r();try{return await r()}finally{await e()}}async function of(r,e){try{return await r()}catch(t){throw t.message=e(t.message),t}}function Dx(r,e){try{return r()}catch(t){throw t.message=e(t.message),t}}async function af(r){return await new Promise((e,t)=>{let i=[];r.on(\"error\",n=>{t(n)}),r.on(\"data\",n=>{i.push(n)}),r.on(\"end\",()=>{e(Buffer.concat(i))})})}var bx=class extends xx.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(t,i,n){if(i!==\"buffer\"||!Buffer.isBuffer(t))throw new Error(\"Assertion failed: BufferStream only accept buffers\");this.chunks.push(t),n(null,null)}_flush(t){t(null,Buffer.concat(this.chunks))}};function dBe(){let r,e;return{promise:new Promise((i,n)=>{r=i,e=n}),resolve:r,reject:e}}var Sx=class{constructor(e){this.deferred=new Map;this.promises=new Map;this.limit=(0,DW.default)(e)}set(e,t){let i=this.deferred.get(e);typeof i>\"u\"&&this.deferred.set(e,i=dBe());let n=this.limit(()=>t());return this.promises.set(e,n),n.then(()=>{this.promises.get(e)===n&&i.resolve()},s=>{this.promises.get(e)===n&&i.reject(s)}),i.promise}reduce(e,t){var n;let i=(n=this.promises.get(e))!=null?n:Promise.resolve();this.set(e,()=>t(i))}async wait(){await Promise.all(this.promises.values())}},vx=class extends xx.Transform{constructor(t=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=t}_transform(t,i,n){if(i!==\"buffer\"||!Buffer.isBuffer(t))throw new Error(\"Assertion failed: DefaultStream only accept buffers\");this.active=!1,n(null,t)}_flush(t){this.active&&this.ifEmpty.length>0?t(null,this.ifEmpty):t(null)}},Nd=eval(\"require\");function NW(r){return Nd(K.fromPortablePath(r))}function LW(path){let physicalPath=K.fromPortablePath(path),currentCacheEntry=Nd.cache[physicalPath];delete Nd.cache[physicalPath];let result;try{result=NW(physicalPath);let freshCacheEntry=Nd.cache[physicalPath],dynamicModule=eval(\"module\"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{Nd.cache[physicalPath]=currentCacheEntry}return result}var xW=new Map;function CBe(r){let e=xW.get(r),t=M.statSync(r);if((e==null?void 0:e.mtime)===t.mtimeMs)return e.instance;let i=LW(r);return xW.set(r,{mtime:t.mtimeMs,instance:i}),i}var TW=(i=>(i[i.NoCache=0]=\"NoCache\",i[i.FsTime=1]=\"FsTime\",i[i.Node=2]=\"Node\",i))(TW||{});function Af(r,{cachingStrategy:e=2}={}){switch(e){case 0:return LW(r);case 1:return CBe(r);case 2:return NW(r);default:throw new Error(\"Unsupported caching strategy\")}}function wn(r,e){let t=Array.from(r);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(t.map(o=>s(o)));let n=t.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]<a[o]?-1:a[s]>a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>t[s])}function mBe(r){return r.length===0?null:r.map(e=>`(${PW.default.makeRe(e,{windows:!1,dot:!0}).source})`).join(\"|\")}function kx(r,{env:e}){let t=/\\${(?<variableName>[\\d\\w_]+)(?<colon>:)?(?:-(?<fallback>[^}]*))?}/g;return r.replace(t,(...i)=>{let{variableName:n,colon:s,fallback:o}=i[i.length-1],a=Object.prototype.hasOwnProperty.call(e,n),l=e[n];if(l||a&&!s)return l;if(o!=null)return o;throw new be(`Environment variable not found (${n})`)})}function Td(r){switch(r){case\"true\":case\"1\":case 1:case!0:return!0;case\"false\":case\"0\":case 0:case!1:return!1;default:throw new Error(`Couldn't parse \"${r}\" as a boolean`)}}function OW(r){return typeof r>\"u\"?r:Td(r)}function Rx(r){try{return OW(r)}catch{return null}}function EBe(r){return!!(K.isAbsolute(r)||r.match(/^(\\.{1,2}|~)\\//))}var lf=(t=>(t.HARD=\"HARD\",t.SOFT=\"SOFT\",t))(lf||{}),Fx=(i=>(i.Dependency=\"Dependency\",i.PeerDependency=\"PeerDependency\",i.PeerDependencyMeta=\"PeerDependencyMeta\",i))(Fx||{}),Nx=(i=>(i.Inactive=\"inactive\",i.Redundant=\"redundant\",i.Active=\"active\",i))(Nx||{});var Ue={NO_HINT:\"NO_HINT\",NULL:\"NULL\",SCOPE:\"SCOPE\",NAME:\"NAME\",RANGE:\"RANGE\",REFERENCE:\"REFERENCE\",NUMBER:\"NUMBER\",PATH:\"PATH\",URL:\"URL\",ADDED:\"ADDED\",REMOVED:\"REMOVED\",CODE:\"CODE\",DURATION:\"DURATION\",SIZE:\"SIZE\",IDENT:\"IDENT\",DESCRIPTOR:\"DESCRIPTOR\",LOCATOR:\"LOCATOR\",RESOLUTION:\"RESOLUTION\",DEPENDENT:\"DEPENDENT\",PACKAGE_EXTENSION:\"PACKAGE_EXTENSION\",SETTING:\"SETTING\",MARKDOWN:\"MARKDOWN\"},Tx=(e=>(e[e.BOLD=2]=\"BOLD\",e))(Tx||{}),Ox=Od.default.GITHUB_ACTIONS?{level:2}:Md.default.supportsColor?{level:Md.default.supportsColor.level}:{level:0},Ly=Ox.level!==0,Mx=Ly&&!Od.default.GITHUB_ACTIONS&&!Od.default.CIRCLE&&!Od.default.GITLAB,Lx=new Md.default.Instance(Ox),IBe=new Map([[Ue.NO_HINT,null],[Ue.NULL,[\"#a853b5\",129]],[Ue.SCOPE,[\"#d75f00\",166]],[Ue.NAME,[\"#d7875f\",173]],[Ue.RANGE,[\"#00afaf\",37]],[Ue.REFERENCE,[\"#87afff\",111]],[Ue.NUMBER,[\"#ffd700\",220]],[Ue.PATH,[\"#d75fd7\",170]],[Ue.URL,[\"#d75fd7\",170]],[Ue.ADDED,[\"#5faf00\",70]],[Ue.REMOVED,[\"#d70000\",160]],[Ue.CODE,[\"#87afff\",111]],[Ue.SIZE,[\"#ffd700\",220]]]),fs=r=>r,Ny={[Ue.NUMBER]:fs({pretty:(r,e)=>Bn(r,`${e}`,Ue.NUMBER),json:r=>r}),[Ue.IDENT]:fs({pretty:(r,e)=>Ai(r,e),json:r=>Ot(r)}),[Ue.LOCATOR]:fs({pretty:(r,e)=>mt(r,e),json:r=>hs(r)}),[Ue.DESCRIPTOR]:fs({pretty:(r,e)=>tr(r,e),json:r=>Qn(r)}),[Ue.RESOLUTION]:fs({pretty:(r,{descriptor:e,locator:t})=>Hx(r,e,t),json:({descriptor:r,locator:e})=>({descriptor:Qn(r),locator:e!==null?hs(e):null})}),[Ue.DEPENDENT]:fs({pretty:(r,{locator:e,descriptor:t})=>Gx(r,e,t),json:({locator:r,descriptor:e})=>({locator:hs(r),descriptor:Qn(e)})}),[Ue.PACKAGE_EXTENSION]:fs({pretty:(r,e)=>{switch(e.type){case\"Dependency\":return`${Ai(r,e.parentDescriptor)} \\u27A4 ${Bn(r,\"dependencies\",Ue.CODE)} \\u27A4 ${Ai(r,e.descriptor)}`;case\"PeerDependency\":return`${Ai(r,e.parentDescriptor)} \\u27A4 ${Bn(r,\"peerDependencies\",Ue.CODE)} \\u27A4 ${Ai(r,e.descriptor)}`;case\"PeerDependencyMeta\":return`${Ai(r,e.parentDescriptor)} \\u27A4 ${Bn(r,\"peerDependenciesMeta\",Ue.CODE)} \\u27A4 ${Ai(r,_i(e.selector))} \\u27A4 ${Bn(r,e.key,Ue.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:r=>{switch(r.type){case\"Dependency\":return`${Ot(r.parentDescriptor)} > ${Ot(r.descriptor)}`;case\"PeerDependency\":return`${Ot(r.parentDescriptor)} >> ${Ot(r.descriptor)}`;case\"PeerDependencyMeta\":return`${Ot(r.parentDescriptor)} >> ${r.selector} / ${r.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${r.type}`)}}}),[Ue.SETTING]:fs({pretty:(r,e)=>(r.get(e),cf(r,Bn(r,e,Ue.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:r=>r}),[Ue.DURATION]:fs({pretty:(r,e)=>{if(e>1e3*60){let t=Math.floor(e/1e3/60),i=Math.ceil((e-t*60*1e3)/1e3);return i===0?`${t}m`:`${t}m ${i}s`}else{let t=Math.floor(e/1e3),i=e-t*1e3;return i===0?`${t}s`:`${t}s ${i}ms`}},json:r=>r}),[Ue.SIZE]:fs({pretty:(r,e)=>{let t=[\"KB\",\"MB\",\"GB\",\"TB\"],i=t.length;for(;i>1&&e<1024**i;)i-=1;let n=1024**i,s=Math.floor(e*100/n)/100;return Bn(r,`${s} ${t[i-1]}`,Ue.NUMBER)},json:r=>r}),[Ue.PATH]:fs({pretty:(r,e)=>Bn(r,K.fromPortablePath(e),Ue.PATH),json:r=>K.fromPortablePath(r)}),[Ue.MARKDOWN]:fs({pretty:(r,{text:e,format:t,paragraphs:i})=>Ni(e,{format:t,paragraphs:i}),json:({text:r})=>r})};function eo(r,e){return[e,r]}function Ty(r,e,t){return r.get(\"enableColors\")&&t&2&&(e=Md.default.bold(e)),e}function Bn(r,e,t){if(!r.get(\"enableColors\"))return e;let i=IBe.get(t);if(i===null)return e;let n=typeof i>\"u\"?t:Ox.level>=3?i[0]:i[1],s=typeof n==\"number\"?Lx.ansi256(n):n.startsWith(\"#\")?Lx.hex(n):Lx[n];if(typeof s!=\"function\")throw new Error(`Invalid format type ${n}`);return s(e)}var yBe=!!process.env.KONSOLE_VERSION;function cf(r,e,t){return r.get(\"enableHyperlinks\")?yBe?`\\x1B]8;;${t}\\x1B\\\\${e}\\x1B]8;;\\x1B\\\\`:`\\x1B]8;;${t}\\x07${e}\\x1B]8;;\\x07`:e}function Ze(r,e,t){if(e===null)return Bn(r,\"null\",Ue.NULL);if(Object.prototype.hasOwnProperty.call(Ny,t))return Ny[t].pretty(r,e);if(typeof e!=\"string\")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return Bn(r,e,t)}function Kx(r,e,t,{separator:i=\", \"}={}){return[...e].map(n=>Ze(r,n,t)).join(i)}function cc(r,e){if(r===null)return null;if(Object.prototype.hasOwnProperty.call(Ny,e))return Ny[e].json(r);if(typeof r!=\"string\")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof r}`);return r}function wBe(r,e,[t,i]){return r?cc(t,i):Ze(e,t,i)}function Ux(r){return{Check:Bn(r,\"\\u2713\",\"green\"),Cross:Bn(r,\"\\u2718\",\"red\"),Question:Bn(r,\"?\",\"cyan\")}}function Oo(r,{label:e,value:[t,i]}){return`${Ze(r,e,Ue.CODE)}: ${Ze(r,t,i)}`}var Oy=(n=>(n.Error=\"error\",n.Warning=\"warning\",n.Info=\"info\",n.Discard=\"discard\",n))(Oy||{});function Kd(r,{configuration:e}){let t=e.get(\"logFilters\"),i=new Map,n=new Map,s=[];for(let g of t){let f=g.get(\"level\");if(typeof f>\"u\")continue;let h=g.get(\"code\");typeof h<\"u\"&&i.set(h,f);let p=g.get(\"text\");typeof p<\"u\"&&n.set(p,f);let C=g.get(\"pattern\");typeof C<\"u\"&&s.push([MW.default.matcher(C,{contains:!0}),f])}s.reverse();let o=(g,f,h)=>{if(g===null||g===0)return h;let p=n.size>0||s.length>0?(0,KW.default)(f):f;if(n.size>0){let C=n.get(p);if(typeof C<\"u\")return C!=null?C:h}if(s.length>0){for(let[C,y]of s)if(C(p))return y!=null?y:h}if(i.size>0){let C=i.get(QA(g));if(typeof C<\"u\")return C!=null?C:h}return h},a=r.reportInfo,l=r.reportWarning,c=r.reportError,u=function(g,f,h,p){switch(o(f,h,p)){case\"info\":a.call(g,f,h);break;case\"warning\":l.call(g,f!=null?f:0,h);break;case\"error\":c.call(g,f!=null?f:0,h);break}};r.reportInfo=function(...g){return u(this,...g,\"info\")},r.reportWarning=function(...g){return u(this,...g,\"warning\")},r.reportError=function(...g){return u(this,...g,\"error\")}}var li={};ut(li,{checksumFile:()=>uw,checksumPattern:()=>gw,makeHash:()=>Zi});var cw=J(\"crypto\"),BD=Pe(wD());function Zi(...r){let e=(0,cw.createHash)(\"sha512\"),t=\"\";for(let i of r)typeof i==\"string\"?t+=i:i&&(t&&(e.update(t),t=\"\"),e.update(i));return t&&e.update(t),e.digest(\"hex\")}async function uw(r,{baseFs:e,algorithm:t}={baseFs:M,algorithm:\"sha512\"}){let i=await e.openPromise(r,\"r\");try{let s=Buffer.allocUnsafeSlow(65536),o=(0,cw.createHash)(t),a=0;for(;(a=await e.readPromise(i,s,0,65536))!==0;)o.update(a===65536?s:s.slice(0,a));return o.digest(\"hex\")}finally{await e.closePromise(i)}}async function gw(r,{cwd:e}){let i=(await(0,BD.default)(r,{cwd:K.fromPortablePath(e),expandDirectories:!1,onlyDirectories:!0,unique:!0})).map(a=>`${a}/**/*`),n=await(0,BD.default)([r,...i],{cwd:K.fromPortablePath(e),expandDirectories:!1,onlyFiles:!1,unique:!0});n.sort();let s=await Promise.all(n.map(async a=>{let l=[Buffer.from(a)],c=K.toPortablePath(a),u=await M.lstatPromise(c);return u.isSymbolicLink()?l.push(Buffer.from(await M.readlinkPromise(c))):u.isFile()&&l.push(await M.readFilePromise(c)),l.join(\"\\0\")})),o=(0,cw.createHash)(\"sha512\");for(let a of s)o.update(a);return o.digest(\"hex\")}var Yd=\"virtual:\",Mbe=5,z4=/(os|cpu|libc)=([a-z0-9_-]+)/,Kbe=(0,W4.makeParser)(z4);function Ho(r,e){if(r!=null&&r.startsWith(\"@\"))throw new Error(\"Invalid scope: don't prefix it with '@'\");return{identHash:Zi(r,e),scope:r,name:e}}function Zt(r,e){return{identHash:r.identHash,scope:r.scope,name:r.name,descriptorHash:Zi(r.identHash,e),range:e}}function $i(r,e){return{identHash:r.identHash,scope:r.scope,name:r.name,locatorHash:Zi(r.identHash,e),reference:e}}function Ube(r){return{identHash:r.identHash,scope:r.scope,name:r.name}}function fw(r){return{identHash:r.identHash,scope:r.scope,name:r.name,locatorHash:r.descriptorHash,reference:r.range}}function bD(r){return{identHash:r.identHash,scope:r.scope,name:r.name,descriptorHash:r.locatorHash,range:r.reference}}function Hbe(r){return{identHash:r.identHash,scope:r.scope,name:r.name,locatorHash:r.locatorHash,reference:r.reference}}function jd(r,e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference,version:r.version,languageName:r.languageName,linkType:r.linkType,conditions:r.conditions,dependencies:new Map(r.dependencies),peerDependencies:new Map(r.peerDependencies),dependenciesMeta:new Map(r.dependenciesMeta),peerDependenciesMeta:new Map(r.peerDependenciesMeta),bin:new Map(r.bin)}}function qd(r){return jd(r,r)}function SD(r,e){if(e.includes(\"#\"))throw new Error(\"Invalid entropy\");return Zt(r,`virtual:${e}#${r.range}`)}function vD(r,e){if(e.includes(\"#\"))throw new Error(\"Invalid entropy\");return jd(r,$i(r,`virtual:${e}#${r.reference}`))}function OA(r){return r.range.startsWith(Yd)}function Uo(r){return r.reference.startsWith(Yd)}function Jd(r){if(!OA(r))throw new Error(\"Not a virtual descriptor\");return Zt(r,r.range.replace(/^[^#]*#/,\"\"))}function Wd(r){if(!Uo(r))throw new Error(\"Not a virtual descriptor\");return $i(r,r.reference.replace(/^[^#]*#/,\"\"))}function Gbe(r,e){return r.range.includes(\"::\")?r:Zt(r,`${r.range}::${df.default.stringify(e)}`)}function Ybe(r,e){return r.reference.includes(\"::\")?r:$i(r,`${r.reference}::${df.default.stringify(e)}`)}function zd(r,e){return r.identHash===e.identHash}function V4(r,e){return r.descriptorHash===e.descriptorHash}function Vd(r,e){return r.locatorHash===e.locatorHash}function jbe(r,e){if(!Uo(r))throw new Error(\"Invalid package type\");if(!Uo(e))throw new Error(\"Invalid package type\");if(!zd(r,e)||r.dependencies.size!==e.dependencies.size)return!1;for(let t of r.dependencies.values()){let i=e.dependencies.get(t.identHash);if(!i||!V4(t,i))return!1}return!0}function _i(r){let e=X4(r);if(!e)throw new Error(`Invalid ident (${r})`);return e}function X4(r){let e=r.match(/^(?:@([^/]+?)\\/)?([^/]+)$/);if(!e)return null;let[,t,i]=e;return Ho(typeof t<\"u\"?t:null,i)}function MA(r,e=!1){let t=Xd(r,e);if(!t)throw new Error(`Invalid descriptor (${r})`);return t}function Xd(r,e=!1){let t=e?r.match(/^(?:@([^/]+?)\\/)?([^/]+?)(?:@(.+))$/):r.match(/^(?:@([^/]+?)\\/)?([^/]+?)(?:@(.+))?$/);if(!t)return null;let[,i,n,s]=t;if(s===\"unknown\")throw new Error(`Invalid range (${r})`);let o=typeof i<\"u\"?i:null,a=typeof s<\"u\"?s:\"unknown\";return Zt(Ho(o,n),a)}function Cc(r,e=!1){let t=hw(r,e);if(!t)throw new Error(`Invalid locator (${r})`);return t}function hw(r,e=!1){let t=e?r.match(/^(?:@([^/]+?)\\/)?([^/]+?)(?:@(.+))$/):r.match(/^(?:@([^/]+?)\\/)?([^/]+?)(?:@(.+))?$/);if(!t)return null;let[,i,n,s]=t;if(s===\"unknown\")throw new Error(`Invalid reference (${r})`);let o=typeof i<\"u\"?i:null,a=typeof s<\"u\"?s:\"unknown\";return $i(Ho(o,n),a)}function Cf(r,e){let t=r.match(/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/);if(t===null)throw new Error(`Invalid range (${r})`);let i=typeof t[1]<\"u\"?t[1]:null;if(typeof(e==null?void 0:e.requireProtocol)==\"string\"&&i!==e.requireProtocol)throw new Error(`Invalid protocol (${i})`);if((e==null?void 0:e.requireProtocol)&&i===null)throw new Error(`Missing protocol (${i})`);let n=typeof t[3]<\"u\"?decodeURIComponent(t[2]):null;if((e==null?void 0:e.requireSource)&&n===null)throw new Error(`Missing source (${r})`);let s=typeof t[3]<\"u\"?decodeURIComponent(t[3]):decodeURIComponent(t[2]),o=e!=null&&e.parseSelector?df.default.parse(s):s,a=typeof t[4]<\"u\"?df.default.parse(t[4]):null;return{protocol:i,source:n,selector:o,params:a}}function qbe(r,{protocol:e}){let{selector:t,params:i}=Cf(r,{requireProtocol:e,requireBindings:!0});if(typeof i.locator!=\"string\")throw new Error(`Assertion failed: Invalid bindings for ${r}`);return{parentLocator:Cc(i.locator,!0),path:t}}function q4(r){return r=r.replace(/%/g,\"%25\"),r=r.replace(/:/g,\"%3A\"),r=r.replace(/#/g,\"%23\"),r}function Jbe(r){return r===null?!1:Object.entries(r).length>0}function pw({protocol:r,source:e,selector:t,params:i}){let n=\"\";return r!==null&&(n+=`${r}`),e!==null&&(n+=`${q4(e)}#`),n+=q4(t),Jbe(i)&&(n+=`::${df.default.stringify(i)}`),n}function Wbe(r){let{params:e,protocol:t,source:i,selector:n}=Cf(r);for(let s in e)s.startsWith(\"__\")&&delete e[s];return pw({protocol:t,source:i,params:e,selector:n})}function Ot(r){return r.scope?`@${r.scope}/${r.name}`:`${r.name}`}function Qn(r){return r.scope?`@${r.scope}/${r.name}@${r.range}`:`${r.name}@${r.range}`}function hs(r){return r.scope?`@${r.scope}/${r.name}@${r.reference}`:`${r.name}@${r.reference}`}function QD(r){return r.scope!==null?`@${r.scope}-${r.name}`:r.name}function mf(r){let{protocol:e,selector:t}=Cf(r.reference),i=e!==null?e.replace(/:$/,\"\"):\"exotic\",n=J4.default.valid(t),s=n!==null?`${i}-${n}`:`${i}`,o=10,a=r.scope?`${QD(r)}-${s}-${r.locatorHash.slice(0,o)}`:`${QD(r)}-${s}-${r.locatorHash.slice(0,o)}`;return Ur(a)}function Ai(r,e){return e.scope?`${Ze(r,`@${e.scope}/`,Ue.SCOPE)}${Ze(r,e.name,Ue.NAME)}`:`${Ze(r,e.name,Ue.NAME)}`}function dw(r){if(r.startsWith(Yd)){let e=dw(r.substring(r.indexOf(\"#\")+1)),t=r.substring(Yd.length,Yd.length+Mbe);return`${e} [${t}]`}else return r.replace(/\\?.*/,\"?[...]\")}function Cw(r,e){return`${Ze(r,dw(e),Ue.RANGE)}`}function tr(r,e){return`${Ai(r,e)}${Ze(r,\"@\",Ue.RANGE)}${Cw(r,e.range)}`}function _d(r,e){return`${Ze(r,dw(e),Ue.REFERENCE)}`}function mt(r,e){return`${Ai(r,e)}${Ze(r,\"@\",Ue.REFERENCE)}${_d(r,e.reference)}`}function xD(r){return`${Ot(r)}@${dw(r.reference)}`}function Ef(r){return wn(r,[e=>Ot(e),e=>e.range])}function Zd(r,e){return Ai(r,e.locator)}function Hx(r,e,t){let i=OA(e)?Jd(e):e;return t===null?`${tr(r,i)} \\u2192 ${Ux(r).Cross}`:i.identHash===t.identHash?`${tr(r,i)} \\u2192 ${_d(r,t.reference)}`:`${tr(r,i)} \\u2192 ${mt(r,t)}`}function Gx(r,e,t){return t===null?`${mt(r,e)}`:`${mt(r,e)} (via ${Cw(r,t.range)})`}function PD(r){return`node_modules/${Ot(r)}`}function mw(r,e){return r.conditions?Kbe(r.conditions,t=>{let[,i,n]=t.match(z4),s=e[i];return s?s.includes(n):!0}):!0}var _4={hooks:{reduceDependency:(r,e,t,i,{resolver:n,resolveOptions:s})=>{for(let{pattern:o,reference:a}of e.topLevelWorkspace.manifest.resolutions){if(o.from&&o.from.fullName!==Ot(t)||o.from&&o.from.description&&o.from.description!==t.reference||o.descriptor.fullName!==Ot(r)||o.descriptor.description&&o.descriptor.description!==r.range)continue;return n.bindDescriptor(Zt(r,a),e.topLevelWorkspace.anchoredLocator,s)}return r},validateProject:async(r,e)=>{for(let t of r.workspaces){let i=Zd(r.configuration,t);await r.configuration.triggerHook(n=>n.validateWorkspace,t,{reportWarning:(n,s)=>e.reportWarning(n,`${i}: ${s}`),reportError:(n,s)=>e.reportError(n,`${i}: ${s}`)})}},validateWorkspace:async(r,e)=>{let{manifest:t}=r;t.resolutions.length&&r.cwd!==r.project.cwd&&t.errors.push(new Error(\"Resolutions field will be ignored\"));for(let i of t.errors)e.reportWarning(57,i.message)}}};var n8=Pe(Xr());var $d=class{supportsDescriptor(e,t){return!!(e.range.startsWith($d.protocol)||t.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,t){return!!e.reference.startsWith($d.protocol)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){return[i.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,t,i){return null}async resolve(e,t){let i=t.project.getWorkspaceByCwd(e.reference.slice($d.protocol.length));return{...e,version:i.manifest.version||\"0.0.0\",languageName:\"unknown\",linkType:\"SOFT\",conditions:null,dependencies:new Map([...i.manifest.dependencies,...i.manifest.devDependencies]),peerDependencies:new Map([...i.manifest.peerDependencies]),dependenciesMeta:i.manifest.dependenciesMeta,peerDependenciesMeta:i.manifest.peerDependenciesMeta,bin:i.manifest.bin}}},jr=$d;jr.protocol=\"workspace:\";var vt={};ut(vt,{SemVer:()=>e8.SemVer,clean:()=>Vbe,satisfiesWithPrereleases:()=>mc,validRange:()=>to});var Ew=Pe(Xr()),e8=Pe(Xr()),Z4=new Map;function mc(r,e,t=!1){if(!r)return!1;let i=`${e}${t}`,n=Z4.get(i);if(typeof n>\"u\")try{n=new Ew.default.Range(e,{includePrerelease:!0,loose:t})}catch{return!1}finally{Z4.set(i,n||null)}else if(n===null)return!1;let s;try{s=new Ew.default.SemVer(r,n)}catch{return!1}return n.test(s)?!0:(s.prerelease&&(s.prerelease=[]),n.set.some(o=>{for(let a of o)a.semver.prerelease&&(a.semver.prerelease=[]);return o.every(a=>a.test(s))}))}var $4=new Map;function to(r){if(r.indexOf(\":\")!==-1)return null;let e=$4.get(r);if(typeof e<\"u\")return e;try{e=new Ew.default.Range(r)}catch{e=null}return $4.set(r,e),e}var zbe=/^(?:[\\sv=]*?)((0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)(?:\\s*)$/;function Vbe(r){let e=zbe.exec(r);return e?e[1]:null}var KA=class{constructor(){this.indent=\"  \";this.name=null;this.version=null;this.os=null;this.cpu=null;this.libc=null;this.type=null;this.packageManager=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static async tryFind(e,{baseFs:t=new $t}={}){let i=x.join(e,\"package.json\");try{return await KA.fromFile(i,{baseFs:t})}catch(n){if(n.code===\"ENOENT\")return null;throw n}}static async find(e,{baseFs:t}={}){let i=await KA.tryFind(e,{baseFs:t});if(i===null)throw new Error(\"Manifest not found\");return i}static async fromFile(e,{baseFs:t=new $t}={}){let i=new KA;return await i.loadFile(e,{baseFs:t}),i}static fromText(e){let t=new KA;return t.loadFromText(e),t}static isManifestFieldCompatible(e,t){if(e===null)return!0;let i=!0,n=!1;for(let s of e)if(s[0]===\"!\"){if(n=!0,t===s.slice(1))return!1}else if(i=!1,s===t)return!0;return n&&i}loadFromText(e){let t;try{t=JSON.parse(r8(e)||\"{}\")}catch(i){throw i.message+=` (when parsing ${e})`,i}this.load(t),this.indent=t8(e)}async loadFile(e,{baseFs:t=new $t}){let i=await t.readFilePromise(e,\"utf8\"),n;try{n=JSON.parse(r8(i)||\"{}\")}catch(s){throw s.message+=` (when parsing ${e})`,s}this.load(n),this.indent=t8(i)}load(e,{yamlCompatibilityMode:t=!1}={}){if(typeof e!=\"object\"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let i=[];if(this.name=null,typeof e.name==\"string\")try{this.name=_i(e.name)}catch{i.push(new Error(\"Parsing failed for the 'name' field\"))}if(typeof e.version==\"string\"?this.version=e.version:this.version=null,Array.isArray(e.os)){let s=[];this.os=s;for(let o of e.os)typeof o!=\"string\"?i.push(new Error(\"Parsing failed for the 'os' field\")):s.push(o)}else this.os=null;if(Array.isArray(e.cpu)){let s=[];this.cpu=s;for(let o of e.cpu)typeof o!=\"string\"?i.push(new Error(\"Parsing failed for the 'cpu' field\")):s.push(o)}else this.cpu=null;if(Array.isArray(e.libc)){let s=[];this.libc=s;for(let o of e.libc)typeof o!=\"string\"?i.push(new Error(\"Parsing failed for the 'libc' field\")):s.push(o)}else this.libc=null;if(typeof e.type==\"string\"?this.type=e.type:this.type=null,typeof e.packageManager==\"string\"?this.packageManager=e.packageManager:this.packageManager=null,typeof e.private==\"boolean\"?this.private=e.private:this.private=!1,typeof e.license==\"string\"?this.license=e.license:this.license=null,typeof e.languageName==\"string\"?this.languageName=e.languageName:this.languageName=null,typeof e.main==\"string\"?this.main=en(e.main):this.main=null,typeof e.module==\"string\"?this.module=en(e.module):this.module=null,e.browser!=null)if(typeof e.browser==\"string\")this.browser=en(e.browser);else{this.browser=new Map;for(let[s,o]of Object.entries(e.browser))this.browser.set(en(s),typeof o==\"string\"?en(o):o)}else this.browser=null;if(this.bin=new Map,typeof e.bin==\"string\")this.name!==null?this.bin.set(this.name.name,en(e.bin)):i.push(new Error(\"String bin field, but no attached package name\"));else if(typeof e.bin==\"object\"&&e.bin!==null)for(let[s,o]of Object.entries(e.bin)){if(typeof o!=\"string\"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}let a=_i(s);this.bin.set(a.name,en(o))}if(this.scripts=new Map,typeof e.scripts==\"object\"&&e.scripts!==null)for(let[s,o]of Object.entries(e.scripts)){if(typeof o!=\"string\"){i.push(new Error(`Invalid script definition for '${s}'`));continue}this.scripts.set(s,o)}if(this.dependencies=new Map,typeof e.dependencies==\"object\"&&e.dependencies!==null)for(let[s,o]of Object.entries(e.dependencies)){if(typeof o!=\"string\"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=_i(s)}catch{i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=Zt(a,o);this.dependencies.set(l.identHash,l)}if(this.devDependencies=new Map,typeof e.devDependencies==\"object\"&&e.devDependencies!==null)for(let[s,o]of Object.entries(e.devDependencies)){if(typeof o!=\"string\"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=_i(s)}catch{i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=Zt(a,o);this.devDependencies.set(l.identHash,l)}if(this.peerDependencies=new Map,typeof e.peerDependencies==\"object\"&&e.peerDependencies!==null)for(let[s,o]of Object.entries(e.peerDependencies)){let a;try{a=_i(s)}catch{i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}(typeof o!=\"string\"||!o.startsWith(jr.protocol)&&!to(o))&&(i.push(new Error(`Invalid dependency range for '${s}'`)),o=\"*\");let l=Zt(a,o);this.peerDependencies.set(l.identHash,l)}typeof e.workspaces==\"object\"&&e.workspaces!==null&&e.workspaces.nohoist&&i.push(new Error(\"'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead\"));let n=Array.isArray(e.workspaces)?e.workspaces:typeof e.workspaces==\"object\"&&e.workspaces!==null&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];this.workspaceDefinitions=[];for(let s of n){if(typeof s!=\"string\"){i.push(new Error(`Invalid workspace definition for '${s}'`));continue}this.workspaceDefinitions.push({pattern:s})}if(this.dependenciesMeta=new Map,typeof e.dependenciesMeta==\"object\"&&e.dependenciesMeta!==null)for(let[s,o]of Object.entries(e.dependenciesMeta)){if(typeof o!=\"object\"||o===null){i.push(new Error(`Invalid meta field for '${s}`));continue}let a=MA(s),l=this.ensureDependencyMeta(a),c=Iw(o.built,{yamlCompatibilityMode:t});if(c===null){i.push(new Error(`Invalid built meta field for '${s}'`));continue}let u=Iw(o.optional,{yamlCompatibilityMode:t});if(u===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}let g=Iw(o.unplugged,{yamlCompatibilityMode:t});if(g===null){i.push(new Error(`Invalid unplugged meta field for '${s}'`));continue}Object.assign(l,{built:c,optional:u,unplugged:g})}if(this.peerDependenciesMeta=new Map,typeof e.peerDependenciesMeta==\"object\"&&e.peerDependenciesMeta!==null)for(let[s,o]of Object.entries(e.peerDependenciesMeta)){if(typeof o!=\"object\"||o===null){i.push(new Error(`Invalid meta field for '${s}'`));continue}let a=MA(s),l=this.ensurePeerDependencyMeta(a),c=Iw(o.optional,{yamlCompatibilityMode:t});if(c===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}Object.assign(l,{optional:c})}if(this.resolutions=[],typeof e.resolutions==\"object\"&&e.resolutions!==null)for(let[s,o]of Object.entries(e.resolutions)){if(typeof o!=\"string\"){i.push(new Error(`Invalid resolution entry for '${s}'`));continue}try{this.resolutions.push({pattern:rI(s),reference:o})}catch(a){i.push(a);continue}}if(Array.isArray(e.files)){this.files=new Set;for(let s of e.files){if(typeof s!=\"string\"){i.push(new Error(`Invalid files entry for '${s}'`));continue}this.files.add(s)}}else this.files=null;if(typeof e.publishConfig==\"object\"&&e.publishConfig!==null){if(this.publishConfig={},typeof e.publishConfig.access==\"string\"&&(this.publishConfig.access=e.publishConfig.access),typeof e.publishConfig.main==\"string\"&&(this.publishConfig.main=en(e.publishConfig.main)),typeof e.publishConfig.module==\"string\"&&(this.publishConfig.module=en(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser==\"string\")this.publishConfig.browser=en(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[s,o]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set(en(s),typeof o==\"string\"?en(o):o)}if(typeof e.publishConfig.registry==\"string\"&&(this.publishConfig.registry=e.publishConfig.registry),typeof e.publishConfig.bin==\"string\")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,en(e.publishConfig.bin)]]):i.push(new Error(\"String bin field, but no attached package name\"));else if(typeof e.publishConfig.bin==\"object\"&&e.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[s,o]of Object.entries(e.publishConfig.bin)){if(typeof o!=\"string\"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}this.publishConfig.bin.set(s,en(o))}}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let s of e.publishConfig.executableFiles){if(typeof s!=\"string\"){i.push(new Error(\"Invalid executable file definition\"));continue}this.publishConfig.executableFiles.add(en(s))}}}else this.publishConfig=null;if(typeof e.installConfig==\"object\"&&e.installConfig!==null){this.installConfig={};for(let s of Object.keys(e.installConfig))s===\"hoistingLimits\"?typeof e.installConfig.hoistingLimits==\"string\"?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:i.push(new Error(\"Invalid hoisting limits definition\")):s==\"selfReferences\"?typeof e.installConfig.selfReferences==\"boolean\"?this.installConfig.selfReferences=e.installConfig.selfReferences:i.push(new Error(\"Invalid selfReferences definition, must be a boolean value\")):i.push(new Error(`Unrecognized installConfig key: ${s}`))}else this.installConfig=null;if(typeof e.optionalDependencies==\"object\"&&e.optionalDependencies!==null)for(let[s,o]of Object.entries(e.optionalDependencies)){if(typeof o!=\"string\"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=_i(s)}catch{i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=Zt(a,o);this.dependencies.set(l.identHash,l);let c=Zt(a,\"unknown\"),u=this.ensureDependencyMeta(c);Object.assign(u,{optional:!0})}typeof e.preferUnplugged==\"boolean\"?this.preferUnplugged=e.preferUnplugged:this.preferUnplugged=null,this.errors=i}getForScope(e){switch(e){case\"dependencies\":return this.dependencies;case\"devDependencies\":return this.devDependencies;case\"peerDependencies\":return this.peerDependencies;default:throw new Error(`Unsupported value (\"${e}\")`)}}hasConsumerDependency(e){return!!(this.dependencies.has(e.identHash)||this.peerDependencies.has(e.identHash))}hasHardDependency(e){return!!(this.dependencies.has(e.identHash)||this.devDependencies.has(e.identHash))}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!(this.hasHardDependency(e)||this.hasSoftDependency(e))}getConditions(){let e=[];return this.os&&this.os.length>0&&e.push(DD(\"os\",this.os)),this.cpu&&this.cpu.length>0&&e.push(DD(\"cpu\",this.cpu)),this.libc&&this.libc.length>0&&e.push(DD(\"libc\",this.libc)),e.length>0?e.join(\" & \"):null}isCompatibleWithOS(e){return KA.isManifestFieldCompatible(this.os,e)}isCompatibleWithCPU(e){return KA.isManifestFieldCompatible(this.cpu,e)}ensureDependencyMeta(e){if(e.range!==\"unknown\"&&!n8.default.valid(e.range))throw new Error(`Invalid meta field range for '${Qn(e)}'`);let t=Ot(e),i=e.range!==\"unknown\"?e.range:null,n=this.dependenciesMeta.get(t);n||this.dependenciesMeta.set(t,n=new Map);let s=n.get(i);return s||n.set(i,s={}),s}ensurePeerDependencyMeta(e){if(e.range!==\"unknown\")throw new Error(`Invalid meta field range for '${Qn(e)}'`);let t=Ot(e),i=this.peerDependenciesMeta.get(t);return i||this.peerDependenciesMeta.set(t,i={}),i}setRawField(e,t,{after:i=[]}={}){let n=new Set(i.filter(s=>Object.prototype.hasOwnProperty.call(this.raw,s)));if(n.size===0||Object.prototype.hasOwnProperty.call(this.raw,e))this.raw[e]=t;else{let s=this.raw,o=this.raw={},a=!1;for(let l of Object.keys(s))o[l]=s[l],a||(n.delete(l),n.size===0&&(o[e]=t,a=!0))}}exportTo(e,{compatibilityMode:t=!0}={}){var s;if(Object.assign(e,this.raw),this.name!==null?e.name=Ot(this.name):delete e.name,this.version!==null?e.version=this.version:delete e.version,this.os!==null?e.os=this.os:delete e.os,this.cpu!==null?e.cpu=this.cpu:delete e.cpu,this.type!==null?e.type=this.type:delete e.type,this.packageManager!==null?e.packageManager=this.packageManager:delete e.packageManager,this.private?e.private=!0:delete e.private,this.license!==null?e.license=this.license:delete e.license,this.languageName!==null?e.languageName=this.languageName:delete e.languageName,this.main!==null?e.main=this.main:delete e.main,this.module!==null?e.module=this.module:delete e.module,this.browser!==null){let o=this.browser;typeof o==\"string\"?e.browser=o:o instanceof Map&&(e.browser=Object.assign({},...Array.from(o.keys()).sort().map(a=>({[a]:o.get(a)}))))}else delete e.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(o=>({[o]:this.bin.get(o)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces={...this.raw.workspaces,packages:this.workspaceDefinitions.map(({pattern:o})=>o)}:e.workspaces=this.workspaceDefinitions.map(({pattern:o})=>o):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;let i=[],n=[];for(let o of this.dependencies.values()){let a=this.dependenciesMeta.get(Ot(o)),l=!1;if(t&&a){let c=a.get(null);c&&c.optional&&(l=!0)}l?n.push(o):i.push(o)}i.length>0?e.dependencies=Object.assign({},...Ef(i).map(o=>({[Ot(o)]:o.range}))):delete e.dependencies,n.length>0?e.optionalDependencies=Object.assign({},...Ef(n).map(o=>({[Ot(o)]:o.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...Ef(this.devDependencies.values()).map(o=>({[Ot(o)]:o.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...Ef(this.peerDependencies.values()).map(o=>({[Ot(o)]:o.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[o,a]of wn(this.dependenciesMeta.entries(),([l,c])=>l))for(let[l,c]of wn(a.entries(),([u,g])=>u!==null?`0${u}`:\"1\")){let u=l!==null?Qn(Zt(_i(o),l)):o,g={...c};t&&l===null&&delete g.optional,Object.keys(g).length!==0&&(e.dependenciesMeta[u]=g)}if(Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...wn(this.peerDependenciesMeta.entries(),([o,a])=>o).map(([o,a])=>({[o]:a}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:o,reference:a})=>({[iI(o)]:a}))):delete e.resolutions,this.files!==null?e.files=Array.from(this.files):delete e.files,this.preferUnplugged!==null?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,this.scripts!==null&&this.scripts.size>0){(s=e.scripts)!=null||(e.scripts={});for(let o of Object.keys(e.scripts))this.scripts.has(o)||delete e.scripts[o];for(let[o,a]of this.scripts.entries())e.scripts[o]=a}else delete e.scripts;return e}},ot=KA;ot.fileName=\"package.json\",ot.allDependencies=[\"dependencies\",\"devDependencies\",\"peerDependencies\"],ot.hardDependencies=[\"dependencies\",\"devDependencies\"];function t8(r){let e=r.match(/^[ \\t]+/m);return e?e[0]:\"  \"}function r8(r){return r.charCodeAt(0)===65279?r.slice(1):r}function en(r){return r.replace(/\\\\/g,\"/\")}function Iw(r,{yamlCompatibilityMode:e}){return e?Rx(r):typeof r>\"u\"||typeof r==\"boolean\"?r:null}function i8(r,e){let t=e.search(/[^!]/);if(t===-1)return\"invalid\";let i=t%2===0?\"\":\"!\",n=e.slice(t);return`${i}${r}=${n}`}function DD(r,e){return e.length===1?i8(r,e[0]):`(${e.map(t=>i8(r,t)).join(\" | \")})`}var L8=Pe(N8()),T8=J(\"stream\"),O8=J(\"string_decoder\");var GSe=15,at=class extends Error{constructor(t,i,n){super(i);this.reportExtra=n;this.reportCode=t}};function YSe(r){return typeof r.reportCode<\"u\"}var Si=class{constructor(){this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}static progressViaCounter(e){let t=0,i,n=new Promise(l=>{i=l}),s=l=>{let c=i;n=new Promise(u=>{i=u}),t=l,c()},o=(l=0)=>{s(t+1)},a=async function*(){for(;t<e;)await n,yield{progress:t/e}}();return{[Symbol.asyncIterator](){return a},hasProgress:!0,hasTitle:!1,set:s,tick:o}}static progressViaTitle(){let e,t,i=new Promise(o=>{t=o}),n=(0,L8.default)(o=>{let a=t;i=new Promise(l=>{t=l}),e=o,a()},1e3/GSe),s=async function*(){for(;;)await i,yield{title:e}}();return{[Symbol.asyncIterator](){return s},hasProgress:!1,hasTitle:!0,setTitle:n}}async startProgressPromise(e,t){let i=this.reportProgress(e);try{return await t(e)}finally{i.stop()}}startProgressSync(e,t){let i=this.reportProgress(e);try{return t(e)}finally{i.stop()}}reportInfoOnce(e,t,i){var s;let n=i&&i.key?i.key:t;this.reportedInfos.has(n)||(this.reportedInfos.add(n),this.reportInfo(e,t),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportWarningOnce(e,t,i){var s;let n=i&&i.key?i.key:t;this.reportedWarnings.has(n)||(this.reportedWarnings.add(n),this.reportWarning(e,t),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportErrorOnce(e,t,i){var s;let n=i&&i.key?i.key:t;this.reportedErrors.has(n)||(this.reportedErrors.add(n),this.reportError(e,t),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportExceptionOnce(e){YSe(e)?this.reportErrorOnce(e.reportCode,e.message,{key:e,reportExtra:e.reportExtra}):this.reportErrorOnce(1,e.stack||e.message,{key:e})}createStreamReporter(e=null){let t=new T8.PassThrough,i=new O8.StringDecoder,n=\"\";return t.on(\"data\",s=>{let o=i.write(s),a;do if(a=o.indexOf(`\n`),a!==-1){let l=n+o.substring(0,a);o=o.substring(a+1),n=\"\",e!==null?this.reportInfo(null,`${e} ${l}`):this.reportInfo(null,l)}while(a!==-1);n+=o}),t.on(\"end\",()=>{let s=i.end();s!==\"\"&&(e!==null?this.reportInfo(null,`${e} ${s}`):this.reportInfo(null,s))}),t}};var If=class{constructor(e){this.fetchers=e}supports(e,t){return!!this.tryFetcher(e,t)}getLocalPath(e,t){return this.getFetcher(e,t).getLocalPath(e,t)}async fetch(e,t){return await this.getFetcher(e,t).fetch(e,t)}tryFetcher(e,t){let i=this.fetchers.find(n=>n.supports(e,t));return i||null}getFetcher(e,t){let i=this.fetchers.find(n=>n.supports(e,t));if(!i)throw new at(11,`${mt(t.project.configuration,e)} isn't supported by any available fetcher`);return i}};var yf=class{constructor(e){this.resolvers=e.filter(t=>t)}supportsDescriptor(e,t){return!!this.tryResolverByDescriptor(e,t)}supportsLocator(e,t){return!!this.tryResolverByLocator(e,t)}shouldPersistResolution(e,t){return this.getResolverByLocator(e,t).shouldPersistResolution(e,t)}bindDescriptor(e,t,i){return this.getResolverByDescriptor(e,i).bindDescriptor(e,t,i)}getResolutionDependencies(e,t){return this.getResolverByDescriptor(e,t).getResolutionDependencies(e,t)}async getCandidates(e,t,i){return await this.getResolverByDescriptor(e,i).getCandidates(e,t,i)}async getSatisfying(e,t,i){return this.getResolverByDescriptor(e,i).getSatisfying(e,t,i)}async resolve(e,t){return await this.getResolverByLocator(e,t).resolve(e,t)}tryResolverByDescriptor(e,t){let i=this.resolvers.find(n=>n.supportsDescriptor(e,t));return i||null}getResolverByDescriptor(e,t){let i=this.resolvers.find(n=>n.supportsDescriptor(e,t));if(!i)throw new Error(`${tr(t.project.configuration,e)} isn't supported by any available resolver`);return i}tryResolverByLocator(e,t){let i=this.resolvers.find(n=>n.supportsLocator(e,t));return i||null}getResolverByLocator(e,t){let i=this.resolvers.find(n=>n.supportsLocator(e,t));if(!i)throw new Error(`${mt(t.project.configuration,e)} isn't supported by any available resolver`);return i}};var M8=Pe(Xr());var wf=/^(?!v)[a-z0-9._-]+$/i,yw=class{supportsDescriptor(e,t){return!!(to(e.range)||wf.test(e.range))}supportsLocator(e,t){return!!(M8.default.valid(e.reference)||wf.test(e.reference))}shouldPersistResolution(e,t){return t.resolver.shouldPersistResolution(this.forwardLocator(e,t),t)}bindDescriptor(e,t,i){return i.resolver.bindDescriptor(this.forwardDescriptor(e,i),t,i)}getResolutionDependencies(e,t){return t.resolver.getResolutionDependencies(this.forwardDescriptor(e,t),t)}async getCandidates(e,t,i){return await i.resolver.getCandidates(this.forwardDescriptor(e,i),t,i)}async getSatisfying(e,t,i){return await i.resolver.getSatisfying(this.forwardDescriptor(e,i),t,i)}async resolve(e,t){let i=await t.resolver.resolve(this.forwardLocator(e,t),t);return jd(i,e)}forwardDescriptor(e,t){return Zt(e,`${t.project.configuration.get(\"defaultProtocol\")}${e.range}`)}forwardLocator(e,t){return $i(e,`${t.project.configuration.get(\"defaultProtocol\")}${e.reference}`)}};var Bf=class{supports(e){return!!e.reference.startsWith(\"virtual:\")}getLocalPath(e,t){let i=e.reference.indexOf(\"#\");if(i===-1)throw new Error(\"Invalid virtual package reference\");let n=e.reference.slice(i+1),s=$i(e,n);return t.fetcher.getLocalPath(s,t)}async fetch(e,t){let i=e.reference.indexOf(\"#\");if(i===-1)throw new Error(\"Invalid virtual package reference\");let n=e.reference.slice(i+1),s=$i(e,n),o=await t.fetcher.fetch(s,t);return await this.ensureVirtualLink(e,o,t)}getLocatorFilename(e){return mf(e)}async ensureVirtualLink(e,t,i){let n=t.packageFs.getRealPath(),s=i.project.configuration.get(\"virtualFolder\"),o=this.getLocatorFilename(e),a=Br.makeVirtualPath(s,o,n),l=new yo(a,{baseFs:t.packageFs,pathUtils:x});return{...t,packageFs:l}}};var Qf=class{static isVirtualDescriptor(e){return!!e.range.startsWith(Qf.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(Qf.protocol)}supportsDescriptor(e,t){return Qf.isVirtualDescriptor(e)}supportsLocator(e,t){return Qf.isVirtualLocator(e)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){throw new Error('Assertion failed: calling \"bindDescriptor\" on a virtual descriptor is unsupported')}getResolutionDependencies(e,t){throw new Error('Assertion failed: calling \"getResolutionDependencies\" on a virtual descriptor is unsupported')}async getCandidates(e,t,i){throw new Error('Assertion failed: calling \"getCandidates\" on a virtual descriptor is unsupported')}async getSatisfying(e,t,i){throw new Error('Assertion failed: calling \"getSatisfying\" on a virtual descriptor is unsupported')}async resolve(e,t){throw new Error('Assertion failed: calling \"resolve\" on a virtual locator is unsupported')}},rC=Qf;rC.protocol=\"virtual:\";var bf=class{supports(e){return!!e.reference.startsWith(jr.protocol)}getLocalPath(e,t){return this.getWorkspace(e,t).cwd}async fetch(e,t){let i=this.getWorkspace(e,t).cwd;return{packageFs:new jt(i),prefixPath:Oe.dot,localPath:i}}getWorkspace(e,t){return t.project.getWorkspaceByCwd(e.reference.slice(jr.protocol.length))}};var ww={};ut(ww,{getDefaultGlobalFolder:()=>ND,getHomeFolder:()=>iC,isFolderInside:()=>LD});var FD=J(\"os\");function ND(){if(process.platform===\"win32\"){let r=K.toPortablePath(process.env.LOCALAPPDATA||K.join((0,FD.homedir)(),\"AppData\",\"Local\"));return x.resolve(r,\"Yarn/Berry\")}if(process.env.XDG_DATA_HOME){let r=K.toPortablePath(process.env.XDG_DATA_HOME);return x.resolve(r,\"yarn/berry\")}return x.resolve(iC(),\".yarn/berry\")}function iC(){return K.toPortablePath((0,FD.homedir)()||\"/usr/local/share\")}function LD(r,e){let t=x.relative(e,r);return t&&!t.startsWith(\"..\")&&!x.isAbsolute(t)}var Cs={};ut(Cs,{availableParallelism:()=>MD,builtinModules:()=>TD,getArchitecture:()=>nC,getArchitectureName:()=>JSe,getArchitectureSet:()=>OD,openUrl:()=>jSe});var U8=Pe(J(\"module\")),bw=Pe(J(\"os\"));var K8=new Map([[\"darwin\",\"open\"],[\"linux\",\"xdg-open\"],[\"win32\",\"explorer.exe\"]]).get(process.platform),jSe=typeof K8<\"u\"?async r=>{try{return await KD(K8,[r],{cwd:x.cwd()}),!0}catch{return!1}}:void 0;function TD(){return new Set(U8.default.builtinModules||Object.keys(process.binding(\"natives\")))}function qSe(){var i,n,s,o;if(process.platform===\"win32\")return null;let e=(s=((n=(i=process.report)==null?void 0:i.getReport())!=null?n:{}).sharedObjects)!=null?s:[],t=/\\/(?:(ld-linux-|[^/]+-linux-gnu\\/)|(libc.musl-|ld-musl-))/;return(o=Ld(e,a=>{let l=a.match(t);if(!l)return Ld.skip;if(l[1])return\"glibc\";if(l[2])return\"musl\";throw new Error(\"Assertion failed: Expected the libc variant to have been detected\")}))!=null?o:null}var Bw,Qw;function nC(){return Bw=Bw!=null?Bw:{os:process.platform,cpu:process.arch,libc:qSe()}}function JSe(r=nC()){return r.libc?`${r.os}-${r.cpu}-${r.libc}`:`${r.os}-${r.cpu}`}function OD(){let r=nC();return Qw=Qw!=null?Qw:{os:[r.os],cpu:[r.cpu],libc:r.libc?[r.libc]:[]}}function MD(){return\"availableParallelism\"in bw.default?bw.default.availableParallelism():Math.max(1,bw.default.cpus().length)}var WSe=new Set([\"isTestEnv\",\"injectNpmUser\",\"injectNpmPassword\",\"injectNpm2FaToken\",\"binFolder\",\"version\",\"flags\",\"profile\",\"gpg\",\"ignoreNode\",\"wrapOutput\",\"home\",\"confDir\"]),Pw=\"yarn_\",YD=\".yarnrc.yml\",jD=\"yarn.lock\",zSe=\"********\",qD=(u=>(u.ANY=\"ANY\",u.BOOLEAN=\"BOOLEAN\",u.ABSOLUTE_PATH=\"ABSOLUTE_PATH\",u.LOCATOR=\"LOCATOR\",u.LOCATOR_LOOSE=\"LOCATOR_LOOSE\",u.NUMBER=\"NUMBER\",u.STRING=\"STRING\",u.SECRET=\"SECRET\",u.SHAPE=\"SHAPE\",u.MAP=\"MAP\",u))(qD||{}),vi=Ue,UD={lastUpdateCheck:{description:\"Last timestamp we checked whether new Yarn versions were available\",type:\"STRING\",default:null},yarnPath:{description:\"Path to the local executable that must be used over the global one\",type:\"ABSOLUTE_PATH\",default:null},ignorePath:{description:\"If true, the local executable will be ignored when using the global one\",type:\"BOOLEAN\",default:!1},ignoreCwd:{description:\"If true, the `--cwd` flag will be ignored\",type:\"BOOLEAN\",default:!1},cacheKeyOverride:{description:\"A global cache key override; used only for test purposes\",type:\"STRING\",default:null},globalFolder:{description:\"Folder where all system-global files are stored\",type:\"ABSOLUTE_PATH\",default:ND()},cacheFolder:{description:\"Folder where the cache files must be written\",type:\"ABSOLUTE_PATH\",default:\"./.yarn/cache\"},compressionLevel:{description:\"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)\",type:\"NUMBER\",values:[\"mixed\",0,1,2,3,4,5,6,7,8,9],default:Ol},virtualFolder:{description:\"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)\",type:\"ABSOLUTE_PATH\",default:\"./.yarn/__virtual__\"},lockfileFilename:{description:\"Name of the files where the Yarn dependency tree entries must be stored\",type:\"STRING\",default:jD},installStatePath:{description:\"Path of the file where the install state will be persisted\",type:\"ABSOLUTE_PATH\",default:\"./.yarn/install-state.gz\"},immutablePatterns:{description:\"Array of glob patterns; files matching them won't be allowed to change during immutable installs\",type:\"STRING\",default:[],isArray:!0},rcFilename:{description:\"Name of the files where the configuration can be found\",type:\"STRING\",default:xw()},enableGlobalCache:{description:\"If true, the system-wide cache folder will be used regardless of `cache-folder`\",type:\"BOOLEAN\",default:!1},enableColors:{description:\"If true, the CLI is allowed to use colors in its output\",type:\"BOOLEAN\",default:Ly,defaultText:\"<dynamic>\"},enableHyperlinks:{description:\"If true, the CLI is allowed to use hyperlinks in its output\",type:\"BOOLEAN\",default:Mx,defaultText:\"<dynamic>\"},enableInlineBuilds:{description:\"If true, the CLI will print the build output on the command line\",type:\"BOOLEAN\",default:Sw.isCI,defaultText:\"<dynamic>\"},enableMessageNames:{description:\"If true, the CLI will prefix most messages with codes suitable for search engines\",type:\"BOOLEAN\",default:!0},enableProgressBars:{description:\"If true, the CLI is allowed to show a progress bar for long-running events\",type:\"BOOLEAN\",default:!Sw.isCI,defaultText:\"<dynamic>\"},enableTimers:{description:\"If true, the CLI is allowed to print the time spent executing commands\",type:\"BOOLEAN\",default:!0},preferAggregateCacheInfo:{description:\"If true, the CLI will only print a one-line report of any cache changes\",type:\"BOOLEAN\",default:Sw.isCI},preferInteractive:{description:\"If true, the CLI will automatically use the interactive mode when called from a TTY\",type:\"BOOLEAN\",default:!1},preferTruncatedLines:{description:\"If true, the CLI will truncate lines that would go beyond the size of the terminal\",type:\"BOOLEAN\",default:!1},progressBarStyle:{description:\"Which style of progress bar should be used (only when progress bars are enabled)\",type:\"STRING\",default:void 0,defaultText:\"<dynamic>\"},defaultLanguageName:{description:\"Default language mode that should be used when a package doesn't offer any insight\",type:\"STRING\",default:\"node\"},defaultProtocol:{description:\"Default resolution protocol used when resolving pure semver and tag ranges\",type:\"STRING\",default:\"npm:\"},enableTransparentWorkspaces:{description:\"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol\",type:\"BOOLEAN\",default:!0},supportedArchitectures:{description:\"Architectures that Yarn will fetch and inject into the resolver\",type:\"SHAPE\",properties:{os:{description:\"Array of supported process.platform strings, or null to target them all\",type:\"STRING\",isArray:!0,isNullable:!0,default:[\"current\"]},cpu:{description:\"Array of supported process.arch strings, or null to target them all\",type:\"STRING\",isArray:!0,isNullable:!0,default:[\"current\"]},libc:{description:\"Array of supported libc libraries, or null to target them all\",type:\"STRING\",isArray:!0,isNullable:!0,default:[\"current\"]}}},enableMirror:{description:\"If true, the downloaded packages will be retrieved and stored in both the local and global folders\",type:\"BOOLEAN\",default:!0},enableNetwork:{description:\"If false, the package manager will refuse to use the network if required to\",type:\"BOOLEAN\",default:!0},httpProxy:{description:\"URL of the http proxy that must be used for outgoing http requests\",type:\"STRING\",default:null},httpsProxy:{description:\"URL of the http proxy that must be used for outgoing https requests\",type:\"STRING\",default:null},unsafeHttpWhitelist:{description:\"List of the hostnames for which http queries are allowed (glob patterns are supported)\",type:\"STRING\",default:[],isArray:!0},httpTimeout:{description:\"Timeout of each http request in milliseconds\",type:\"NUMBER\",default:6e4},httpRetry:{description:\"Retry times on http failure\",type:\"NUMBER\",default:3},networkConcurrency:{description:\"Maximal number of concurrent requests\",type:\"NUMBER\",default:50},networkSettings:{description:\"Network settings per hostname (glob patterns are supported)\",type:\"MAP\",valueDefinition:{description:\"\",type:\"SHAPE\",properties:{caFilePath:{description:\"Path to file containing one or multiple Certificate Authority signing certificates\",type:\"ABSOLUTE_PATH\",default:null},enableNetwork:{description:\"If false, the package manager will refuse to use the network if required to\",type:\"BOOLEAN\",default:null},httpProxy:{description:\"URL of the http proxy that must be used for outgoing http requests\",type:\"STRING\",default:null},httpsProxy:{description:\"URL of the http proxy that must be used for outgoing https requests\",type:\"STRING\",default:null},httpsKeyFilePath:{description:\"Path to file containing private key in PEM format\",type:\"ABSOLUTE_PATH\",default:null},httpsCertFilePath:{description:\"Path to file containing certificate chain in PEM format\",type:\"ABSOLUTE_PATH\",default:null}}}},caFilePath:{description:\"A path to a file containing one or multiple Certificate Authority signing certificates\",type:\"ABSOLUTE_PATH\",default:null},httpsKeyFilePath:{description:\"Path to file containing private key in PEM format\",type:\"ABSOLUTE_PATH\",default:null},httpsCertFilePath:{description:\"Path to file containing certificate chain in PEM format\",type:\"ABSOLUTE_PATH\",default:null},enableStrictSsl:{description:\"If false, SSL certificate errors will be ignored\",type:\"BOOLEAN\",default:!0},logFilters:{description:\"Overrides for log levels\",type:\"SHAPE\",isArray:!0,concatenateValues:!0,properties:{code:{description:\"Code of the messages covered by this override\",type:\"STRING\",default:void 0},text:{description:\"Code of the texts covered by this override\",type:\"STRING\",default:void 0},pattern:{description:\"Code of the patterns covered by this override\",type:\"STRING\",default:void 0},level:{description:\"Log level override, set to null to remove override\",type:\"STRING\",values:Object.values(Oy),isNullable:!0,default:void 0}}},enableTelemetry:{description:\"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry\",type:\"BOOLEAN\",default:!0},telemetryInterval:{description:\"Minimal amount of time between two telemetry uploads, in days\",type:\"NUMBER\",default:7},telemetryUserId:{description:\"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.\",type:\"STRING\",default:null},enableScripts:{description:\"If true, packages are allowed to have install scripts by default\",type:\"BOOLEAN\",default:!0},enableStrictSettings:{description:\"If true, unknown settings will cause Yarn to abort\",type:\"BOOLEAN\",default:!0},enableImmutableCache:{description:\"If true, the cache is reputed immutable and actions that would modify it will throw\",type:\"BOOLEAN\",default:!1},checksumBehavior:{description:\"Enumeration defining what to do when a checksum doesn't match expectations\",type:\"STRING\",default:\"throw\"},packageExtensions:{description:\"Map of package corrections to apply on the dependency tree\",type:\"MAP\",valueDefinition:{description:\"The extension that will be applied to any package whose version matches the specified range\",type:\"SHAPE\",properties:{dependencies:{description:\"The set of dependencies that must be made available to the current package in order for it to work properly\",type:\"MAP\",valueDefinition:{description:\"A range\",type:\"STRING\"}},peerDependencies:{description:\"Inherited dependencies - the consumer of the package will be tasked to provide them\",type:\"MAP\",valueDefinition:{description:\"A semver range\",type:\"STRING\"}},peerDependenciesMeta:{description:\"Extra information related to the dependencies listed in the peerDependencies field\",type:\"MAP\",valueDefinition:{description:\"The peerDependency meta\",type:\"SHAPE\",properties:{optional:{description:\"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error\",type:\"BOOLEAN\",default:!1}}}}}}}};function JD(r,e,t,i,n){if(i.isArray||i.type===\"ANY\"&&Array.isArray(t))return Array.isArray(t)?t.map((s,o)=>HD(r,`${e}[${o}]`,s,i,n)):String(t).split(/,/).map(s=>HD(r,e,s,i,n));if(Array.isArray(t))throw new Error(`Non-array configuration settings \"${e}\" cannot be an array`);return HD(r,e,t,i,n)}function HD(r,e,t,i,n){var a;switch(i.type){case\"ANY\":return t;case\"SHAPE\":return VSe(r,e,t,i,n);case\"MAP\":return XSe(r,e,t,i,n)}if(t===null&&!i.isNullable&&i.default!==null)throw new Error(`Non-nullable configuration settings \"${e}\" cannot be set to null`);if((a=i.values)!=null&&a.includes(t))return t;let o=(()=>{if(i.type===\"BOOLEAN\"&&typeof t!=\"string\")return Td(t);if(typeof t!=\"string\")throw new Error(`Expected value (${t}) to be a string`);let l=kx(t,{env:process.env});switch(i.type){case\"ABSOLUTE_PATH\":return x.resolve(n,K.toPortablePath(l));case\"LOCATOR_LOOSE\":return Cc(l,!1);case\"NUMBER\":return parseInt(l);case\"LOCATOR\":return Cc(l);case\"BOOLEAN\":return Td(l);default:return l}})();if(i.values&&!i.values.includes(o))throw new Error(`Invalid value, expected one of ${i.values.join(\", \")}`);return o}function VSe(r,e,t,i,n){if(typeof t!=\"object\"||Array.isArray(t))throw new be(`Object configuration settings \"${e}\" must be an object`);let s=WD(r,i,{ignoreArrays:!0});if(t===null)return s;for(let[o,a]of Object.entries(t)){let l=`${e}.${o}`;if(!i.properties[o])throw new be(`Unrecognized configuration settings found: ${e}.${o} - run \"yarn config -v\" to see the list of settings supported in Yarn`);s.set(o,JD(r,l,a,i.properties[o],n))}return s}function XSe(r,e,t,i,n){let s=new Map;if(typeof t!=\"object\"||Array.isArray(t))throw new be(`Map configuration settings \"${e}\" must be an object`);if(t===null)return s;for(let[o,a]of Object.entries(t)){let l=i.normalizeKeys?i.normalizeKeys(o):o,c=`${e}['${l}']`,u=i.valueDefinition;s.set(l,JD(r,c,a,u,n))}return s}function WD(r,e,{ignoreArrays:t=!1}={}){switch(e.type){case\"SHAPE\":{if(e.isArray&&!t)return[];let i=new Map;for(let[n,s]of Object.entries(e.properties))i.set(n,WD(r,s));return i}break;case\"MAP\":return e.isArray&&!t?[]:new Map;case\"ABSOLUTE_PATH\":return e.default===null?null:r.projectCwd===null?x.isAbsolute(e.default)?x.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(i=>x.resolve(r.projectCwd,i)):x.resolve(r.projectCwd,e.default);default:return e.default}}function vw(r,e,t){if(e.type===\"SECRET\"&&typeof r==\"string\"&&t.hideSecrets)return zSe;if(e.type===\"ABSOLUTE_PATH\"&&typeof r==\"string\"&&t.getNativePaths)return K.fromPortablePath(r);if(e.isArray&&Array.isArray(r)){let i=[];for(let n of r)i.push(vw(n,e,t));return i}if(e.type===\"MAP\"&&r instanceof Map){let i=new Map;for(let[n,s]of r.entries())i.set(n,vw(s,e.valueDefinition,t));return i}if(e.type===\"SHAPE\"&&r instanceof Map){let i=new Map;for(let[n,s]of r.entries()){let o=e.properties[n];i.set(n,vw(s,o,t))}return i}return r}function _Se(){let r={};for(let[e,t]of Object.entries(process.env))e=e.toLowerCase(),e.startsWith(Pw)&&(e=(0,H8.default)(e.slice(Pw.length)),r[e]=t);return r}function xw(){let r=`${Pw}rc_filename`;for(let[e,t]of Object.entries(process.env))if(e.toLowerCase()===r&&typeof t==\"string\")return t;return YD}var zD=(i=>(i[i.LOCKFILE=0]=\"LOCKFILE\",i[i.MANIFEST=1]=\"MANIFEST\",i[i.NONE=2]=\"NONE\",i))(zD||{}),Na=class{constructor(e){this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.packageExtensions=new Map;this.limits=new Map;this.startingCwd=e}static create(e,t,i){let n=new Na(e);typeof t<\"u\"&&!(t instanceof Map)&&(n.projectCwd=t),n.importSettings(UD);let s=typeof i<\"u\"?i:t instanceof Map?t:new Map;for(let[o,a]of s)n.activatePlugin(o,a);return n}static async find(e,t,{lookup:i=0,strict:n=!0,usePath:s=!1,useRc:o=!0}={}){let a=_Se();delete a.rcFilename;let l=await Na.findRcFiles(e),c=await Na.findHomeRcFile();if(c){let B=l.find(v=>v.path===c.path);B?B.strict=!1:l.push({...c,strict:!1})}let u=({ignoreCwd:B,yarnPath:v,ignorePath:D,lockfileFilename:L})=>({ignoreCwd:B,yarnPath:v,ignorePath:D,lockfileFilename:L}),g=({ignoreCwd:B,yarnPath:v,ignorePath:D,lockfileFilename:L,...H})=>H,f=new Na(e);f.importSettings(u(UD)),f.useWithSource(\"<environment>\",u(a),e,{strict:!1});for(let{path:B,cwd:v,data:D}of l)f.useWithSource(B,u(D),v,{strict:!1});if(s){let B=f.get(\"yarnPath\"),v=f.get(\"ignorePath\");if(B!==null&&!v)return f}let h=f.get(\"lockfileFilename\"),p;switch(i){case 0:p=await Na.findProjectCwd(e,h);break;case 1:p=await Na.findProjectCwd(e,null);break;case 2:M.existsSync(x.join(e,\"package.json\"))?p=x.resolve(e):p=null;break}f.startingCwd=e,f.projectCwd=p,f.importSettings(g(UD));let C=new Map([[\"@@core\",_4]]),y=B=>\"default\"in B?B.default:B;if(t!==null){for(let L of t.plugins.keys())C.set(L,y(t.modules.get(L)));let B=new Map;for(let L of TD())B.set(L,()=>Af(L));for(let[L,H]of t.modules)B.set(L,()=>H);let v=new Set,D=async(L,H)=>{let{factory:j,name:$}=Af(L);if(v.has($))return;let V=new Map(B),W=A=>{if(V.has(A))return V.get(A)();throw new be(`This plugin cannot access the package referenced via ${A} which is neither a builtin, nor an exposed entry`)},Z=await of(async()=>y(await j(W)),A=>`${A} (when initializing ${$}, defined in ${H})`);B.set($,()=>Z),v.add($),C.set($,Z)};if(a.plugins)for(let L of a.plugins.split(\";\")){let H=x.resolve(e,K.toPortablePath(L));await D(H,\"<environment>\")}for(let{path:L,cwd:H,data:j}of l)if(!!o&&!!Array.isArray(j.plugins))for(let $ of j.plugins){let V=typeof $!=\"string\"?$.path:$,W=x.resolve(H,K.toPortablePath(V));await D(W,L)}}for(let[B,v]of C)f.activatePlugin(B,v);f.useWithSource(\"<environment>\",g(a),e,{strict:n});for(let{path:B,cwd:v,data:D,strict:L}of l)f.useWithSource(B,g(D),v,{strict:L!=null?L:n});return f.get(\"enableGlobalCache\")&&(f.values.set(\"cacheFolder\",`${f.get(\"globalFolder\")}/cache`),f.sources.set(\"cacheFolder\",\"<internal>\")),await f.refreshPackageExtensions(),f}static async findRcFiles(e){let t=xw(),i=[],n=e,s=null;for(;n!==s;){s=n;let o=x.join(s,t);if(M.existsSync(o)){let a=await M.readFilePromise(o,\"utf8\"),l;try{l=Ii(a)}catch{let u=\"\";throw a.match(/^\\s+(?!-)[^:]+\\s+\\S+/m)&&(u=\" (in particular, make sure you list the colons after each key name)\"),new be(`Parse error when loading ${o}; please check it's proper Yaml${u}`)}i.push({path:o,cwd:s,data:l})}n=x.dirname(s)}return i}static async findHomeRcFile(){let e=xw(),t=iC(),i=x.join(t,e);if(M.existsSync(i)){let n=await M.readFilePromise(i,\"utf8\"),s=Ii(n);return{path:i,cwd:t,data:s}}return null}static async findProjectCwd(e,t){let i=null,n=e,s=null;for(;n!==s;){if(s=n,M.existsSync(x.join(s,\"package.json\"))&&(i=s),t!==null){if(M.existsSync(x.join(s,t))){i=s;break}}else if(i!==null)break;n=x.dirname(s)}return i}static async updateConfiguration(e,t){let i=xw(),n=x.join(e,i),s=M.existsSync(n)?Ii(await M.readFilePromise(n,\"utf8\")):{},o=!1,a;if(typeof t==\"function\"){try{a=t(s)}catch{a=t({})}if(a===s)return}else{a=s;for(let l of Object.keys(t)){let c=s[l],u=t[l],g;if(typeof u==\"function\")try{g=u(c)}catch{g=u(void 0)}else g=u;c!==g&&(a[l]=g,o=!0)}if(!o)return}await M.changeFilePromise(n,Ca(a),{automaticNewlines:!0})}static async updateHomeConfiguration(e){let t=iC();return await Na.updateConfiguration(t,e)}activatePlugin(e,t){this.plugins.set(e,t),typeof t.configuration<\"u\"&&this.importSettings(t.configuration)}importSettings(e){for(let[t,i]of Object.entries(e))if(i!=null){if(this.settings.has(t))throw new Error(`Cannot redefine settings \"${t}\"`);this.settings.set(t,i),this.values.set(t,WD(this,i))}}useWithSource(e,t,i,n){try{this.use(e,t,i,n)}catch(s){throw s.message+=` (in ${Ze(this,e,Ue.PATH)})`,s}}use(e,t,i,{strict:n=!0,overwrite:s=!1}={}){n=n&&this.get(\"enableStrictSettings\");for(let o of[\"enableStrictSettings\",...Object.keys(t)]){if(typeof t[o]>\"u\"||o===\"plugins\"||e===\"<environment>\"&&WSe.has(o))continue;if(o===\"rcFilename\")throw new be(`The rcFilename settings can only be set via ${`${Pw}RC_FILENAME`.toUpperCase()}, not via a rc file`);let l=this.settings.get(o);if(!l){if(n)throw new be(`Unrecognized or legacy configuration settings found: ${o} - run \"yarn config -v\" to see the list of settings supported in Yarn`);this.invalid.set(o,e);continue}if(this.sources.has(o)&&!(s||l.type===\"MAP\"||l.isArray&&l.concatenateValues))continue;let c;try{c=JD(this,o,t[o],l,i)}catch(u){throw u.message+=` in ${Ze(this,e,Ue.PATH)}`,u}if(o===\"enableStrictSettings\"&&e!==\"<environment>\"){n=c;continue}if(l.type===\"MAP\"){let u=this.values.get(o);this.values.set(o,new Map(s?[...u,...c]:[...c,...u])),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else if(l.isArray&&l.concatenateValues){let u=this.values.get(o);this.values.set(o,s?[...u,...c]:[...c,...u]),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else this.values.set(o,c),this.sources.set(o,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key \"${e}\"`);return this.values.get(e)}getSpecial(e,{hideSecrets:t=!1,getNativePaths:i=!1}){let n=this.get(e),s=this.settings.get(e);if(typeof s>\"u\")throw new be(`Couldn't find a configuration settings named \"${e}\"`);return vw(n,s,{hideSecrets:t,getNativePaths:i})}getSubprocessStreams(e,{header:t,prefix:i,report:n}){let s,o,a=M.createWriteStream(e);if(this.get(\"enableInlineBuilds\")){let l=n.createStreamReporter(`${i} ${Ze(this,\"STDOUT\",\"green\")}`),c=n.createStreamReporter(`${i} ${Ze(this,\"STDERR\",\"red\")}`);s=new GD.PassThrough,s.pipe(l),s.pipe(a),o=new GD.PassThrough,o.pipe(c),o.pipe(a)}else s=a,o=a,typeof t<\"u\"&&s.write(`${t}\n`);return{stdout:s,stderr:o}}makeResolver(){let e=[];for(let t of this.plugins.values())for(let i of t.resolvers||[])e.push(new i);return new yf([new rC,new jr,new yw,...e])}makeFetcher(){let e=[];for(let t of this.plugins.values())for(let i of t.fetchers||[])e.push(new i);return new If([new Bf,new bf,...e])}getLinkers(){let e=[];for(let t of this.plugins.values())for(let i of t.linkers||[])e.push(new i);return e}getSupportedArchitectures(){let e=nC(),t=this.get(\"supportedArchitectures\"),i=t.get(\"os\");i!==null&&(i=i.map(o=>o===\"current\"?e.os:o));let n=t.get(\"cpu\");n!==null&&(n=n.map(o=>o===\"current\"?e.cpu:o));let s=t.get(\"libc\");return s!==null&&(s=To(s,o=>{var a;return o===\"current\"?(a=e.libc)!=null?a:To.skip:o})),{os:i,cpu:n,libc:s}}async refreshPackageExtensions(){this.packageExtensions=new Map;let e=this.packageExtensions,t=(i,n,{userProvided:s=!1}={})=>{if(!to(i.range))throw new Error(\"Only semver ranges are allowed as keys for the packageExtensions setting\");let o=new ot;o.load(n,{yamlCompatibilityMode:!0});let a=nf(e,i.identHash),l=[];a.push([i.range,l]);let c={status:\"inactive\",userProvided:s,parentDescriptor:i};for(let u of o.dependencies.values())l.push({...c,type:\"Dependency\",descriptor:u});for(let u of o.peerDependencies.values())l.push({...c,type:\"PeerDependency\",descriptor:u});for(let[u,g]of o.peerDependenciesMeta)for(let[f,h]of Object.entries(g))l.push({...c,type:\"PeerDependencyMeta\",selector:u,key:f,value:h})};await this.triggerHook(i=>i.registerPackageExtensions,this,t);for(let[i,n]of this.get(\"packageExtensions\"))t(MA(i,!0),Fy(n),{userProvided:!0})}normalizePackage(e){let t=qd(e);if(this.packageExtensions==null)throw new Error(\"refreshPackageExtensions has to be called before normalizing packages\");let i=this.packageExtensions.get(e.identHash);if(typeof i<\"u\"){let s=e.version;if(s!==null){for(let[o,a]of i)if(!!mc(s,o))for(let l of a)switch(l.status===\"inactive\"&&(l.status=\"redundant\"),l.type){case\"Dependency\":typeof t.dependencies.get(l.descriptor.identHash)>\"u\"&&(l.status=\"active\",t.dependencies.set(l.descriptor.identHash,l.descriptor));break;case\"PeerDependency\":typeof t.peerDependencies.get(l.descriptor.identHash)>\"u\"&&(l.status=\"active\",t.peerDependencies.set(l.descriptor.identHash,l.descriptor));break;case\"PeerDependencyMeta\":{let c=t.peerDependenciesMeta.get(l.selector);(typeof c>\"u\"||!Object.prototype.hasOwnProperty.call(c,l.key)||c[l.key]!==l.value)&&(l.status=\"active\",xa(t.peerDependenciesMeta,l.selector,()=>({}))[l.key]=l.value)}break;default:Px(l);break}}}let n=s=>s.scope?`${s.scope}__${s.name}`:`${s.name}`;for(let s of t.peerDependenciesMeta.keys()){let o=_i(s);t.peerDependencies.has(o.identHash)||t.peerDependencies.set(o.identHash,Zt(o,\"*\"))}for(let s of t.peerDependencies.values()){if(s.scope===\"types\")continue;let o=n(s),a=Ho(\"types\",o),l=Ot(a);t.peerDependencies.has(a.identHash)||t.peerDependenciesMeta.has(l)||(t.peerDependencies.set(a.identHash,Zt(a,\"*\")),t.peerDependenciesMeta.set(l,{optional:!0}))}return t.dependencies=new Map(wn(t.dependencies,([,s])=>Qn(s))),t.peerDependencies=new Map(wn(t.peerDependencies,([,s])=>Qn(s))),t}getLimit(e){return xa(this.limits,e,()=>(0,G8.default)(this.get(e)))}async triggerHook(e,...t){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);!s||await s(...t)}}async triggerMultipleHooks(e,t){for(let i of t)await this.triggerHook(e,...i)}async reduceHook(e,t,...i){let n=t;for(let s of this.plugins.values()){let o=s.hooks;if(!o)continue;let a=e(o);!a||(n=await a(n,...i))}return n}async firstHook(e,...t){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);if(!s)continue;let o=await s(...t);if(typeof o<\"u\")return o}return null}},ye=Na;ye.telemetry=null;var ZD=(i=>(i[i.Never=0]=\"Never\",i[i.ErrorCode=1]=\"ErrorCode\",i[i.Always=2]=\"Always\",i))(ZD||{}),sC=class extends at{constructor({fileName:t,code:i,signal:n}){let s=ye.create(x.cwd()),o=Ze(s,t,Ue.PATH);super(1,`Child ${o} reported an error`,a=>{$Se(i,n,{configuration:s,report:a})});this.code=$D(i,n)}},Dw=class extends sC{constructor({fileName:t,code:i,signal:n,stdout:s,stderr:o}){super({fileName:t,code:i,signal:n});this.stdout=s,this.stderr=o}};function yc(r){return r!==null&&typeof r.fd==\"number\"}var wc=new Set;function VD(){}function XD(){for(let r of wc)r.kill()}async function Yo(r,e,{cwd:t,env:i=process.env,strict:n=!1,stdin:s=null,stdout:o,stderr:a,end:l=2}){let c=[\"pipe\",\"pipe\",\"pipe\"];s===null?c[0]=\"ignore\":yc(s)&&(c[0]=s),yc(o)&&(c[1]=o),yc(a)&&(c[2]=a);let u=(0,_D.default)(r,e,{cwd:K.fromPortablePath(t),env:{...i,PWD:K.fromPortablePath(t)},stdio:c});wc.add(u),wc.size===1&&(process.on(\"SIGINT\",VD),process.on(\"SIGTERM\",XD)),!yc(s)&&s!==null&&s.pipe(u.stdin),yc(o)||u.stdout.pipe(o,{end:!1}),yc(a)||u.stderr.pipe(a,{end:!1});let g=()=>{for(let f of new Set([o,a]))yc(f)||f.end()};return new Promise((f,h)=>{u.on(\"error\",p=>{wc.delete(u),wc.size===0&&(process.off(\"SIGINT\",VD),process.off(\"SIGTERM\",XD)),(l===2||l===1)&&g(),h(p)}),u.on(\"close\",(p,C)=>{wc.delete(u),wc.size===0&&(process.off(\"SIGINT\",VD),process.off(\"SIGTERM\",XD)),(l===2||l===1&&p>0)&&g(),p===0||!n?f({code:$D(p,C)}):h(new sC({fileName:r,code:p,signal:C}))})})}async function KD(r,e,{cwd:t,env:i=process.env,encoding:n=\"utf8\",strict:s=!1}){let o=[\"ignore\",\"pipe\",\"pipe\"],a=[],l=[],c=K.fromPortablePath(t);typeof i.PWD<\"u\"&&(i={...i,PWD:c});let u=(0,_D.default)(r,e,{cwd:c,env:i,stdio:o});return u.stdout.on(\"data\",g=>{a.push(g)}),u.stderr.on(\"data\",g=>{l.push(g)}),await new Promise((g,f)=>{u.on(\"error\",h=>{let p=ye.create(t),C=Ze(p,r,Ue.PATH);f(new at(1,`Process ${C} failed to spawn`,y=>{y.reportError(1,`  ${Oo(p,{label:\"Thrown Error\",value:eo(Ue.NO_HINT,h.message)})}`)}))}),u.on(\"close\",(h,p)=>{let C=n===\"buffer\"?Buffer.concat(a):Buffer.concat(a).toString(n),y=n===\"buffer\"?Buffer.concat(l):Buffer.concat(l).toString(n);h===0||!s?g({code:$D(h,p),stdout:C,stderr:y}):f(new Dw({fileName:r,code:h,signal:p,stdout:C,stderr:y}))})})}var ZSe=new Map([[\"SIGINT\",2],[\"SIGQUIT\",3],[\"SIGKILL\",9],[\"SIGTERM\",15]]);function $D(r,e){let t=ZSe.get(e);return typeof t<\"u\"?128+t:r!=null?r:1}function $Se(r,e,{configuration:t,report:i}){i.reportError(1,`  ${Oo(t,r!==null?{label:\"Exit Code\",value:eo(Ue.NUMBER,r)}:{label:\"Exit Signal\",value:eo(Ue.CODE,e)})}`)}var Vt={};ut(Vt,{Method:()=>BV,RequestError:()=>QV.RequestError,del:()=>cDe,get:()=>ADe,getNetworkSettings:()=>wV,post:()=>pR,put:()=>lDe,request:()=>dC});var EV=Pe(nB()),IV=J(\"https\"),yV=J(\"http\"),hR=Pe(yn()),fR=Pe(pV()),sB=J(\"url\");var QV=Pe(nB()),dV=new Map,CV=new Map,sDe=new yV.Agent({keepAlive:!0}),oDe=new IV.Agent({keepAlive:!0});function mV(r){let e=new sB.URL(r),t={host:e.hostname,headers:{}};return e.port&&(t.port=Number(e.port)),{proxy:t}}async function gR(r){return xa(CV,r,()=>M.readFilePromise(r).then(e=>(CV.set(r,e),e)))}function aDe({statusCode:r,statusMessage:e},t){let i=Ze(t,r,Ue.NUMBER),n=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${r}`;return cf(t,`${i}${e?` (${e})`:\"\"}`,n)}async function oB(r,{configuration:e,customErrorMessage:t}){var i,n;try{return await r}catch(s){if(s.name!==\"HTTPError\")throw s;let o=(n=t==null?void 0:t(s))!=null?n:(i=s.response.body)==null?void 0:i.error;o==null&&(s.message.startsWith(\"Response code\")?o=\"The remote server failed to provide the requested resource\":o=s.message),s instanceof EV.TimeoutError&&s.event===\"socket\"&&(o+=`(can be increased via ${Ze(e,\"httpTimeout\",Ue.SETTING)})`);let a=new at(35,o,l=>{s.response&&l.reportError(35,`  ${Oo(e,{label:\"Response Code\",value:eo(Ue.NO_HINT,aDe(s.response,e))})}`),s.request&&(l.reportError(35,`  ${Oo(e,{label:\"Request Method\",value:eo(Ue.NO_HINT,s.request.options.method)})}`),l.reportError(35,`  ${Oo(e,{label:\"Request URL\",value:eo(Ue.URL,s.request.requestUrl)})}`)),s.request.redirects.length>0&&l.reportError(35,`  ${Oo(e,{label:\"Request Redirects\",value:eo(Ue.NO_HINT,Kx(e,s.request.redirects,Ue.URL))})}`),s.request.retryCount===s.request.options.retry.limit&&l.reportError(35,`  ${Oo(e,{label:\"Request Retry Count\",value:eo(Ue.NO_HINT,`${Ze(e,s.request.retryCount,Ue.NUMBER)} (can be increased via ${Ze(e,\"httpRetry\",Ue.SETTING)})`)})}`)});throw a.originalError=s,a}}function wV(r,e){let t=[...e.configuration.get(\"networkSettings\")].sort(([o],[a])=>a.length-o.length),i={enableNetwork:void 0,caFilePath:void 0,httpProxy:void 0,httpsProxy:void 0,httpsKeyFilePath:void 0,httpsCertFilePath:void 0},n=Object.keys(i),s=typeof r==\"string\"?new sB.URL(r):r;for(let[o,a]of t)if(hR.default.isMatch(s.hostname,o))for(let l of n){let c=a.get(l);c!==null&&typeof i[l]>\"u\"&&(i[l]=c)}for(let o of n)typeof i[o]>\"u\"&&(i[o]=e.configuration.get(o));return i}var BV=(n=>(n.GET=\"GET\",n.PUT=\"PUT\",n.POST=\"POST\",n.DELETE=\"DELETE\",n))(BV||{});async function dC(r,e,{configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o=\"GET\"}){let a=async()=>await uDe(r,e,{configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o});return await(await t.reduceHook(c=>c.wrapNetworkRequest,a,{target:r,body:e,configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o}))()}async function ADe(r,{configuration:e,jsonResponse:t,...i}){let n=xa(dV,r,()=>oB(dC(r,null,{configuration:e,...i}),{configuration:e}).then(s=>(dV.set(r,s.body),s.body)));return Buffer.isBuffer(n)===!1&&(n=await n),t?JSON.parse(n.toString()):n}async function lDe(r,e,{customErrorMessage:t,...i}){return(await oB(dC(r,e,{...i,method:\"PUT\"}),i)).body}async function pR(r,e,{customErrorMessage:t,...i}){return(await oB(dC(r,e,{...i,method:\"POST\"}),i)).body}async function cDe(r,{customErrorMessage:e,...t}){return(await oB(dC(r,null,{...t,method:\"DELETE\"}),t)).body}async function uDe(r,e,{configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o=\"GET\"}){let a=typeof r==\"string\"?new sB.URL(r):r,l=wV(a,{configuration:t});if(l.enableNetwork===!1)throw new Error(`Request to '${a.href}' has been blocked because of your configuration settings`);if(a.protocol===\"http:\"&&!hR.default.isMatch(a.hostname,t.get(\"unsafeHttpWhitelist\")))throw new Error(`Unsafe http requests must be explicitly whitelisted in your configuration (${a.hostname})`);let u={agent:{http:l.httpProxy?fR.default.httpOverHttp(mV(l.httpProxy)):sDe,https:l.httpsProxy?fR.default.httpsOverHttp(mV(l.httpsProxy)):oDe},headers:i,method:o};u.responseType=s?\"json\":\"buffer\",e!==null&&(Buffer.isBuffer(e)||!n&&typeof e==\"string\"?u.body=e:u.json=e);let g=t.get(\"httpTimeout\"),f=t.get(\"httpRetry\"),h=t.get(\"enableStrictSsl\"),p=l.caFilePath,C=l.httpsCertFilePath,y=l.httpsKeyFilePath,{default:B}=await Promise.resolve().then(()=>Pe(nB())),v=p?await gR(p):void 0,D=C?await gR(C):void 0,L=y?await gR(y):void 0,H=B.extend({timeout:{socket:g},retry:f,https:{rejectUnauthorized:h,certificateAuthority:v,certificate:D,key:L},...u});return t.getLimit(\"networkConcurrency\")(()=>H(a))}var Jt={};ut(Jt,{PackageManager:()=>T6,detectPackageManager:()=>O6,executePackageAccessibleBinary:()=>G6,executePackageScript:()=>wB,executePackageShellcode:()=>DR,executeWorkspaceAccessibleBinary:()=>Dke,executeWorkspaceLifecycleScript:()=>U6,executeWorkspaceScript:()=>K6,getPackageAccessibleBinaries:()=>BB,getWorkspaceAccessibleBinaries:()=>H6,hasPackageScript:()=>vke,hasWorkspaceScript:()=>kR,makeScriptEnv:()=>wC,maybeExecuteWorkspaceLifecycleScript:()=>Pke,prepareExternalProject:()=>Ske});var CC={};ut(CC,{getLibzipPromise:()=>rn,getLibzipSync:()=>DV});var PV=Pe(SV());var qA=[\"number\",\"number\"],vV=(F=>(F[F.ZIP_ER_OK=0]=\"ZIP_ER_OK\",F[F.ZIP_ER_MULTIDISK=1]=\"ZIP_ER_MULTIDISK\",F[F.ZIP_ER_RENAME=2]=\"ZIP_ER_RENAME\",F[F.ZIP_ER_CLOSE=3]=\"ZIP_ER_CLOSE\",F[F.ZIP_ER_SEEK=4]=\"ZIP_ER_SEEK\",F[F.ZIP_ER_READ=5]=\"ZIP_ER_READ\",F[F.ZIP_ER_WRITE=6]=\"ZIP_ER_WRITE\",F[F.ZIP_ER_CRC=7]=\"ZIP_ER_CRC\",F[F.ZIP_ER_ZIPCLOSED=8]=\"ZIP_ER_ZIPCLOSED\",F[F.ZIP_ER_NOENT=9]=\"ZIP_ER_NOENT\",F[F.ZIP_ER_EXISTS=10]=\"ZIP_ER_EXISTS\",F[F.ZIP_ER_OPEN=11]=\"ZIP_ER_OPEN\",F[F.ZIP_ER_TMPOPEN=12]=\"ZIP_ER_TMPOPEN\",F[F.ZIP_ER_ZLIB=13]=\"ZIP_ER_ZLIB\",F[F.ZIP_ER_MEMORY=14]=\"ZIP_ER_MEMORY\",F[F.ZIP_ER_CHANGED=15]=\"ZIP_ER_CHANGED\",F[F.ZIP_ER_COMPNOTSUPP=16]=\"ZIP_ER_COMPNOTSUPP\",F[F.ZIP_ER_EOF=17]=\"ZIP_ER_EOF\",F[F.ZIP_ER_INVAL=18]=\"ZIP_ER_INVAL\",F[F.ZIP_ER_NOZIP=19]=\"ZIP_ER_NOZIP\",F[F.ZIP_ER_INTERNAL=20]=\"ZIP_ER_INTERNAL\",F[F.ZIP_ER_INCONS=21]=\"ZIP_ER_INCONS\",F[F.ZIP_ER_REMOVE=22]=\"ZIP_ER_REMOVE\",F[F.ZIP_ER_DELETED=23]=\"ZIP_ER_DELETED\",F[F.ZIP_ER_ENCRNOTSUPP=24]=\"ZIP_ER_ENCRNOTSUPP\",F[F.ZIP_ER_RDONLY=25]=\"ZIP_ER_RDONLY\",F[F.ZIP_ER_NOPASSWD=26]=\"ZIP_ER_NOPASSWD\",F[F.ZIP_ER_WRONGPASSWD=27]=\"ZIP_ER_WRONGPASSWD\",F[F.ZIP_ER_OPNOTSUPP=28]=\"ZIP_ER_OPNOTSUPP\",F[F.ZIP_ER_INUSE=29]=\"ZIP_ER_INUSE\",F[F.ZIP_ER_TELL=30]=\"ZIP_ER_TELL\",F[F.ZIP_ER_COMPRESSED_DATA=31]=\"ZIP_ER_COMPRESSED_DATA\",F))(vV||{}),xV=r=>({get HEAP8(){return r.HEAP8},get HEAPU8(){return r.HEAPU8},errors:vV,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_CREATE:1,ZIP_EXCL:2,ZIP_TRUNCATE:8,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:r._malloc(1),uint16S:r._malloc(2),uint32S:r._malloc(4),uint64S:r._malloc(8),malloc:r._malloc,free:r._free,getValue:r.getValue,open:r.cwrap(\"zip_open\",\"number\",[\"string\",\"number\",\"number\"]),openFromSource:r.cwrap(\"zip_open_from_source\",\"number\",[\"number\",\"number\",\"number\"]),close:r.cwrap(\"zip_close\",\"number\",[\"number\"]),discard:r.cwrap(\"zip_discard\",null,[\"number\"]),getError:r.cwrap(\"zip_get_error\",\"number\",[\"number\"]),getName:r.cwrap(\"zip_get_name\",\"string\",[\"number\",\"number\",\"number\"]),getNumEntries:r.cwrap(\"zip_get_num_entries\",\"number\",[\"number\",\"number\"]),delete:r.cwrap(\"zip_delete\",\"number\",[\"number\",\"number\"]),stat:r.cwrap(\"zip_stat\",\"number\",[\"number\",\"string\",\"number\",\"number\"]),statIndex:r.cwrap(\"zip_stat_index\",\"number\",[\"number\",...qA,\"number\",\"number\"]),fopen:r.cwrap(\"zip_fopen\",\"number\",[\"number\",\"string\",\"number\"]),fopenIndex:r.cwrap(\"zip_fopen_index\",\"number\",[\"number\",...qA,\"number\"]),fread:r.cwrap(\"zip_fread\",\"number\",[\"number\",\"number\",\"number\",\"number\"]),fclose:r.cwrap(\"zip_fclose\",\"number\",[\"number\"]),dir:{add:r.cwrap(\"zip_dir_add\",\"number\",[\"number\",\"string\"])},file:{add:r.cwrap(\"zip_file_add\",\"number\",[\"number\",\"string\",\"number\",\"number\"]),getError:r.cwrap(\"zip_file_get_error\",\"number\",[\"number\"]),getExternalAttributes:r.cwrap(\"zip_file_get_external_attributes\",\"number\",[\"number\",...qA,\"number\",\"number\",\"number\"]),setExternalAttributes:r.cwrap(\"zip_file_set_external_attributes\",\"number\",[\"number\",...qA,\"number\",\"number\",\"number\"]),setMtime:r.cwrap(\"zip_file_set_mtime\",\"number\",[\"number\",...qA,\"number\",\"number\"]),setCompression:r.cwrap(\"zip_set_file_compression\",\"number\",[\"number\",...qA,\"number\",\"number\"])},ext:{countSymlinks:r.cwrap(\"zip_ext_count_symlinks\",\"number\",[\"number\"])},error:{initWithCode:r.cwrap(\"zip_error_init_with_code\",null,[\"number\",\"number\"]),strerror:r.cwrap(\"zip_error_strerror\",\"string\",[\"number\"])},name:{locate:r.cwrap(\"zip_name_locate\",\"number\",[\"number\",\"string\",\"number\"])},source:{fromUnattachedBuffer:r.cwrap(\"zip_source_buffer_create\",\"number\",[\"number\",\"number\",\"number\",\"number\"]),fromBuffer:r.cwrap(\"zip_source_buffer\",\"number\",[\"number\",\"number\",...qA,\"number\"]),free:r.cwrap(\"zip_source_free\",null,[\"number\"]),keep:r.cwrap(\"zip_source_keep\",null,[\"number\"]),open:r.cwrap(\"zip_source_open\",\"number\",[\"number\"]),close:r.cwrap(\"zip_source_close\",\"number\",[\"number\"]),seek:r.cwrap(\"zip_source_seek\",\"number\",[\"number\",...qA,\"number\"]),tell:r.cwrap(\"zip_source_tell\",\"number\",[\"number\"]),read:r.cwrap(\"zip_source_read\",\"number\",[\"number\",\"number\",\"number\"]),error:r.cwrap(\"zip_source_error\",\"number\",[\"number\"]),setMtime:r.cwrap(\"zip_source_set_mtime\",\"number\",[\"number\",\"number\"])},struct:{stat:r.cwrap(\"zipstruct_stat\",\"number\",[]),statS:r.cwrap(\"zipstruct_statS\",\"number\",[]),statName:r.cwrap(\"zipstruct_stat_name\",\"string\",[\"number\"]),statIndex:r.cwrap(\"zipstruct_stat_index\",\"number\",[\"number\"]),statSize:r.cwrap(\"zipstruct_stat_size\",\"number\",[\"number\"]),statCompSize:r.cwrap(\"zipstruct_stat_comp_size\",\"number\",[\"number\"]),statCompMethod:r.cwrap(\"zipstruct_stat_comp_method\",\"number\",[\"number\"]),statMtime:r.cwrap(\"zipstruct_stat_mtime\",\"number\",[\"number\"]),statCrc:r.cwrap(\"zipstruct_stat_crc\",\"number\",[\"number\"]),error:r.cwrap(\"zipstruct_error\",\"number\",[]),errorS:r.cwrap(\"zipstruct_errorS\",\"number\",[]),errorCodeZip:r.cwrap(\"zipstruct_error_code_zip\",\"number\",[\"number\"])}});var mR=null;function DV(){return mR===null&&(mR=xV((0,PV.default)())),mR}async function rn(){return DV()}var yC={};ut(yC,{ShellError:()=>qn,execute:()=>pB,globUtils:()=>cB});var jV=Pe(ax()),qV=J(\"os\"),Jn=J(\"stream\"),JV=J(\"util\");var qn=class extends Error{constructor(e){super(e),this.name=\"ShellError\"}};var cB={};ut(cB,{fastGlobOptions:()=>FV,isBraceExpansion:()=>ER,isGlobPattern:()=>gDe,match:()=>fDe,micromatchOptions:()=>lB});var kV=Pe(iw()),RV=Pe(J(\"fs\")),AB=Pe(yn()),lB={strictBrackets:!0},FV={onlyDirectories:!1,onlyFiles:!1};function gDe(r){if(!AB.default.scan(r,lB).isGlob)return!1;try{AB.default.parse(r,lB)}catch{return!1}return!0}function fDe(r,{cwd:e,baseFs:t}){return(0,kV.default)(r,{...FV,cwd:K.fromPortablePath(e),fs:XE(RV.default,new Cg(t))})}function ER(r){return AB.default.scan(r,lB).isBrace}var LV=Pe(IS()),qo=J(\"stream\"),TV=J(\"string_decoder\");var Qc=new Set;function IR(){}function yR(){for(let r of Qc)r.kill()}function OV(r,e,t,i){return n=>{let s=n[0]instanceof qo.Transform?\"pipe\":n[0],o=n[1]instanceof qo.Transform?\"pipe\":n[1],a=n[2]instanceof qo.Transform?\"pipe\":n[2],l=(0,LV.default)(r,e,{...i,stdio:[s,o,a]});return Qc.add(l),Qc.size===1&&(process.on(\"SIGINT\",IR),process.on(\"SIGTERM\",yR)),n[0]instanceof qo.Transform&&n[0].pipe(l.stdin),n[1]instanceof qo.Transform&&l.stdout.pipe(n[1],{end:!1}),n[2]instanceof qo.Transform&&l.stderr.pipe(n[2],{end:!1}),{stdin:l.stdin,promise:new Promise(c=>{l.on(\"error\",u=>{switch(Qc.delete(l),Qc.size===0&&(process.off(\"SIGINT\",IR),process.off(\"SIGTERM\",yR)),u.code){case\"ENOENT\":n[2].write(`command not found: ${r}\n`),c(127);break;case\"EACCES\":n[2].write(`permission denied: ${r}\n`),c(128);break;default:n[2].write(`uncaught error: ${u.message}\n`),c(1);break}}),l.on(\"close\",u=>{Qc.delete(l),Qc.size===0&&(process.off(\"SIGINT\",IR),process.off(\"SIGTERM\",yR)),c(u!==null?u:129)})})}}}function MV(r){return e=>{let t=e[0]===\"pipe\"?new qo.PassThrough:e[0];return{stdin:t,promise:Promise.resolve().then(()=>r({stdin:t,stdout:e[1],stderr:e[2]}))}}}var ys=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},wR=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error(\"Assertion failed: No stream attached\");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error(\"Assertion failed: No stream attached\");return this.stream}},Mf=class{constructor(e,t){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=t}static start(e,{stdin:t,stdout:i,stderr:n}){let s=new Mf(null,e);return s.stdin=t,s.stdout=i,s.stderr=n,s}pipeTo(e,t=1){let i=new Mf(this,e),n=new wR;return i.pipe=n,i.stdout=this.stdout,i.stderr=this.stderr,(t&1)===1?this.stdout=n:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(t&2)===2?this.stderr=n:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),i}async exec(){let e=[\"ignore\",\"ignore\",\"ignore\"];if(this.pipe)e[0]=\"pipe\";else{if(this.stdin===null)throw new Error(\"Assertion failed: No input stream registered\");e[0]=this.stdin.get()}let t;if(this.stdout===null)throw new Error(\"Assertion failed: No output stream registered\");t=this.stdout,e[1]=t.get();let i;if(this.stderr===null)throw new Error(\"Assertion failed: No error stream registered\");i=this.stderr,e[2]=i.get();let n=this.implementation(e);return this.pipe&&this.pipe.attach(n.stdin),await n.promise.then(s=>(t.close(),i.close(),s))}async run(){let e=[];for(let i=this;i;i=i.ancestor)e.push(i.exec());return(await Promise.all(e))[0]}};function uB(r,e){return Mf.start(r,e)}function NV(r,e=null){let t=new qo.PassThrough,i=new TV.StringDecoder,n=\"\";return t.on(\"data\",s=>{let o=i.write(s),a;do if(a=o.indexOf(`\n`),a!==-1){let l=n+o.substring(0,a);o=o.substring(a+1),n=\"\",r(e!==null?`${e} ${l}`:l)}while(a!==-1);n+=o}),t.on(\"end\",()=>{let s=i.end();s!==\"\"&&r(e!==null?`${e} ${s}`:s)}),t}function KV(r,{prefix:e}){return{stdout:NV(t=>r.stdout.write(`${t}\n`),r.stdout.isTTY?e:null),stderr:NV(t=>r.stderr.write(`${t}\n`),r.stderr.isTTY?e:null)}}var hDe=(0,JV.promisify)(setTimeout);function UV(r,e,t){let i=new Jn.PassThrough({autoDestroy:!0});switch(r){case 0:(e&1)===1&&t.stdin.pipe(i,{end:!1}),(e&2)===2&&t.stdin instanceof Jn.Writable&&i.pipe(t.stdin,{end:!1});break;case 1:(e&1)===1&&t.stdout.pipe(i,{end:!1}),(e&2)===2&&i.pipe(t.stdout,{end:!1});break;case 2:(e&1)===1&&t.stderr.pipe(i,{end:!1}),(e&2)===2&&i.pipe(t.stderr,{end:!1});break;default:throw new qn(`Bad file descriptor: \"${r}\"`)}return i}function fB(r,e={}){let t={...r,...e};return t.environment={...r.environment,...e.environment},t.variables={...r.variables,...e.variables},t}var pDe=new Map([[\"cd\",async([r=(0,qV.homedir)(),...e],t,i)=>{let n=x.resolve(i.cwd,K.toPortablePath(r));if(!(await t.baseFs.statPromise(n).catch(o=>{throw o.code===\"ENOENT\"?new qn(`cd: no such file or directory: ${r}`):o})).isDirectory())throw new qn(`cd: not a directory: ${r}`);return i.cwd=n,0}],[\"pwd\",async(r,e,t)=>(t.stdout.write(`${K.fromPortablePath(t.cwd)}\n`),0)],[\":\",async(r,e,t)=>0],[\"true\",async(r,e,t)=>0],[\"false\",async(r,e,t)=>1],[\"exit\",async([r,...e],t,i)=>i.exitCode=parseInt(r!=null?r:i.variables[\"?\"],10)],[\"echo\",async(r,e,t)=>(t.stdout.write(`${r.join(\" \")}\n`),0)],[\"sleep\",async([r],e,t)=>{if(typeof r>\"u\")throw new qn(\"sleep: missing operand\");let i=Number(r);if(Number.isNaN(i))throw new qn(`sleep: invalid time interval '${r}'`);return await hDe(1e3*i,0)}],[\"__ysh_run_procedure\",async(r,e,t)=>{let i=t.procedures[r[0]];return await uB(i,{stdin:new ys(t.stdin),stdout:new ys(t.stdout),stderr:new ys(t.stderr)}).run()}],[\"__ysh_set_redirects\",async(r,e,t)=>{let i=t.stdin,n=t.stdout,s=t.stderr,o=[],a=[],l=[],c=0;for(;r[c]!==\"--\";){let g=r[c++],{type:f,fd:h}=JSON.parse(g),p=v=>{switch(h){case null:case 0:o.push(v);break;default:throw new Error(`Unsupported file descriptor: \"${h}\"`)}},C=v=>{switch(h){case null:case 1:a.push(v);break;case 2:l.push(v);break;default:throw new Error(`Unsupported file descriptor: \"${h}\"`)}},y=Number(r[c++]),B=c+y;for(let v=c;v<B;++c,++v)switch(f){case\"<\":p(()=>e.baseFs.createReadStream(x.resolve(t.cwd,K.toPortablePath(r[v]))));break;case\"<<<\":p(()=>{let D=new Jn.PassThrough;return process.nextTick(()=>{D.write(`${r[v]}\n`),D.end()}),D});break;case\"<&\":p(()=>UV(Number(r[v]),1,t));break;case\">\":case\">>\":{let D=x.resolve(t.cwd,K.toPortablePath(r[v]));C(D===\"/dev/null\"?new Jn.Writable({autoDestroy:!0,emitClose:!0,write(L,H,j){setImmediate(j)}}):e.baseFs.createWriteStream(D,f===\">>\"?{flags:\"a\"}:void 0))}break;case\">&\":C(UV(Number(r[v]),2,t));break;default:throw new Error(`Assertion failed: Unsupported redirection type: \"${f}\"`)}}if(o.length>0){let g=new Jn.PassThrough;i=g;let f=h=>{if(h===o.length)g.end();else{let p=o[h]();p.pipe(g,{end:!1}),p.on(\"end\",()=>{f(h+1)})}};f(0)}if(a.length>0){let g=new Jn.PassThrough;n=g;for(let f of a)g.pipe(f)}if(l.length>0){let g=new Jn.PassThrough;s=g;for(let f of l)g.pipe(f)}let u=await uB(EC(r.slice(c+1),e,t),{stdin:new ys(i),stdout:new ys(n),stderr:new ys(s)}).run();return await Promise.all(a.map(g=>new Promise((f,h)=>{g.on(\"error\",p=>{h(p)}),g.on(\"close\",()=>{f()}),g.end()}))),await Promise.all(l.map(g=>new Promise((f,h)=>{g.on(\"error\",p=>{h(p)}),g.on(\"close\",()=>{f()}),g.end()}))),u}]]);async function dDe(r,e,t){let i=[],n=new Jn.PassThrough;return n.on(\"data\",s=>i.push(s)),await hB(r,e,fB(t,{stdout:n})),Buffer.concat(i).toString().replace(/[\\r\\n]+$/,\"\")}async function HV(r,e,t){let i=r.map(async s=>{let o=await bc(s.args,e,t);return{name:s.name,value:o.join(\" \")}});return(await Promise.all(i)).reduce((s,o)=>(s[o.name]=o.value,s),{})}function gB(r){return r.match(/[^ \\r\\n\\t]+/g)||[]}async function WV(r,e,t,i,n=i){switch(r.name){case\"$\":i(String(process.pid));break;case\"#\":i(String(e.args.length));break;case\"@\":if(r.quoted)for(let s of e.args)n(s);else for(let s of e.args){let o=gB(s);for(let a=0;a<o.length-1;++a)n(o[a]);i(o[o.length-1])}break;case\"*\":{let s=e.args.join(\" \");if(r.quoted)i(s);else for(let o of gB(s))n(o)}break;case\"PPID\":i(String(process.ppid));break;case\"RANDOM\":i(String(Math.floor(Math.random()*32768)));break;default:{let s=parseInt(r.name,10),o,a=Number.isFinite(s);if(a?s>=0&&s<e.args.length&&(o=e.args[s]):Object.prototype.hasOwnProperty.call(t.variables,r.name)?o=t.variables[r.name]:Object.prototype.hasOwnProperty.call(t.environment,r.name)&&(o=t.environment[r.name]),typeof o<\"u\"&&r.alternativeValue?o=(await bc(r.alternativeValue,e,t)).join(\" \"):typeof o>\"u\"&&(r.defaultValue?o=(await bc(r.defaultValue,e,t)).join(\" \"):r.alternativeValue&&(o=\"\")),typeof o>\"u\")throw a?new qn(`Unbound argument #${s}`):new qn(`Unbound variable \"${r.name}\"`);if(r.quoted)i(o);else{let l=gB(o);for(let u=0;u<l.length-1;++u)n(l[u]);let c=l[l.length-1];typeof c<\"u\"&&i(c)}}break}}var CDe={addition:(r,e)=>r+e,subtraction:(r,e)=>r-e,multiplication:(r,e)=>r*e,division:(r,e)=>Math.trunc(r/e)};async function mC(r,e,t){if(r.type===\"number\"){if(Number.isInteger(r.value))return r.value;throw new Error(`Invalid number: \"${r.value}\", only integers are allowed`)}else if(r.type===\"variable\"){let i=[];await WV({...r,quoted:!0},e,t,s=>i.push(s));let n=Number(i.join(\" \"));return Number.isNaN(n)?mC({type:\"variable\",name:i.join(\" \")},e,t):mC({type:\"number\",value:n},e,t)}else return CDe[r.type](await mC(r.left,e,t),await mC(r.right,e,t))}async function bc(r,e,t){let i=new Map,n=[],s=[],o=u=>{s.push(u)},a=()=>{s.length>0&&n.push(s.join(\"\")),s=[]},l=u=>{o(u),a()},c=(u,g,f)=>{let h=JSON.stringify({type:u,fd:g}),p=i.get(h);typeof p>\"u\"&&i.set(h,p=[]),p.push(f)};for(let u of r){let g=!1;switch(u.type){case\"redirection\":{let f=await bc(u.args,e,t);for(let h of f)c(u.subtype,u.fd,h)}break;case\"argument\":for(let f of u.segments)switch(f.type){case\"text\":o(f.text);break;case\"glob\":o(f.pattern),g=!0;break;case\"shell\":{let h=await dDe(f.shell,e,t);if(f.quoted)o(h);else{let p=gB(h);for(let C=0;C<p.length-1;++C)l(p[C]);o(p[p.length-1])}}break;case\"variable\":await WV(f,e,t,o,l);break;case\"arithmetic\":o(String(await mC(f.arithmetic,e,t)));break}break}if(a(),g){let f=n.pop();if(typeof f>\"u\")throw new Error(\"Assertion failed: Expected a glob pattern to have been set\");let h=await e.glob.match(f,{cwd:t.cwd,baseFs:e.baseFs});if(h.length===0){let p=ER(f)?\". Note: Brace expansion of arbitrary strings isn't currently supported. For more details, please read this issue: https://github.com/yarnpkg/berry/issues/22\":\"\";throw new qn(`No matches found: \"${f}\"${p}`)}for(let p of h.sort())l(p)}}if(i.size>0){let u=[];for(let[g,f]of i.entries())u.splice(u.length,0,g,String(f.length),...f);n.splice(0,0,\"__ysh_set_redirects\",...u,\"--\")}return n}function EC(r,e,t){e.builtins.has(r[0])||(r=[\"command\",...r]);let i=K.fromPortablePath(t.cwd),n=t.environment;typeof n.PWD<\"u\"&&(n={...n,PWD:i});let[s,...o]=r;if(s===\"command\")return OV(o[0],o.slice(1),e,{cwd:i,env:n});let a=e.builtins.get(s);if(typeof a>\"u\")throw new Error(`Assertion failed: A builtin should exist for \"${s}\"`);return MV(async({stdin:l,stdout:c,stderr:u})=>{let{stdin:g,stdout:f,stderr:h}=t;t.stdin=l,t.stdout=c,t.stderr=u;try{return await a(o,e,t)}finally{t.stdin=g,t.stdout=f,t.stderr=h}})}function mDe(r,e,t){return i=>{let n=new Jn.PassThrough,s=hB(r,e,fB(t,{stdin:n}));return{stdin:n,promise:s}}}function EDe(r,e,t){return i=>{let n=new Jn.PassThrough,s=hB(r,e,t);return{stdin:n,promise:s}}}function GV(r,e,t,i){if(e.length===0)return r;{let n;do n=String(Math.random());while(Object.prototype.hasOwnProperty.call(i.procedures,n));return i.procedures={...i.procedures},i.procedures[n]=r,EC([...e,\"__ysh_run_procedure\",n],t,i)}}async function YV(r,e,t){let i=r,n=null,s=null;for(;i;){let o=i.then?{...t}:t,a;switch(i.type){case\"command\":{let l=await bc(i.args,e,t),c=await HV(i.envs,e,t);a=i.envs.length?EC(l,e,fB(o,{environment:c})):EC(l,e,o)}break;case\"subshell\":{let l=await bc(i.args,e,t),c=mDe(i.subshell,e,o);a=GV(c,l,e,o)}break;case\"group\":{let l=await bc(i.args,e,t),c=EDe(i.group,e,o);a=GV(c,l,e,o)}break;case\"envs\":{let l=await HV(i.envs,e,t);o.environment={...o.environment,...l},a=EC([\"true\"],e,o)}break}if(typeof a>\"u\")throw new Error(\"Assertion failed: An action should have been generated\");if(n===null)s=uB(a,{stdin:new ys(o.stdin),stdout:new ys(o.stdout),stderr:new ys(o.stderr)});else{if(s===null)throw new Error(\"Assertion failed: The execution pipeline should have been setup\");switch(n){case\"|\":s=s.pipeTo(a,1);break;case\"|&\":s=s.pipeTo(a,3);break}}i.then?(n=i.then.type,i=i.then.chain):i=null}if(s===null)throw new Error(\"Assertion failed: The execution pipeline should have been setup\");return await s.run()}async function IDe(r,e,t,{background:i=!1}={}){function n(s){let o=[\"#2E86AB\",\"#A23B72\",\"#F18F01\",\"#C73E1D\",\"#CCE2A3\"],a=o[s%o.length];return jV.default.hex(a)}if(i){let s=t.nextBackgroundJobIndex++,o=n(s),a=`[${s}]`,l=o(a),{stdout:c,stderr:u}=KV(t,{prefix:l});return t.backgroundJobs.push(YV(r,e,fB(t,{stdout:c,stderr:u})).catch(g=>u.write(`${g.message}\n`)).finally(()=>{t.stdout.isTTY&&t.stdout.write(`Job ${l}, '${o(Bg(r))}' has ended\n`)})),0}return await YV(r,e,t)}async function yDe(r,e,t,{background:i=!1}={}){let n,s=a=>{n=a,t.variables[\"?\"]=String(a)},o=async a=>{try{return await IDe(a.chain,e,t,{background:i&&typeof a.then>\"u\"})}catch(l){if(!(l instanceof qn))throw l;return t.stderr.write(`${l.message}\n`),1}};for(s(await o(r));r.then;){if(t.exitCode!==null)return t.exitCode;switch(r.then.type){case\"&&\":n===0&&s(await o(r.then.line));break;case\"||\":n!==0&&s(await o(r.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: \"${r.then.type}\"`)}r=r.then.line}return n}async function hB(r,e,t){let i=t.backgroundJobs;t.backgroundJobs=[];let n=0;for(let{command:s,type:o}of r){if(n=await yDe(s,e,t,{background:o===\"&\"}),t.exitCode!==null)return t.exitCode;t.variables[\"?\"]=String(n)}return await Promise.all(t.backgroundJobs),t.backgroundJobs=i,n}function zV(r){switch(r.type){case\"variable\":return r.name===\"@\"||r.name===\"#\"||r.name===\"*\"||Number.isFinite(parseInt(r.name,10))||\"defaultValue\"in r&&!!r.defaultValue&&r.defaultValue.some(e=>IC(e))||\"alternativeValue\"in r&&!!r.alternativeValue&&r.alternativeValue.some(e=>IC(e));case\"arithmetic\":return BR(r.arithmetic);case\"shell\":return QR(r.shell);default:return!1}}function IC(r){switch(r.type){case\"redirection\":return r.args.some(e=>IC(e));case\"argument\":return r.segments.some(e=>zV(e));default:throw new Error(`Assertion failed: Unsupported argument type: \"${r.type}\"`)}}function BR(r){switch(r.type){case\"variable\":return zV(r);case\"number\":return!1;default:return BR(r.left)||BR(r.right)}}function QR(r){return r.some(({command:e})=>{for(;e;){let t=e.chain;for(;t;){let i;switch(t.type){case\"subshell\":i=QR(t.subshell);break;case\"command\":i=t.envs.some(n=>n.args.some(s=>IC(s)))||t.args.some(n=>IC(n));break}if(i)return!0;if(!t.then)break;t=t.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function pB(r,e=[],{baseFs:t=new $t,builtins:i={},cwd:n=K.toPortablePath(process.cwd()),env:s=process.env,stdin:o=process.stdin,stdout:a=process.stdout,stderr:l=process.stderr,variables:c={},glob:u=cB}={}){let g={};for(let[p,C]of Object.entries(s))typeof C<\"u\"&&(g[p]=C);let f=new Map(pDe);for(let[p,C]of Object.entries(i))f.set(p,C);o===null&&(o=new Jn.PassThrough,o.end());let h=$E(r,u);if(!QR(h)&&h.length>0&&e.length>0){let{command:p}=h[h.length-1];for(;p.then;)p=p.then.line;let C=p.chain;for(;C.then;)C=C.then.chain;C.type===\"command\"&&(C.args=C.args.concat(e.map(y=>({type:\"argument\",segments:[{type:\"text\",text:y}]}))))}return await hB(h,{args:e,baseFs:t,builtins:f,initialStdin:o,initialStdout:a,initialStderr:l,glob:u},{cwd:n,environment:g,exitCode:null,procedures:{},stdin:o,stdout:a,stderr:l,variables:Object.assign({},c,{[\"?\"]:0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var N6=Pe(dB()),L6=Pe(Tg()),JA=J(\"stream\");var R6=Pe(x6()),IB=Pe(Vl());var P6=[\"\\u280B\",\"\\u2819\",\"\\u2839\",\"\\u2838\",\"\\u283C\",\"\\u2834\",\"\\u2826\",\"\\u2827\",\"\\u2807\",\"\\u280F\"],D6=80,Eke=new Set([13,19]),Ike=5,EB=IB.default.GITHUB_ACTIONS?{start:r=>`::group::${r}\n`,end:r=>`::endgroup::\n`}:IB.default.TRAVIS?{start:r=>`travis_fold:start:${r}\n`,end:r=>`travis_fold:end:${r}\n`}:IB.default.GITLAB?{start:r=>`section_start:${Math.floor(Date.now()/1e3)}:${r.toLowerCase().replace(/\\W+/g,\"_\")}[collapsed=true]\\r\\x1B[0K${r}\n`,end:r=>`section_end:${Math.floor(Date.now()/1e3)}:${r.toLowerCase().replace(/\\W+/g,\"_\")}\\r\\x1B[0K`}:null,k6=new Date,yke=[\"iTerm.app\",\"Apple_Terminal\",\"WarpTerminal\",\"vscode\"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,wke=r=>r,yB=wke({patrick:{date:[17,3],chars:[\"\\u{1F340}\",\"\\u{1F331}\"],size:40},simba:{date:[19,7],chars:[\"\\u{1F981}\",\"\\u{1F334}\"],size:40},jack:{date:[31,10],chars:[\"\\u{1F383}\",\"\\u{1F987}\"],size:40},hogsfather:{date:[31,12],chars:[\"\\u{1F389}\",\"\\u{1F384}\"],size:40},default:{chars:[\"=\",\"-\"],size:80}}),Bke=yke&&Object.keys(yB).find(r=>{let e=yB[r];return!(e.date&&(e.date[0]!==k6.getDate()||e.date[1]!==k6.getMonth()+1))})||\"default\";function F6(r,{configuration:e,json:t}){if(!e.get(\"enableMessageNames\"))return\"\";let n=QA(r===null?0:r);return!t&&r===null?Ze(e,n,\"grey\"):n}function PR(r,{configuration:e,json:t}){let i=F6(r,{configuration:e,json:t});if(!i||r===null||r===0)return i;let n=Ct[r],s=`https://yarnpkg.com/advanced/error-codes#${i}---${n}`.toLowerCase();return cf(e,i,s)}var Ge=class extends Si{constructor({configuration:t,stdout:i,json:n=!1,includePrefix:s=!0,includeFooter:o=!0,includeLogs:a=!n,includeInfos:l=a,includeWarnings:c=a,forgettableBufferSize:u=Ike,forgettableNames:g=new Set}){super();this.uncommitted=new Set;this.cacheHitCount=0;this.cacheMissCount=0;this.lastCacheMiss=null;this.warningCount=0;this.errorCount=0;this.startTime=Date.now();this.indent=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.progressStyle=null;this.progressMaxScaledSize=null;this.forgettableLines=[];if(Kd(this,{configuration:t}),this.configuration=t,this.forgettableBufferSize=u,this.forgettableNames=new Set([...g,...Eke]),this.includePrefix=s,this.includeFooter=o,this.includeInfos=l,this.includeWarnings=c,this.json=n,this.stdout=i,t.get(\"enableProgressBars\")&&!n&&i.isTTY&&i.columns>22){let f=t.get(\"progressBarStyle\")||Bke;if(!Object.prototype.hasOwnProperty.call(yB,f))throw new Error(\"Assertion failed: Invalid progress bar style\");this.progressStyle=yB[f];let h=12,p=Math.max(0,Math.min(i.columns-h,80));this.progressMaxScaledSize=Math.floor(this.progressStyle.size*p/80)}}static async start(t,i){let n=new this(t),s=process.emitWarning;process.emitWarning=(o,a)=>{if(typeof o!=\"string\"){let c=o;o=c.message,a=a!=null?a:c.name}let l=typeof a<\"u\"?`${a}: ${o}`:o;n.reportWarning(0,l)};try{await i(n)}catch(o){n.reportExceptionOnce(o)}finally{await n.finalize(),process.emitWarning=s}return n}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(t){this.cacheHitCount+=1}reportCacheMiss(t,i){this.lastCacheMiss=t,this.cacheMissCount+=1,typeof i<\"u\"&&!this.configuration.get(\"preferAggregateCacheInfo\")&&this.reportInfo(13,i)}startSectionSync({reportHeader:t,reportFooter:i,skipIfEmpty:n},s){let o={committed:!1,action:()=>{t==null||t()}};n?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(i==null||i(l-a))}}async startSectionPromise({reportHeader:t,reportFooter:i,skipIfEmpty:n},s){let o={committed:!1,action:()=>{t==null||t()}};n?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return await s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(i==null||i(l-a))}}startTimerImpl(t,i,n){return{cb:typeof i==\"function\"?i:n,reportHeader:()=>{this.reportInfo(null,`\\u250C ${t}`),this.indent+=1,EB!==null&&!this.json&&this.includeInfos&&this.stdout.write(EB.start(t))},reportFooter:a=>{this.indent-=1,EB!==null&&!this.json&&this.includeInfos&&this.stdout.write(EB.end(t)),this.configuration.get(\"enableTimers\")&&a>200?this.reportInfo(null,`\\u2514 Completed in ${Ze(this.configuration,a,Ue.DURATION)}`):this.reportInfo(null,\"\\u2514 Completed\")},skipIfEmpty:(typeof i==\"function\"?{}:i).skipIfEmpty}}startTimerSync(t,i,n){let{cb:s,...o}=this.startTimerImpl(t,i,n);return this.startSectionSync(o,s)}async startTimerPromise(t,i,n){let{cb:s,...o}=this.startTimerImpl(t,i,n);return this.startSectionPromise(o,s)}async startCacheReport(t){let i=this.configuration.get(\"preferAggregateCacheInfo\")?{cacheHitCount:this.cacheHitCount,cacheMissCount:this.cacheMissCount}:null;try{return await t()}catch(n){throw this.reportExceptionOnce(n),n}finally{i!==null&&this.reportCacheChanges(i)}}reportSeparator(){this.indent===0?this.writeLineWithForgettableReset(\"\"):this.reportInfo(null,\"\")}reportInfo(t,i){if(!this.includeInfos)return;this.commit();let n=this.formatNameWithHyperlink(t),s=n?`${n}: `:\"\",o=`${this.formatPrefix(s,\"blueBright\")}${i}`;if(this.json)this.reportJson({type:\"info\",name:t,displayName:this.formatName(t),indent:this.formatIndent(),data:i});else if(this.forgettableNames.has(t))if(this.forgettableLines.push(o),this.forgettableLines.length>this.forgettableBufferSize){for(;this.forgettableLines.length>this.forgettableBufferSize;)this.forgettableLines.shift();this.writeLines(this.forgettableLines,{truncate:!0})}else this.writeLine(o,{truncate:!0});else this.writeLineWithForgettableReset(o)}reportWarning(t,i){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let n=this.formatNameWithHyperlink(t),s=n?`${n}: `:\"\";this.json?this.reportJson({type:\"warning\",name:t,displayName:this.formatName(t),indent:this.formatIndent(),data:i}):this.writeLineWithForgettableReset(`${this.formatPrefix(s,\"yellowBright\")}${i}`)}reportError(t,i){this.errorCount+=1,this.commit();let n=this.formatNameWithHyperlink(t),s=n?`${n}: `:\"\";this.json?this.reportJson({type:\"error\",name:t,displayName:this.formatName(t),indent:this.formatIndent(),data:i}):this.writeLineWithForgettableReset(`${this.formatPrefix(s,\"redBright\")}${i}`,{truncate:!1})}reportProgress(t){if(this.progressStyle===null)return{...Promise.resolve(),stop:()=>{}};if(t.hasProgress&&t.hasTitle)throw new Error(\"Unimplemented: Progress bars can't have both progress and titles.\");let i=!1,n=Promise.resolve().then(async()=>{let o={progress:t.hasProgress?0:void 0,title:t.hasTitle?\"\":void 0};this.progress.set(t,{definition:o,lastScaledSize:t.hasProgress?-1:void 0,lastTitle:void 0}),this.refreshProgress({delta:-1});for await(let{progress:a,title:l}of t)i||o.progress===a&&o.title===l||(o.progress=a,o.title=l,this.refreshProgress());s()}),s=()=>{i||(i=!0,this.progress.delete(t),this.refreshProgress({delta:1}))};return{...n,stop:s}}reportJson(t){this.json&&this.writeLineWithForgettableReset(`${JSON.stringify(t)}`)}async finalize(){if(!this.includeFooter)return;let t=\"\";this.errorCount>0?t=\"Failed with errors\":this.warningCount>0?t=\"Done with warnings\":t=\"Done\";let i=Ze(this.configuration,Date.now()-this.startTime,Ue.DURATION),n=this.configuration.get(\"enableTimers\")?`${t} in ${i}`:t;this.errorCount>0?this.reportError(0,n):this.warningCount>0?this.reportWarning(0,n):this.reportInfo(0,n)}writeLine(t,{truncate:i}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(t,{truncate:i})}\n`),this.writeProgress()}writeLineWithForgettableReset(t,{truncate:i}={}){this.forgettableLines=[],this.writeLine(t,{truncate:i})}writeLines(t,{truncate:i}={}){this.clearProgress({delta:t.length});for(let n of t)this.stdout.write(`${this.truncate(n,{truncate:i})}\n`);this.writeProgress()}reportCacheChanges({cacheHitCount:t,cacheMissCount:i}){let n=this.cacheHitCount-t,s=this.cacheMissCount-i;if(n===0&&s===0)return;let o=\"\";this.cacheHitCount>1?o+=`${this.cacheHitCount} packages were already cached`:this.cacheHitCount===1?o+=\" - one package was already cached\":o+=\"No packages were cached\",this.cacheHitCount>0?this.cacheMissCount>1?o+=`, ${this.cacheMissCount} had to be fetched`:this.cacheMissCount===1&&(o+=`, one had to be fetched (${mt(this.configuration,this.lastCacheMiss)})`):this.cacheMissCount>1?o+=` - ${this.cacheMissCount} packages had to be fetched`:this.cacheMissCount===1&&(o+=` - one package had to be fetched (${mt(this.configuration,this.lastCacheMiss)})`),this.reportInfo(13,o)}commit(){let t=this.uncommitted;this.uncommitted=new Set;for(let i of t)i.committed=!0,i.action()}clearProgress({delta:t=0,clear:i=!1}){this.progressStyle!==null&&this.progress.size+t>0&&(this.stdout.write(`\\x1B[${this.progress.size+t}A`),(t>0||i)&&this.stdout.write(\"\\x1B[0J\"))}writeProgress(){if(this.progressStyle===null||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let t=Date.now();t-this.progressTime>D6&&(this.progressFrame=(this.progressFrame+1)%P6.length,this.progressTime=t);let i=P6[this.progressFrame];for(let n of this.progress.values()){let s=\"\";if(typeof n.lastScaledSize<\"u\"){let c=this.progressStyle.chars[0].repeat(n.lastScaledSize),u=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-n.lastScaledSize);s=` ${c}${u}`}let o=this.formatName(null),a=o?`${o}: `:\"\",l=n.definition.title?` ${n.definition.title}`:\"\";this.stdout.write(`${Ze(this.configuration,\"\\u27A4\",\"blueBright\")} ${a}${i}${s}${l}\n`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress({force:!0})},D6)}refreshProgress({delta:t=0,force:i=!1}={}){let n=!1,s=!1;if(i||this.progress.size===0)n=!0;else for(let o of this.progress.values()){let a=typeof o.definition.progress<\"u\"?Math.trunc(this.progressMaxScaledSize*o.definition.progress):void 0,l=o.lastScaledSize;o.lastScaledSize=a;let c=o.lastTitle;if(o.lastTitle=o.definition.title,a!==l||(s=c!==o.definition.title)){n=!0;break}}n&&(this.clearProgress({delta:t,clear:s}),this.writeProgress())}truncate(t,{truncate:i}={}){return this.progressStyle===null&&(i=!1),typeof i>\"u\"&&(i=this.configuration.get(\"preferTruncatedLines\")),i&&(t=(0,R6.default)(t,0,this.stdout.columns-1)),t}formatName(t){return F6(t,{configuration:this.configuration,json:this.json})}formatPrefix(t,i){return this.includePrefix?`${Ze(this.configuration,\"\\u27A4\",i)} ${t}${this.formatIndent()}`:\"\"}formatNameWithHyperlink(t){return PR(t,{configuration:this.configuration,json:this.json})}formatIndent(){return\"\\u2502 \".repeat(this.indent)}};var Lr=\"3.4.1\";var T6=(n=>(n.Yarn1=\"Yarn Classic\",n.Yarn2=\"Yarn\",n.Npm=\"npm\",n.Pnpm=\"pnpm\",n))(T6||{});async function Ka(r,e,t,i=[]){if(process.platform===\"win32\"){let n=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @\"${t}\" ${i.map(s=>`\"${s.replace('\"','\"\"')}\"`).join(\" \")} %*`;await M.writeFilePromise(x.format({dir:r,name:e,ext:\".cmd\"}),n)}await M.writeFilePromise(x.join(r,e),`#!/bin/sh\nexec \"${t}\" ${i.map(n=>`'${n.replace(/'/g,`'\"'\"'`)}'`).join(\" \")} \"$@\"\n`,{mode:493})}async function O6(r){let e=await ot.tryFind(r);if(e!=null&&e.packageManager){let i=hw(e.packageManager);if(i!=null&&i.name){let n=`found ${JSON.stringify({packageManager:e.packageManager})} in manifest`,[s]=i.reference.split(\".\");switch(i.name){case\"yarn\":{let o=Number(s)===1?\"Yarn Classic\":\"Yarn\";return{packageManagerField:!0,packageManager:o,reason:n}}break;case\"npm\":return{packageManagerField:!0,packageManager:\"npm\",reason:n};case\"pnpm\":return{packageManagerField:!0,packageManager:\"pnpm\",reason:n}}}}let t;try{t=await M.readFilePromise(x.join(r,xt.lockfile),\"utf8\")}catch{}return t!==void 0?t.match(/^__metadata:$/m)?{packageManager:\"Yarn\",reason:'\"__metadata\" key found in yarn.lock'}:{packageManager:\"Yarn Classic\",reason:'\"__metadata\" key not found in yarn.lock, must be a Yarn classic lockfile'}:M.existsSync(x.join(r,\"package-lock.json\"))?{packageManager:\"npm\",reason:`found npm's \"package-lock.json\" lockfile`}:M.existsSync(x.join(r,\"pnpm-lock.yaml\"))?{packageManager:\"pnpm\",reason:`found pnpm's \"pnpm-lock.yaml\" lockfile`}:null}async function wC({project:r,locator:e,binFolder:t,ignoreCorepack:i,lifecycleScript:n}){var c,u;let s={};for(let[g,f]of Object.entries(process.env))typeof f<\"u\"&&(s[g.toLowerCase()!==\"path\"?g:\"PATH\"]=f);let o=K.fromPortablePath(t);s.BERRY_BIN_FOLDER=K.fromPortablePath(o);let a=process.env.COREPACK_ROOT&&!i?K.join(process.env.COREPACK_ROOT,\"dist/yarn.js\"):process.argv[1];if(await Promise.all([Ka(t,\"node\",process.execPath),...Lr!==null?[Ka(t,\"run\",process.execPath,[a,\"run\"]),Ka(t,\"yarn\",process.execPath,[a]),Ka(t,\"yarnpkg\",process.execPath,[a]),Ka(t,\"node-gyp\",process.execPath,[a,\"run\",\"--top-level\",\"node-gyp\"])]:[]]),r&&(s.INIT_CWD=K.fromPortablePath(r.configuration.startingCwd),s.PROJECT_CWD=K.fromPortablePath(r.cwd)),s.PATH=s.PATH?`${o}${K.delimiter}${s.PATH}`:`${o}`,s.npm_execpath=`${o}${K.sep}yarn`,s.npm_node_execpath=`${o}${K.sep}node`,e){if(!r)throw new Error(\"Assertion failed: Missing project\");let g=r.tryWorkspaceByLocator(e),f=g?(c=g.manifest.version)!=null?c:\"\":(u=r.storedPackages.get(e.locatorHash).version)!=null?u:\"\";s.npm_package_name=Ot(e),s.npm_package_version=f;let h;if(g)h=g.cwd;else{let p=r.storedPackages.get(e.locatorHash);if(!p)throw new Error(`Package for ${mt(r.configuration,e)} not found in the project`);let C=r.configuration.getLinkers(),y={project:r,report:new Ge({stdout:new JA.PassThrough,configuration:r.configuration})},B=C.find(v=>v.supportsPackage(p,y));if(!B)throw new Error(`The package ${mt(r.configuration,p)} isn't supported by any of the available linkers`);h=await B.findPackageLocation(p,y)}s.npm_package_json=K.fromPortablePath(x.join(h,xt.manifest))}let l=Lr!==null?`yarn/${Lr}`:`yarn/${Af(\"@yarnpkg/core\").version}-core`;return s.npm_config_user_agent=`${l} npm/? node/${process.version} ${process.platform} ${process.arch}`,n&&(s.npm_lifecycle_event=n),r&&await r.configuration.triggerHook(g=>g.setupScriptEnvironment,r,s,async(g,f,h)=>await Ka(t,Ur(g),f,h)),s}var Qke=2,bke=(0,L6.default)(Qke);async function Ske(r,e,{configuration:t,report:i,workspace:n=null,locator:s=null}){await bke(async()=>{await M.mktempPromise(async o=>{let a=x.join(o,\"pack.log\"),l=null,{stdout:c,stderr:u}=t.getSubprocessStreams(a,{prefix:K.fromPortablePath(r),report:i}),g=s&&Uo(s)?Wd(s):s,f=g?hs(g):\"an external project\";c.write(`Packing ${f} from sources\n`);let h=await O6(r),p;h!==null?(c.write(`Using ${h.packageManager} for bootstrap. Reason: ${h.reason}\n\n`),p=h.packageManager):(c.write(`No package manager configuration detected; defaulting to Yarn\n\n`),p=\"Yarn\");let C=p===\"Yarn\"&&!(h!=null&&h.packageManagerField);await M.mktempPromise(async y=>{let B=await wC({binFolder:y,ignoreCorepack:C}),D=new Map([[\"Yarn Classic\",async()=>{let H=n!==null?[\"workspace\",n]:[],j=x.join(r,xt.manifest),$=await M.readFilePromise(j),V=await Yo(process.execPath,[process.argv[1],\"set\",\"version\",\"classic\",\"--only-if-needed\"],{cwd:r,env:B,stdin:l,stdout:c,stderr:u,end:1});if(V.code!==0)return V.code;await M.writeFilePromise(j,$),await M.appendFilePromise(x.join(r,\".npmignore\"),`/.yarn\n`),c.write(`\n`),delete B.NODE_ENV;let W=await Yo(\"yarn\",[\"install\"],{cwd:r,env:B,stdin:l,stdout:c,stderr:u,end:1});if(W.code!==0)return W.code;c.write(`\n`);let Z=await Yo(\"yarn\",[...H,\"pack\",\"--filename\",K.fromPortablePath(e)],{cwd:r,env:B,stdin:l,stdout:c,stderr:u});return Z.code!==0?Z.code:0}],[\"Yarn\",async()=>{let H=n!==null?[\"workspace\",n]:[];B.YARN_ENABLE_INLINE_BUILDS=\"1\";let j=x.join(r,xt.lockfile);await M.existsPromise(j)||await M.writeFilePromise(j,\"\");let $=await Yo(\"yarn\",[...H,\"pack\",\"--install-if-needed\",\"--filename\",K.fromPortablePath(e)],{cwd:r,env:B,stdin:l,stdout:c,stderr:u});return $.code!==0?$.code:0}],[\"npm\",async()=>{if(n!==null){let ae=new JA.PassThrough,ge=af(ae);ae.pipe(c,{end:!1});let re=await Yo(\"npm\",[\"--version\"],{cwd:r,env:B,stdin:l,stdout:ae,stderr:u,end:0});if(ae.end(),re.code!==0)return c.end(),u.end(),re.code;let O=(await ge).toString().trim();if(!mc(O,\">=7.x\")){let F=Ho(null,\"npm\"),ue=Zt(F,O),he=Zt(F,\">=7.x\");throw new Error(`Workspaces aren't supported by ${tr(t,ue)}; please upgrade to ${tr(t,he)} (npm has been detected as the primary package manager for ${Ze(t,r,Ue.PATH)})`)}}let H=n!==null?[\"--workspace\",n]:[];delete B.npm_config_user_agent,delete B.npm_config_production,delete B.NPM_CONFIG_PRODUCTION,delete B.NODE_ENV;let j=await Yo(\"npm\",[\"install\"],{cwd:r,env:B,stdin:l,stdout:c,stderr:u,end:1});if(j.code!==0)return j.code;let $=new JA.PassThrough,V=af($);$.pipe(c);let W=await Yo(\"npm\",[\"pack\",\"--silent\",...H],{cwd:r,env:B,stdin:l,stdout:$,stderr:u});if(W.code!==0)return W.code;let Z=(await V).toString().trim().replace(/^.*\\n/s,\"\"),A=x.resolve(r,K.toPortablePath(Z));return await M.renamePromise(A,e),0}]]).get(p);if(typeof D>\"u\")throw new Error(\"Assertion failed: Unsupported workflow\");let L=await D();if(!(L===0||typeof L>\"u\"))throw M.detachTemp(o),new at(58,`Packing the package failed (exit code ${L}, logs can be found here: ${Ze(t,a,Ue.PATH)})`)})})})}async function vke(r,e,{project:t}){let i=t.tryWorkspaceByLocator(r);if(i!==null)return kR(i,e);let n=t.storedPackages.get(r.locatorHash);if(!n)throw new Error(`Package for ${mt(t.configuration,r)} not found in the project`);return await Tn.openPromise(async s=>{let o=t.configuration,a=t.configuration.getLinkers(),l={project:t,report:new Ge({stdout:new JA.PassThrough,configuration:o})},c=a.find(h=>h.supportsPackage(n,l));if(!c)throw new Error(`The package ${mt(t.configuration,n)} isn't supported by any of the available linkers`);let u=await c.findPackageLocation(n,l),g=new jt(u,{baseFs:s});return(await ot.find(Oe.dot,{baseFs:g})).scripts.has(e)},{libzip:await rn()})}async function wB(r,e,t,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await M.mktempPromise(async l=>{let{manifest:c,env:u,cwd:g}=await M6(r,{project:n,binFolder:l,cwd:i,lifecycleScript:e}),f=c.scripts.get(e);if(typeof f>\"u\")return 1;let h=async()=>await pB(f,t,{cwd:g,env:u,stdin:s,stdout:o,stderr:a});return await(await n.configuration.reduceHook(C=>C.wrapScriptExecution,h,n,r,e,{script:f,args:t,cwd:g,env:u,stdin:s,stdout:o,stderr:a}))()})}async function DR(r,e,t,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await M.mktempPromise(async l=>{let{env:c,cwd:u}=await M6(r,{project:n,binFolder:l,cwd:i});return await pB(e,t,{cwd:u,env:c,stdin:s,stdout:o,stderr:a})})}async function xke(r,{binFolder:e,cwd:t,lifecycleScript:i}){let n=await wC({project:r.project,locator:r.anchoredLocator,binFolder:e,lifecycleScript:i});return await Promise.all(Array.from(await H6(r),([s,[,o]])=>Ka(e,Ur(s),process.execPath,[o]))),typeof t>\"u\"&&(t=x.dirname(await M.realpathPromise(x.join(r.cwd,\"package.json\")))),{manifest:r.manifest,binFolder:e,env:n,cwd:t}}async function M6(r,{project:e,binFolder:t,cwd:i,lifecycleScript:n}){let s=e.tryWorkspaceByLocator(r);if(s!==null)return xke(s,{binFolder:t,cwd:i,lifecycleScript:n});let o=e.storedPackages.get(r.locatorHash);if(!o)throw new Error(`Package for ${mt(e.configuration,r)} not found in the project`);return await Tn.openPromise(async a=>{let l=e.configuration,c=e.configuration.getLinkers(),u={project:e,report:new Ge({stdout:new JA.PassThrough,configuration:l})},g=c.find(y=>y.supportsPackage(o,u));if(!g)throw new Error(`The package ${mt(e.configuration,o)} isn't supported by any of the available linkers`);let f=await wC({project:e,locator:r,binFolder:t,lifecycleScript:n});await Promise.all(Array.from(await BB(r,{project:e}),([y,[,B]])=>Ka(t,Ur(y),process.execPath,[B])));let h=await g.findPackageLocation(o,u),p=new jt(h,{baseFs:a}),C=await ot.find(Oe.dot,{baseFs:p});return typeof i>\"u\"&&(i=h),{manifest:C,binFolder:t,env:f,cwd:i}},{libzip:await rn()})}async function K6(r,e,t,{cwd:i,stdin:n,stdout:s,stderr:o}){return await wB(r.anchoredLocator,e,t,{cwd:i,project:r.project,stdin:n,stdout:s,stderr:o})}function kR(r,e){return r.manifest.scripts.has(e)}async function U6(r,e,{cwd:t,report:i}){let{configuration:n}=r.project,s=null;await M.mktempPromise(async o=>{let a=x.join(o,`${e}.log`),l=`# This file contains the result of Yarn calling the \"${e}\" lifecycle script inside a workspace (\"${K.fromPortablePath(r.cwd)}\")\n`,{stdout:c,stderr:u}=n.getSubprocessStreams(a,{report:i,prefix:mt(n,r.anchoredLocator),header:l});i.reportInfo(36,`Calling the \"${e}\" lifecycle script`);let g=await K6(r,e,[],{cwd:t,stdin:s,stdout:c,stderr:u});if(c.end(),u.end(),g!==0)throw M.detachTemp(o),new at(36,`${(0,N6.default)(e)} script failed (exit code ${Ze(n,g,Ue.NUMBER)}, logs can be found here: ${Ze(n,a,Ue.PATH)}); run ${Ze(n,`yarn ${e}`,Ue.CODE)} to investigate`)})}async function Pke(r,e,t){kR(r,e)&&await U6(r,e,t)}async function BB(r,{project:e}){let t=e.configuration,i=new Map,n=e.storedPackages.get(r.locatorHash);if(!n)throw new Error(`Package for ${mt(t,r)} not found in the project`);let s=new JA.Writable,o=t.getLinkers(),a={project:e,report:new Ge({configuration:t,stdout:s})},l=new Set([r.locatorHash]);for(let u of n.dependencies.values()){let g=e.storedResolutions.get(u.descriptorHash);if(!g)throw new Error(`Assertion failed: The resolution (${tr(t,u)}) should have been registered`);l.add(g)}let c=await Promise.all(Array.from(l,async u=>{let g=e.storedPackages.get(u);if(!g)throw new Error(`Assertion failed: The package (${u}) should have been registered`);if(g.bin.size===0)return To.skip;let f=o.find(p=>p.supportsPackage(g,a));if(!f)return To.skip;let h=null;try{h=await f.findPackageLocation(g,a)}catch(p){if(p.code===\"LOCATOR_NOT_INSTALLED\")return To.skip;throw p}return{dependency:g,packageLocation:h}}));for(let u of c){if(u===To.skip)continue;let{dependency:g,packageLocation:f}=u;for(let[h,p]of g.bin)i.set(h,[g,K.fromPortablePath(x.resolve(f,p))])}return i}async function H6(r){return await BB(r.anchoredLocator,{project:r.project})}async function G6(r,e,t,{cwd:i,project:n,stdin:s,stdout:o,stderr:a,nodeArgs:l=[],packageAccessibleBinaries:c}){c!=null||(c=await BB(r,{project:n}));let u=c.get(e);if(!u)throw new Error(`Binary not found (${e}) for ${mt(n.configuration,r)}`);return await M.mktempPromise(async g=>{let[,f]=u,h=await wC({project:n,locator:r,binFolder:g});await Promise.all(Array.from(c,([C,[,y]])=>Ka(h.BERRY_BIN_FOLDER,Ur(C),process.execPath,[y])));let p;try{p=await Yo(process.execPath,[...l,f,...t],{cwd:i,env:h,stdin:s,stdout:o,stderr:a})}finally{await M.removePromise(h.BERRY_BIN_FOLDER)}return p.code})}async function Dke(r,e,t,{cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a}){return await G6(r.anchoredLocator,e,t,{project:r.project,cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a})}var Ci={};ut(Ci,{convertToZip:()=>UFe,extractArchiveTo:()=>GFe,makeArchiveFromDirectory:()=>KFe});var EX=J(\"stream\"),IX=Pe(fX());var hX=Pe(Tg()),pX=J(\"worker_threads\");var il=Symbol(\"kTaskInfo\"),d0=class{constructor(e){this.source=e;this.workers=[];this.limit=(0,hX.default)(MD());this.cleanupInterval=setInterval(()=>{if(this.limit.pendingCount===0&&this.limit.activeCount===0){let t=this.workers.pop();t?t.terminate():clearInterval(this.cleanupInterval)}},5e3).unref()}createWorker(){this.cleanupInterval.refresh();let e=new pX.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,\"--unhandled-rejections=strict\"]});return e.on(\"message\",t=>{if(!e[il])throw new Error(\"Assertion failed: Worker sent a result without having a task assigned\");e[il].resolve(t),e[il]=null,e.unref(),this.workers.push(e)}),e.on(\"error\",t=>{var i;(i=e[il])==null||i.reject(t),e[il]=null}),e.on(\"exit\",t=>{var i;t!==0&&((i=e[il])==null||i.reject(new Error(`Worker exited with code ${t}`))),e[il]=null}),e}run(e){return this.limit(()=>{var i;let t=(i=this.workers.pop())!=null?i:this.createWorker();return t.ref(),new Promise((n,s)=>{t[il]={resolve:n,reject:s},t.postMessage(e)})})}};var yX=Pe(CX());async function KFe(r,{baseFs:e=new $t,prefixPath:t=Oe.root,compressionLevel:i,inMemory:n=!1}={}){let s=await rn(),o;if(n)o=new Wr(null,{libzip:s,level:i});else{let l=await M.mktempPromise(),c=x.join(l,\"archive.zip\");o=new Wr(c,{create:!0,libzip:s,level:i})}let a=x.resolve(Oe.root,t);return await o.copyPromise(a,r,{baseFs:e,stableTime:!0,stableSort:!0}),o}var mX;async function UFe(r,e){let t=await M.mktempPromise(),i=x.join(t,\"archive.zip\");return mX||(mX=new d0((0,yX.getContent)())),await mX.run({tmpFile:i,tgz:r,opts:e}),new Wr(i,{libzip:await rn(),level:e.compressionLevel})}async function*HFe(r){let e=new IX.default.Parse,t=new EX.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on(\"entry\",i=>{t.write(i)}),e.on(\"error\",i=>{t.destroy(i)}),e.on(\"close\",()=>{t.destroyed||t.end()}),e.end(r);for await(let i of t){let n=i;yield n,n.resume()}}async function GFe(r,e,{stripComponents:t=0,prefixPath:i=Oe.dot}={}){var s,o;function n(a){if(a.path[0]===\"/\")return!0;let l=a.path.split(/\\//g);return!!(l.some(c=>c===\"..\")||l.length<=t)}for await(let a of HFe(r)){if(n(a))continue;let l=x.normalize(K.toPortablePath(a.path)).replace(/\\/$/,\"\").split(/\\//g);if(l.length<=t)continue;let c=l.slice(t).join(\"/\"),u=x.join(i,c),g=420;switch((a.type===\"Directory\"||(((s=a.mode)!=null?s:0)&73)!==0)&&(g|=73),a.type){case\"Directory\":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[xr.SAFE_TIME,xr.SAFE_TIME]}),e.mkdirSync(u,{mode:g}),e.utimesSync(u,xr.SAFE_TIME,xr.SAFE_TIME);break;case\"OldFile\":case\"File\":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[xr.SAFE_TIME,xr.SAFE_TIME]}),e.writeFileSync(u,await af(a),{mode:g}),e.utimesSync(u,xr.SAFE_TIME,xr.SAFE_TIME);break;case\"SymbolicLink\":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[xr.SAFE_TIME,xr.SAFE_TIME]}),e.symlinkSync(a.linkpath,u),(o=e.lutimesSync)==null||o.call(e,u,xr.SAFE_TIME,xr.SAFE_TIME);break}}return e}var Vn={};ut(Vn,{emitList:()=>YFe,emitTree:()=>vX,treeNodeToJson:()=>SX,treeNodeToTreeify:()=>bX});var QX=Pe(BX());function bX(r,{configuration:e}){let t={},i=(n,s)=>{let o=Array.isArray(n)?n.entries():Object.entries(n);for(let[a,{label:l,value:c,children:u}]of o){let g=[];typeof l<\"u\"&&g.push(Ty(e,l,2)),typeof c<\"u\"&&g.push(Ze(e,c[0],c[1])),g.length===0&&g.push(Ty(e,`${a}`,2));let f=g.join(\": \"),h=s[f]={};typeof u<\"u\"&&i(u,h)}};if(typeof r.children>\"u\")throw new Error(\"The root node must only contain children\");return i(r.children,t),t}function SX(r){let e=t=>{var s;if(typeof t.children>\"u\"){if(typeof t.value>\"u\")throw new Error(\"Assertion failed: Expected a value to be set if the children are missing\");return cc(t.value[0],t.value[1])}let i=Array.isArray(t.children)?t.children.entries():Object.entries((s=t.children)!=null?s:{}),n=Array.isArray(t.children)?[]:{};for(let[o,a]of i)n[o]=e(a);return typeof t.value>\"u\"?n:{value:cc(t.value[0],t.value[1]),children:n}};return e(r)}function YFe(r,{configuration:e,stdout:t,json:i}){let n=r.map(s=>({value:s}));vX({children:n},{configuration:e,stdout:t,json:i})}function vX(r,{configuration:e,stdout:t,json:i,separators:n=0}){var o;if(i){let a=Array.isArray(r.children)?r.children.values():Object.values((o=r.children)!=null?o:{});for(let l of a)t.write(`${JSON.stringify(SX(l))}\n`);return}let s=(0,QX.asTree)(bX(r,{configuration:e}),!1,!1);if(n>=1&&(s=s.replace(/^([├└]─)/gm,`\\u2502\n$1`).replace(/^│\\n/,\"\")),n>=2)for(let a=0;a<2;++a)s=s.replace(/^([│ ].{2}[├│ ].{2}[^\\n]+\\n)(([│ ]).{2}[├└].{2}[^\\n]*\\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3  \\u2502\n$2`).replace(/^│\\n/,\"\");if(n>=3)throw new Error(\"Only the first two levels are accepted by treeUtils.emitTree\");t.write(s)}var xX=J(\"crypto\"),rN=Pe(J(\"fs\"));var jFe=8,Rt=class{constructor(e,{configuration:t,immutable:i=t.get(\"enableImmutableCache\"),check:n=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.cacheId=`-${(0,xX.randomBytes)(8).toString(\"hex\")}.tmp`;this.configuration=t,this.cwd=e,this.immutable=i,this.check=n;let s=t.get(\"cacheKeyOverride\");if(s!==null)this.cacheKey=`${s}`;else{let o=t.get(\"compressionLevel\"),a=o!==Ol?`c${o}`:\"\";this.cacheKey=[jFe,a].join(\"\")}}static async find(e,{immutable:t,check:i}={}){let n=new Rt(e.get(\"cacheFolder\"),{configuration:e,immutable:t,check:i});return await n.setup(),n}get mirrorCwd(){if(!this.configuration.get(\"enableMirror\"))return null;let e=`${this.configuration.get(\"globalFolder\")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${mf(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,t){let n=qFe(t).slice(0,10);return`${mf(e)}-${n}.zip`}getLocatorPath(e,t,i={}){var s;return this.mirrorCwd===null||((s=i.unstablePackages)==null?void 0:s.has(e.locatorHash))?x.resolve(this.cwd,this.getVersionFilename(e)):t===null||tN(t)!==this.cacheKey?null:x.resolve(this.cwd,this.getChecksumFilename(e,t))}getLocatorMirrorPath(e){let t=this.mirrorCwd;return t!==null?x.resolve(t,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get(\"enableGlobalCache\"))if(this.immutable){if(!await M.existsPromise(this.cwd))throw new at(56,\"Cache path does not exist.\")}else{await M.mkdirPromise(this.cwd,{recursive:!0});let e=x.resolve(this.cwd,\".gitignore\");await M.changeFilePromise(e,`/.gitignore\n*.flock\n*.tmp\n`)}(this.mirrorCwd||!this.immutable)&&await M.mkdirPromise(this.mirrorCwd||this.cwd,{recursive:!0})}async fetchPackageFromCache(e,t,{onHit:i,onMiss:n,loader:s,...o}){var W;let a=this.getLocatorMirrorPath(e),l=new $t,c=()=>{let Z=new Wr(null,{libzip:D}),A=x.join(Oe.root,PD(e));return Z.mkdirSync(A,{recursive:!0}),Z.writeJsonSync(x.join(A,xt.manifest),{name:Ot(e),mocked:!0}),Z},u=async(Z,A=null)=>{var ge;if(A===null&&((ge=o.unstablePackages)==null?void 0:ge.has(e.locatorHash)))return null;let ae=!o.skipIntegrityCheck||!t?`${this.cacheKey}/${await uw(Z)}`:t;if(A!==null){let re=!o.skipIntegrityCheck||!t?`${this.cacheKey}/${await uw(A)}`:t;if(ae!==re)throw new at(18,\"The remote archive doesn't match the local checksum - has the local cache been corrupted?\")}if(t!==null&&ae!==t){let re;switch(this.check?re=\"throw\":tN(t)!==tN(ae)?re=\"update\":re=this.configuration.get(\"checksumBehavior\"),re){case\"ignore\":return t;case\"update\":return ae;default:case\"throw\":throw new at(18,\"The remote archive doesn't match the expected checksum\")}}return ae},g=async Z=>{if(!s)throw new Error(`Cache check required but no loader configured for ${mt(this.configuration,e)}`);let A=await s(),ae=A.getRealPath();return A.saveAndClose(),await M.chmodPromise(ae,420),await u(Z,ae)},f=async()=>{if(a===null||!await M.existsPromise(a)){let Z=await s(),A=Z.getRealPath();return Z.saveAndClose(),{source:\"loader\",path:A}}return{source:\"mirror\",path:a}},h=async()=>{if(!s)throw new Error(`Cache entry required but missing for ${mt(this.configuration,e)}`);if(this.immutable)throw new at(56,`Cache entry required but missing for ${mt(this.configuration,e)}`);let{path:Z,source:A}=await f(),ae=await u(Z),ge=this.getLocatorPath(e,ae,o);if(!ge)throw new Error(\"Assertion failed: Expected the cache path to be available\");let re=[];A!==\"mirror\"&&a!==null&&re.push(async()=>{let F=`${a}${this.cacheId}`;await M.copyFilePromise(Z,F,rN.default.constants.COPYFILE_FICLONE),await M.chmodPromise(F,420),await M.renamePromise(F,a)}),(!o.mirrorWriteOnly||a===null)&&re.push(async()=>{let F=`${ge}${this.cacheId}`;await M.copyFilePromise(Z,F,rN.default.constants.COPYFILE_FICLONE),await M.chmodPromise(F,420),await M.renamePromise(F,ge)});let O=o.mirrorWriteOnly&&a!=null?a:ge;return await Promise.all(re.map(F=>F())),[!1,O,ae]},p=async()=>{let A=(async()=>{var ue;let ae=this.getLocatorPath(e,t,o),ge=ae!==null?await l.existsPromise(ae):!1,re=!!((ue=o.mockedPackages)!=null&&ue.has(e.locatorHash))&&(!this.check||!ge),O=re||ge,F=O?i:n;if(F&&F(),O){let he=null,ke=ae;return re||(he=this.check?await g(ke):await u(ke)),[re,ke,he]}else return h()})();this.mutexes.set(e.locatorHash,A);try{return await A}finally{this.mutexes.delete(e.locatorHash)}};for(let Z;Z=this.mutexes.get(e.locatorHash);)await Z;let[C,y,B]=await p();this.markedFiles.add(y);let v,D=await rn(),L=C?()=>c():()=>new Wr(y,{baseFs:l,libzip:D,readOnly:!0}),H=new dg(()=>Dx(()=>v=L(),Z=>`Failed to open the cache entry for ${mt(this.configuration,e)}: ${Z}`),x),j=new yo(y,{baseFs:H,pathUtils:x}),$=()=>{v==null||v.discardAndClose()},V=(W=o.unstablePackages)!=null&&W.has(e.locatorHash)?null:B;return[j,$,V]}};function tN(r){let e=r.indexOf(\"/\");return e!==-1?r.slice(0,e):null}function qFe(r){let e=r.indexOf(\"/\");return e!==-1?r.slice(e+1):r}var C0=(t=>(t[t.SCRIPT=0]=\"SCRIPT\",t[t.SHELLCODE=1]=\"SHELLCODE\",t))(C0||{});var _o=class extends Si{constructor({configuration:t,stdout:i,suggestInstall:n=!0}){super();this.errorCount=0;Kd(this,{configuration:t}),this.configuration=t,this.stdout=i,this.suggestInstall=n}static async start(t,i){let n=new this(t);try{await i(n)}catch(s){n.reportExceptionOnce(s)}finally{await n.finalize()}return n}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(t){}reportCacheMiss(t){}startSectionSync(t,i){return i()}async startSectionPromise(t,i){return await i()}startTimerSync(t,i,n){return(typeof i==\"function\"?i:n)()}async startTimerPromise(t,i,n){return await(typeof i==\"function\"?i:n)()}async startCacheReport(t){return await t()}reportSeparator(){}reportInfo(t,i){}reportWarning(t,i){}reportError(t,i){this.errorCount+=1,this.stdout.write(`${Ze(this.configuration,\"\\u27A4\",\"redBright\")} ${this.formatNameWithHyperlink(t)}: ${i}\n`)}reportProgress(t){return{...Promise.resolve().then(async()=>{for await(let{}of t);}),stop:()=>{}}}reportJson(t){}async finalize(){this.errorCount>0&&(this.stdout.write(`\n`),this.stdout.write(`${Ze(this.configuration,\"\\u27A4\",\"redBright\")} Errors happened when preparing the environment required to run this command.\n`),this.suggestInstall&&this.stdout.write(`${Ze(this.configuration,\"\\u27A4\",\"redBright\")} This might be caused by packages being missing from the lockfile, in which case running \"yarn install\" might help.\n`))}formatNameWithHyperlink(t){return PR(t,{configuration:this.configuration,json:!1})}};var D0=J(\"crypto\");function Wa(){}Wa.prototype={diff:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=i.callback;typeof i==\"function\"&&(n=i,i={}),this.options=i;var s=this;function o(C){return n?(setTimeout(function(){n(void 0,C)},0),!0):C}e=this.castInput(e),t=this.castInput(t),e=this.removeEmpty(this.tokenize(e)),t=this.removeEmpty(this.tokenize(t));var a=t.length,l=e.length,c=1,u=a+l;i.maxEditLength&&(u=Math.min(u,i.maxEditLength));var g=[{newPos:-1,components:[]}],f=this.extractCommon(g[0],t,e,0);if(g[0].newPos+1>=a&&f+1>=l)return o([{value:this.join(t),count:t.length}]);function h(){for(var C=-1*c;C<=c;C+=2){var y=void 0,B=g[C-1],v=g[C+1],D=(v?v.newPos:0)-C;B&&(g[C-1]=void 0);var L=B&&B.newPos+1<a,H=v&&0<=D&&D<l;if(!L&&!H){g[C]=void 0;continue}if(!L||H&&B.newPos<v.newPos?(y=WFe(v),s.pushComponent(y.components,void 0,!0)):(y=B,y.newPos++,s.pushComponent(y.components,!0,void 0)),D=s.extractCommon(y,t,e,C),y.newPos+1>=a&&D+1>=l)return o(JFe(s,y.components,t,e,s.useLongestToken));g[C]=y}c++}if(n)(function C(){setTimeout(function(){if(c>u)return n();h()||C()},0)})();else for(;c<=u;){var p=h();if(p)return p}},pushComponent:function(e,t,i){var n=e[e.length-1];n&&n.added===t&&n.removed===i?e[e.length-1]={count:n.count+1,added:t,removed:i}:e.push({count:1,added:t,removed:i})},extractCommon:function(e,t,i,n){for(var s=t.length,o=i.length,a=e.newPos,l=a-n,c=0;a+1<s&&l+1<o&&this.equals(t[a+1],i[l+1]);)a++,l++,c++;return c&&e.components.push({count:c}),e.newPos=a,l},equals:function(e,t){return this.options.comparator?this.options.comparator(e,t):e===t||this.options.ignoreCase&&e.toLowerCase()===t.toLowerCase()},removeEmpty:function(e){for(var t=[],i=0;i<e.length;i++)e[i]&&t.push(e[i]);return t},castInput:function(e){return e},tokenize:function(e){return e.split(\"\")},join:function(e){return e.join(\"\")}};function JFe(r,e,t,i,n){for(var s=0,o=e.length,a=0,l=0;s<o;s++){var c=e[s];if(c.removed){if(c.value=r.join(i.slice(l,l+c.count)),l+=c.count,s&&e[s-1].added){var g=e[s-1];e[s-1]=e[s],e[s]=g}}else{if(!c.added&&n){var u=t.slice(a,a+c.count);u=u.map(function(h,p){var C=i[l+p];return C.length>h.length?C:h}),c.value=r.join(u)}else c.value=r.join(t.slice(a,a+c.count));a+=c.count,c.added||(l+=c.count)}}var f=e[o-1];return o>1&&typeof f.value==\"string\"&&(f.added||f.removed)&&r.equals(\"\",f.value)&&(e[o-2].value+=f.value,e.pop()),e}function WFe(r){return{newPos:r.newPos,components:r.components.slice(0)}}var Uot=new Wa;var PX=/^[A-Za-z\\xC0-\\u02C6\\u02C8-\\u02D7\\u02DE-\\u02FF\\u1E00-\\u1EFF]+$/,DX=/\\S/,kX=new Wa;kX.equals=function(r,e){return this.options.ignoreCase&&(r=r.toLowerCase(),e=e.toLowerCase()),r===e||this.options.ignoreWhitespace&&!DX.test(r)&&!DX.test(e)};kX.tokenize=function(r){for(var e=r.split(/([^\\S\\r\\n]+|[()[\\]{}'\"\\r\\n]|\\b)/),t=0;t<e.length-1;t++)!e[t+1]&&e[t+2]&&PX.test(e[t])&&PX.test(e[t+2])&&(e[t]+=e[t+2],e.splice(t+1,2),t--);return e};var aN=new Wa;aN.tokenize=function(r){var e=[],t=r.split(/(\\n|\\r\\n)/);t[t.length-1]||t.pop();for(var i=0;i<t.length;i++){var n=t[i];i%2&&!this.options.newlineIsToken?e[e.length-1]+=n:(this.options.ignoreWhitespace&&(n=n.trim()),e.push(n))}return e};function zFe(r,e,t){return aN.diff(r,e,t)}var VFe=new Wa;VFe.tokenize=function(r){return r.split(/(\\S.+?[.!?])(?=\\s+|$)/)};var XFe=new Wa;XFe.tokenize=function(r){return r.split(/([{}:;,]|\\s+)/)};function m0(r){return typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?m0=function(e){return typeof e}:m0=function(e){return e&&typeof Symbol==\"function\"&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},m0(r)}function iN(r){return _Fe(r)||ZFe(r)||$Fe(r)||eNe()}function _Fe(r){if(Array.isArray(r))return nN(r)}function ZFe(r){if(typeof Symbol<\"u\"&&Symbol.iterator in Object(r))return Array.from(r)}function $Fe(r,e){if(!!r){if(typeof r==\"string\")return nN(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);if(t===\"Object\"&&r.constructor&&(t=r.constructor.name),t===\"Map\"||t===\"Set\")return Array.from(r);if(t===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return nN(r,e)}}function nN(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,i=new Array(e);t<e;t++)i[t]=r[t];return i}function eNe(){throw new TypeError(`Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var tNe=Object.prototype.toString,HC=new Wa;HC.useLongestToken=!0;HC.tokenize=aN.tokenize;HC.castInput=function(r){var e=this.options,t=e.undefinedReplacement,i=e.stringifyReplacer,n=i===void 0?function(s,o){return typeof o>\"u\"?t:o}:i;return typeof r==\"string\"?r:JSON.stringify(sN(r,null,null,n),n,\"  \")};HC.equals=function(r,e){return Wa.prototype.equals.call(HC,r.replace(/,([\\r\\n])/g,\"$1\"),e.replace(/,([\\r\\n])/g,\"$1\"))};function sN(r,e,t,i,n){e=e||[],t=t||[],i&&(r=i(n,r));var s;for(s=0;s<e.length;s+=1)if(e[s]===r)return t[s];var o;if(tNe.call(r)===\"[object Array]\"){for(e.push(r),o=new Array(r.length),t.push(o),s=0;s<r.length;s+=1)o[s]=sN(r[s],e,t,i,n);return e.pop(),t.pop(),o}if(r&&r.toJSON&&(r=r.toJSON()),m0(r)===\"object\"&&r!==null){e.push(r),o={},t.push(o);var a=[],l;for(l in r)r.hasOwnProperty(l)&&a.push(l);for(a.sort(),s=0;s<a.length;s+=1)l=a[s],o[l]=sN(r[l],e,t,i,l);e.pop(),t.pop()}else o=r;return o}var oN=new Wa;oN.tokenize=function(r){return r.slice()};oN.join=oN.removeEmpty=function(r){return r};function RX(r,e,t,i,n,s,o){o||(o={}),typeof o.context>\"u\"&&(o.context=4);var a=zFe(t,i,o);if(!a)return;a.push({value:\"\",lines:[]});function l(B){return B.map(function(v){return\" \"+v})}for(var c=[],u=0,g=0,f=[],h=1,p=1,C=function(v){var D=a[v],L=D.lines||D.value.replace(/\\n$/,\"\").split(`\n`);if(D.lines=L,D.added||D.removed){var H;if(!u){var j=a[v-1];u=h,g=p,j&&(f=o.context>0?l(j.lines.slice(-o.context)):[],u-=f.length,g-=f.length)}(H=f).push.apply(H,iN(L.map(function(re){return(D.added?\"+\":\"-\")+re}))),D.added?p+=L.length:h+=L.length}else{if(u)if(L.length<=o.context*2&&v<a.length-2){var $;($=f).push.apply($,iN(l(L)))}else{var V,W=Math.min(L.length,o.context);(V=f).push.apply(V,iN(l(L.slice(0,W))));var Z={oldStart:u,oldLines:h-u+W,newStart:g,newLines:p-g+W,lines:f};if(v>=a.length-2&&L.length<=o.context){var A=/\\n$/.test(t),ae=/\\n$/.test(i),ge=L.length==0&&f.length>Z.oldLines;!A&&ge&&t.length>0&&f.splice(Z.oldLines,0,\"\\\\ No newline at end of file\"),(!A&&!ge||!ae)&&f.push(\"\\\\ No newline at end of file\")}c.push(Z),u=0,g=0,f=[]}h+=L.length,p+=L.length}},y=0;y<a.length;y++)C(y);return{oldFileName:r,newFileName:e,oldHeader:n,newHeader:s,hunks:c}}var k0=Pe(MZ()),YZ=Pe(Tg()),jZ=Pe(Xr()),EN=J(\"util\"),mN=Pe(J(\"v8\")),IN=Pe(J(\"zlib\"));var POe=[[/^(git(?:\\+(?:https|ssh))?:\\/\\/.*(?:\\.git)?)#(.*)$/,(r,e,t,i)=>`${t}#commit=${i}`],[/^https:\\/\\/((?:[^/]+?)@)?codeload\\.github\\.com\\/([^/]+\\/[^/]+)\\/tar\\.gz\\/([0-9a-f]+)$/,(r,e,t=\"\",i,n)=>`https://${t}github.com/${i}.git#commit=${n}`],[/^https:\\/\\/((?:[^/]+?)@)?github\\.com\\/([^/]+\\/[^/]+?)(?:\\.git)?#([0-9a-f]+)$/,(r,e,t=\"\",i,n)=>`https://${t}github.com/${i}.git#commit=${n}`],[/^https?:\\/\\/[^/]+\\/(?:[^/]+\\/)*(?:@.+(?:\\/|(?:%2f)))?([^/]+)\\/(?:-|download)\\/\\1-[^/]+\\.tgz(?:#|$)/,r=>`npm:${r}`],[/^https:\\/\\/npm\\.pkg\\.github\\.com\\/download\\/(?:@[^/]+)\\/(?:[^/]+)\\/(?:[^/]+)\\/(?:[0-9a-f]+)(?:#|$)/,r=>`npm:${r}`],[/^https:\\/\\/npm\\.fontawesome\\.com\\/(?:@[^/]+)\\/([^/]+)\\/-\\/([^/]+)\\/\\1-\\2.tgz(?:#|$)/,r=>`npm:${r}`],[/^https?:\\/\\/[^/]+\\/.*\\/(@[^/]+)\\/([^/]+)\\/-\\/\\1\\/\\2-(?:[.\\d\\w-]+)\\.tgz(?:#|$)/,(r,e)=>pw({protocol:\"npm:\",source:null,selector:r,params:{__archiveUrl:e}})],[/^[^/]+\\.tgz#[0-9a-f]+$/,r=>`npm:${r}`]],v0=class{constructor(e){this.resolver=e;this.resolutions=null}async setup(e,{report:t}){let i=x.join(e.cwd,e.configuration.get(\"lockfileFilename\"));if(!M.existsSync(i))return;let n=await M.readFilePromise(i,\"utf8\"),s=Ii(n);if(Object.prototype.hasOwnProperty.call(s,\"__metadata\"))return;let o=this.resolutions=new Map;for(let a of Object.keys(s)){let l=Xd(a);if(!l){t.reportWarning(14,`Failed to parse the string \"${a}\" into a proper descriptor`);continue}let c=to(l.range)?Zt(l,`npm:${l.range}`):l,{version:u,resolved:g}=s[a];if(!g)continue;let f;for(let[p,C]of POe){let y=g.match(p);if(y){f=C(u,...y);break}}if(!f){t.reportWarning(14,`${tr(e.configuration,c)}: Only some patterns can be imported from legacy lockfiles (not \"${g}\")`);continue}let h=c;try{let p=Cf(c.range),C=Xd(p.selector,!0);C&&(h=C)}catch{}o.set(c.descriptorHash,$i(h,f))}}supportsDescriptor(e,t){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error(\"Assertion failed: This resolver doesn't support resolving locators to packages\")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){if(!this.resolutions)throw new Error(\"Assertion failed: The resolution store should have been setup\");let n=this.resolutions.get(e.descriptorHash);if(!n)throw new Error(\"Assertion failed: The resolution should have been registered\");return await this.resolver.getCandidates(bD(n),t,i)}async getSatisfying(e,t,i){return null}async resolve(e,t){throw new Error(\"Assertion failed: This resolver doesn't support resolving locators to packages\")}};var x0=class{constructor(e){this.resolver=e}supportsDescriptor(e,t){return!!(t.project.storedResolutions.get(e.descriptorHash)||t.project.originalPackages.has(fw(e).locatorHash))}supportsLocator(e,t){return!!(t.project.originalPackages.has(e.locatorHash)&&!t.project.lockfileNeedsRefresh)}shouldPersistResolution(e,t){throw new Error(\"The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes\")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return this.resolver.getResolutionDependencies(e,t)}async getCandidates(e,t,i){let n=i.project.originalPackages.get(fw(e).locatorHash);if(n)return[n];let s=i.project.storedResolutions.get(e.descriptorHash);if(!s)throw new Error(\"Expected the resolution to have been successful - resolution not found\");if(n=i.project.originalPackages.get(s),!n)throw new Error(\"Expected the resolution to have been successful - package not found\");return[n]}async getSatisfying(e,t,i){return null}async resolve(e,t){let i=t.project.originalPackages.get(e.locatorHash);if(!i)throw new Error(\"The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache\");return i}};var P0=class{constructor(e){this.resolver=e}supportsDescriptor(e,t){return this.resolver.supportsDescriptor(e,t)}supportsLocator(e,t){return this.resolver.supportsLocator(e,t)}shouldPersistResolution(e,t){return this.resolver.shouldPersistResolution(e,t)}bindDescriptor(e,t,i){return this.resolver.bindDescriptor(e,t,i)}getResolutionDependencies(e,t){return this.resolver.getResolutionDependencies(e,t)}async getCandidates(e,t,i){throw new at(20,`This package doesn't seem to be present in your lockfile; run \"yarn install\" to update the lockfile`)}async getSatisfying(e,t,i){throw new at(20,`This package doesn't seem to be present in your lockfile; run \"yarn install\" to update the lockfile`)}async resolve(e,t){throw new at(20,`This package doesn't seem to be present in your lockfile; run \"yarn install\" to update the lockfile`)}};var ti=class extends Si{reportCacheHit(e){}reportCacheMiss(e){}startSectionSync(e,t){return t()}async startSectionPromise(e,t){return await t()}startTimerSync(e,t,i){return(typeof t==\"function\"?t:i)()}async startTimerPromise(e,t,i){return await(typeof t==\"function\"?t:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,t){}reportWarning(e,t){}reportError(e,t){}reportProgress(e){return{...Promise.resolve().then(async()=>{for await(let{}of e);}),stop:()=>{}}}reportJson(e){}async finalize(){}};var KZ=Pe(wD());var fh=class{constructor(e,{project:t}){this.workspacesCwds=new Set;this.dependencies=new Map;this.project=t,this.cwd=e}async setup(){var s;this.manifest=(s=await ot.tryFind(this.cwd))!=null?s:new ot,this.relativeCwd=x.relative(this.project.cwd,this.cwd)||Oe.dot;let e=this.manifest.name?this.manifest.name:Ho(null,`${this.computeCandidateName()}-${Zi(this.relativeCwd).substring(0,6)}`),t=this.manifest.version?this.manifest.version:\"0.0.0\";this.locator=$i(e,t),this.anchoredDescriptor=Zt(this.locator,`${jr.protocol}${this.relativeCwd}`),this.anchoredLocator=$i(this.locator,`${jr.protocol}${this.relativeCwd}`);let i=this.manifest.workspaceDefinitions.map(({pattern:o})=>o),n=await(0,KZ.default)(i,{cwd:K.fromPortablePath(this.cwd),expandDirectories:!1,onlyDirectories:!0,onlyFiles:!1,ignore:[\"**/node_modules\",\"**/.git\",\"**/.yarn\"]});n.sort();for(let o of n){let a=x.resolve(this.cwd,K.toPortablePath(o));M.existsSync(x.join(a,\"package.json\"))&&this.workspacesCwds.add(a)}}accepts(e){var o;let t=e.indexOf(\":\"),i=t!==-1?e.slice(0,t+1):null,n=t!==-1?e.slice(t+1):e;if(i===jr.protocol&&x.normalize(n)===this.relativeCwd||i===jr.protocol&&(n===\"*\"||n===\"^\"||n===\"~\"))return!0;let s=to(n);return s?i===jr.protocol?s.test((o=this.manifest.version)!=null?o:\"0.0.0\"):this.project.configuration.get(\"enableTransparentWorkspaces\")&&this.manifest.version!==null?s.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?\"root-workspace\":`${x.basename(this.cwd)}`||\"unnamed-workspace\"}getRecursiveWorkspaceDependencies({dependencies:e=ot.hardDependencies}={}){let t=new Set,i=n=>{for(let s of e)for(let o of n.manifest[s].values()){let a=this.project.tryWorkspaceByDescriptor(o);a===null||t.has(a)||(t.add(a),i(a))}};return i(this),t}getRecursiveWorkspaceDependents({dependencies:e=ot.hardDependencies}={}){let t=new Set,i=n=>{for(let s of this.project.workspaces)e.some(a=>[...s.manifest[a].values()].some(l=>{let c=this.project.tryWorkspaceByDescriptor(l);return c!==null&&Vd(c.anchoredLocator,n.anchoredLocator)}))&&!t.has(s)&&(t.add(s),i(s))};return i(this),t}getRecursiveWorkspaceChildren(){let e=[];for(let t of this.workspacesCwds){let i=this.project.workspacesByCwd.get(t);i&&e.push(i,...i.getRecursiveWorkspaceChildren())}return e}async persistManifest(){let e={};this.manifest.exportTo(e);let t=x.join(this.cwd,ot.fileName),i=`${JSON.stringify(e,null,this.manifest.indent)}\n`;await M.changeFilePromise(t,i,{automaticNewlines:!0}),this.manifest.raw=e}};var UZ=6,DOe=1,kOe=/ *, */g,HZ=/\\/$/,ROe=32,FOe=(0,EN.promisify)(IN.default.gzip),NOe=(0,EN.promisify)(IN.default.gunzip),Xn=(t=>(t.UpdateLockfile=\"update-lockfile\",t.SkipBuild=\"skip-build\",t))(Xn||{}),CN={restoreInstallersCustomData:[\"installersCustomData\"],restoreResolutions:[\"accessibleLocators\",\"conditionalLocators\",\"disabledLocators\",\"optionalBuilds\",\"storedDescriptors\",\"storedResolutions\",\"storedPackages\",\"lockFileChecksum\"],restoreBuildState:[\"storedBuildState\"]},GZ=r=>Zi(`${DOe}`,r),je=class{constructor(e,{configuration:t}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.conditionalLocators=new Set;this.disabledLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.lockfileNeedsRefresh=!1;this.peerRequirements=new Map;this.installersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=t,this.cwd=e}static async find(e,t){var p,C,y;if(!e.projectCwd)throw new be(`No project found in ${t}`);let i=e.projectCwd,n=t,s=null;for(;s!==e.projectCwd;){if(s=n,M.existsSync(x.join(s,xt.manifest))){i=s;break}n=x.dirname(s)}let o=new je(e.projectCwd,{configuration:e});(p=ye.telemetry)==null||p.reportProject(o.cwd),await o.setupResolutions(),await o.setupWorkspaces(),(C=ye.telemetry)==null||C.reportWorkspaceCount(o.workspaces.length),(y=ye.telemetry)==null||y.reportDependencyCount(o.workspaces.reduce((B,v)=>B+v.manifest.dependencies.size+v.manifest.devDependencies.size,0));let a=o.tryWorkspaceByCwd(i);if(a)return{project:o,workspace:a,locator:a.anchoredLocator};let l=await o.findLocatorForLocation(`${i}/`,{strict:!0});if(l)return{project:o,locator:l,workspace:null};let c=Ze(e,o.cwd,Ue.PATH),u=Ze(e,x.relative(o.cwd,i),Ue.PATH),g=`- If ${c} isn't intended to be a project, remove any yarn.lock and/or package.json file there.`,f=`- If ${c} is intended to be a project, it might be that you forgot to list ${u} in its workspace configuration.`,h=`- Finally, if ${c} is fine and you intend ${u} to be treated as a completely separate project (not even a workspace), create an empty yarn.lock file in it.`;throw new be(`The nearest package directory (${Ze(e,i,Ue.PATH)}) doesn't seem to be part of the project declared in ${Ze(e,o.cwd,Ue.PATH)}.\n\n${[g,f,h].join(`\n`)}`)}async setupResolutions(){var i;this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=x.join(this.cwd,this.configuration.get(\"lockfileFilename\")),t=this.configuration.get(\"defaultLanguageName\");if(M.existsSync(e)){let n=await M.readFilePromise(e,\"utf8\");this.lockFileChecksum=GZ(n);let s=Ii(n);if(s.__metadata){let o=s.__metadata.version,a=s.__metadata.cacheKey;this.lockfileNeedsRefresh=o<UZ;for(let l of Object.keys(s)){if(l===\"__metadata\")continue;let c=s[l];if(typeof c.resolution>\"u\")throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${l})`);let u=Cc(c.resolution,!0),g=new ot;g.load(c,{yamlCompatibilityMode:!0});let f=g.version,h=g.languageName||t,p=c.linkType.toUpperCase(),C=(i=c.conditions)!=null?i:null,y=g.dependencies,B=g.peerDependencies,v=g.dependenciesMeta,D=g.peerDependenciesMeta,L=g.bin;if(c.checksum!=null){let j=typeof a<\"u\"&&!c.checksum.includes(\"/\")?`${a}/${c.checksum}`:c.checksum;this.storedChecksums.set(u.locatorHash,j)}let H={...u,version:f,languageName:h,linkType:p,conditions:C,dependencies:y,peerDependencies:B,dependenciesMeta:v,peerDependenciesMeta:D,bin:L};this.originalPackages.set(H.locatorHash,H);for(let j of l.split(kOe)){let $=MA(j);this.storedDescriptors.set($.descriptorHash,$),this.storedResolutions.set($.descriptorHash,u.locatorHash)}}}}}async setupWorkspaces(){this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map;let e=[this.cwd];for(;e.length>0;){let t=e;e=[];for(let i of t){if(this.workspacesByCwd.has(i))continue;let n=await this.addWorkspace(i),s=this.storedPackages.get(n.anchoredLocator.locatorHash);s&&(n.dependencies=s.dependencies);for(let o of n.workspacesCwds)e.push(o)}}}async addWorkspace(e){let t=new fh(e,{project:this});await t.setup();let i=this.workspacesByIdent.get(t.locator.identHash);if(typeof i<\"u\")throw new Error(`Duplicate workspace name ${Ai(this.configuration,t.locator)}: ${K.fromPortablePath(e)} conflicts with ${K.fromPortablePath(i.cwd)}`);return this.workspaces.push(t),this.workspacesByCwd.set(e,t),this.workspacesByIdent.set(t.locator.identHash,t),t}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){x.isAbsolute(e)||(e=x.resolve(this.cwd,e)),e=x.normalize(e).replace(/\\/+$/,\"\");let t=this.workspacesByCwd.get(e);return t||null}getWorkspaceByCwd(e){let t=this.tryWorkspaceByCwd(e);if(!t)throw new Error(`Workspace not found (${e})`);return t}tryWorkspaceByFilePath(e){let t=null;for(let i of this.workspaces)x.relative(i.cwd,e).startsWith(\"../\")||t&&t.cwd.length>=i.cwd.length||(t=i);return t||null}getWorkspaceByFilePath(e){let t=this.tryWorkspaceByFilePath(e);if(!t)throw new Error(`Workspace not found (${e})`);return t}tryWorkspaceByIdent(e){let t=this.workspacesByIdent.get(e.identHash);return typeof t>\"u\"?null:t}getWorkspaceByIdent(e){let t=this.tryWorkspaceByIdent(e);if(!t)throw new Error(`Workspace not found (${Ai(this.configuration,e)})`);return t}tryWorkspaceByDescriptor(e){let t=this.tryWorkspaceByIdent(e);return t===null||(OA(e)&&(e=Jd(e)),!t.accepts(e.range))?null:t}getWorkspaceByDescriptor(e){let t=this.tryWorkspaceByDescriptor(e);if(t===null)throw new Error(`Workspace not found (${tr(this.configuration,e)})`);return t}tryWorkspaceByLocator(e){let t=this.tryWorkspaceByIdent(e);return t===null||(Uo(e)&&(e=Wd(e)),t.locator.locatorHash!==e.locatorHash&&t.anchoredLocator.locatorHash!==e.locatorHash)?null:t}getWorkspaceByLocator(e){let t=this.tryWorkspaceByLocator(e);if(!t)throw new Error(`Workspace not found (${mt(this.configuration,e)})`);return t}refreshWorkspaceDependencies(){for(let e of this.workspaces){let t=this.storedPackages.get(e.anchoredLocator.locatorHash);if(!t)throw new Error(`Assertion failed: Expected workspace ${Zd(this.configuration,e)} (${Ze(this.configuration,x.join(e.cwd,xt.manifest),Ue.PATH)}) to have been resolved. Run \"yarn install\" to update the lockfile`);e.dependencies=new Map(t.dependencies)}}forgetResolution(e){let t=n=>{this.storedResolutions.delete(n),this.storedDescriptors.delete(n)},i=n=>{this.originalPackages.delete(n),this.storedPackages.delete(n),this.accessibleLocators.delete(n)};if(\"descriptorHash\"in e){let n=this.storedResolutions.get(e.descriptorHash);t(e.descriptorHash);let s=new Set(this.storedResolutions.values());typeof n<\"u\"&&!s.has(n)&&i(n)}if(\"locatorHash\"in e){i(e.locatorHash);for(let[n,s]of this.storedResolutions)s===e.locatorHash&&t(n)}}forgetTransientResolutions(){let e=this.configuration.makeResolver();for(let t of this.originalPackages.values()){let i;try{i=e.shouldPersistResolution(t,{project:this,resolver:e})}catch{i=!1}i||this.forgetResolution(t)}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[t,i]of e.dependencies)OA(i)&&e.dependencies.set(t,Jd(i))}getDependencyMeta(e,t){let i={},s=this.topLevelWorkspace.manifest.dependenciesMeta.get(Ot(e));if(!s)return i;let o=s.get(null);if(o&&Object.assign(i,o),t===null||!jZ.default.valid(t))return i;for(let[a,l]of s)a!==null&&a===t&&Object.assign(i,l);return i}async findLocatorForLocation(e,{strict:t=!1}={}){let i=new ti,n=this.configuration.getLinkers(),s={project:this,report:i};for(let o of n){let a=await o.findPackageLocator(e,s);if(a){if(t&&(await o.findPackageLocation(a,s)).replace(HZ,\"\")!==e.replace(HZ,\"\"))continue;return a}}return null}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error(\"Workspaces must have been setup before calling this function\");this.forgetVirtualResolutions(),e.lockfileOnly||this.forgetTransientResolutions();let t=e.resolver||this.configuration.makeResolver(),i=new v0(t);await i.setup(this,{report:e.report});let n=e.lockfileOnly?[new P0(t)]:[i,t],s=new yf([new x0(t),...n]),o=this.configuration.makeFetcher(),a=e.lockfileOnly?{project:this,report:e.report,resolver:s}:{project:this,report:e.report,resolver:s,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:o,cacheOptions:{mirrorWriteOnly:!0}}},l=new Map,c=new Map,u=new Map,g=new Map,f=new Map,h=new Map,p=this.topLevelWorkspace.anchoredLocator,C=new Set,y=[],B=OD(),v=this.configuration.getSupportedArchitectures();await e.report.startProgressPromise(Si.progressViaTitle(),async W=>{let Z=async O=>{let F=await of(async()=>await s.resolve(O,a),ke=>`${mt(this.configuration,O)}: ${ke}`);if(!Vd(O,F))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${mt(this.configuration,O)} to ${mt(this.configuration,F)})`);g.set(F.locatorHash,F);let ue=this.configuration.normalizePackage(F);for(let[ke,Fe]of ue.dependencies){let Ne=await this.configuration.reduceHook(le=>le.reduceDependency,Fe,this,ue,Fe,{resolver:s,resolveOptions:a});if(!zd(Fe,Ne))throw new Error(\"Assertion failed: The descriptor ident cannot be changed through aliases\");let oe=s.bindDescriptor(Ne,O,a);ue.dependencies.set(ke,oe)}let he=$s([...ue.dependencies.values()].map(ke=>re(ke)));return y.push(he),he.catch(()=>{}),c.set(ue.locatorHash,ue),ue},A=async O=>{let F=f.get(O.locatorHash);if(typeof F<\"u\")return F;let ue=Promise.resolve().then(()=>Z(O));return f.set(O.locatorHash,ue),ue},ae=async(O,F)=>{let ue=await re(F);return l.set(O.descriptorHash,O),u.set(O.descriptorHash,ue.locatorHash),ue},ge=async O=>{W.setTitle(tr(this.configuration,O));let F=this.resolutionAliases.get(O.descriptorHash);if(typeof F<\"u\")return ae(O,this.storedDescriptors.get(F));let ue=s.getResolutionDependencies(O,a),he=new Map(await $s(ue.map(async Ne=>{let oe=s.bindDescriptor(Ne,p,a),le=await re(oe);return C.add(le.locatorHash),[Ne.descriptorHash,le]}))),Fe=(await of(async()=>await s.getCandidates(O,he,a),Ne=>`${tr(this.configuration,O)}: ${Ne}`))[0];if(typeof Fe>\"u\")throw new Error(`${tr(this.configuration,O)}: No candidates found`);return l.set(O.descriptorHash,O),u.set(O.descriptorHash,Fe.locatorHash),A(Fe)},re=O=>{let F=h.get(O.descriptorHash);if(typeof F<\"u\")return F;l.set(O.descriptorHash,O);let ue=Promise.resolve().then(()=>ge(O));return h.set(O.descriptorHash,ue),ue};for(let O of this.workspaces){let F=O.anchoredDescriptor;y.push(re(F))}for(;y.length>0;){let O=[...y];y.length=0,await $s(O)}});let D=new Set(this.resolutionAliases.values()),L=new Set(c.keys()),H=new Set,j=new Map;LOe({project:this,report:e.report,accessibleLocators:H,volatileDescriptors:D,optionalBuilds:L,peerRequirements:j,allDescriptors:l,allResolutions:u,allPackages:c});for(let W of C)L.delete(W);for(let W of D)l.delete(W),u.delete(W);let $=new Set,V=new Set;for(let W of c.values())W.conditions!=null&&(!L.has(W.locatorHash)||(mw(W,v)||(mw(W,B)&&e.report.reportWarningOnce(77,`${mt(this.configuration,W)}: Your current architecture (${process.platform}-${process.arch}) is supported by this package, but is missing from the ${Ze(this.configuration,\"supportedArchitectures\",vi.SETTING)} setting`),V.add(W.locatorHash)),$.add(W.locatorHash)));this.storedResolutions=u,this.storedDescriptors=l,this.storedPackages=c,this.accessibleLocators=H,this.conditionalLocators=$,this.disabledLocators=V,this.originalPackages=g,this.optionalBuilds=L,this.peerRequirements=j,this.refreshWorkspaceDependencies()}async fetchEverything({cache:e,report:t,fetcher:i,mode:n}){let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:t,cacheOptions:s},l=Array.from(new Set(wn(this.storedResolutions.values(),[f=>{let h=this.storedPackages.get(f);if(!h)throw new Error(\"Assertion failed: The locator should have been registered\");return hs(h)}])));n===\"update-lockfile\"&&(l=l.filter(f=>!this.storedChecksums.has(f)));let c=!1,u=Si.progressViaCounter(l.length);await t.reportProgress(u);let g=(0,YZ.default)(ROe);if(await t.startCacheReport(async()=>{await $s(l.map(f=>g(async()=>{let h=this.storedPackages.get(f);if(!h)throw new Error(\"Assertion failed: The locator should have been registered\");if(Uo(h))return;let p;try{p=await o.fetch(h,a)}catch(C){C.message=`${mt(this.configuration,h)}: ${C.message}`,t.reportExceptionOnce(C),c=C;return}p.checksum!=null?this.storedChecksums.set(h.locatorHash,p.checksum):this.storedChecksums.delete(h.locatorHash),p.releaseFs&&p.releaseFs()}).finally(()=>{u.tick()})))}),c)throw c}async linkEverything({cache:e,report:t,fetcher:i,mode:n}){var ae,ge,re;let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators,skipIntegrityCheck:!0},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:t,skipIntegrityCheck:!0,cacheOptions:s},l=this.configuration.getLinkers(),c={project:this,report:t},u=new Map(l.map(O=>{let F=O.makeInstaller(c),ue=F.getCustomDataKey(),he=this.installersCustomData.get(ue);return typeof he<\"u\"&&F.attachCustomData(he),[O,F]})),g=new Map,f=new Map,h=new Map,p=new Map(await $s([...this.accessibleLocators].map(async O=>{let F=this.storedPackages.get(O);if(!F)throw new Error(\"Assertion failed: The locator should have been registered\");return[O,await o.fetch(F,a)]}))),C=[];for(let O of this.accessibleLocators){let F=this.storedPackages.get(O);if(typeof F>\"u\")throw new Error(\"Assertion failed: The locator should have been registered\");let ue=p.get(F.locatorHash);if(typeof ue>\"u\")throw new Error(\"Assertion failed: The fetch result should have been registered\");let he=[],ke=Ne=>{he.push(Ne)},Fe=this.tryWorkspaceByLocator(F);if(Fe!==null){let Ne=[],{scripts:oe}=Fe.manifest;for(let we of[\"preinstall\",\"install\",\"postinstall\"])oe.has(we)&&Ne.push([0,we]);try{for(let[we,fe]of u)if(we.supportsPackage(F,c)&&(await fe.installPackage(F,ue,{holdFetchResult:ke})).buildDirective!==null)throw new Error(\"Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core\")}finally{he.length===0?(ae=ue.releaseFs)==null||ae.call(ue):C.push($s(he).catch(()=>{}).then(()=>{var we;(we=ue.releaseFs)==null||we.call(ue)}))}let le=x.join(ue.packageFs.getRealPath(),ue.prefixPath);f.set(F.locatorHash,le),!Uo(F)&&Ne.length>0&&h.set(F.locatorHash,{directives:Ne,buildLocations:[le]})}else{let Ne=l.find(we=>we.supportsPackage(F,c));if(!Ne)throw new at(12,`${mt(this.configuration,F)} isn't supported by any available linker`);let oe=u.get(Ne);if(!oe)throw new Error(\"Assertion failed: The installer should have been registered\");let le;try{le=await oe.installPackage(F,ue,{holdFetchResult:ke})}finally{he.length===0?(ge=ue.releaseFs)==null||ge.call(ue):C.push($s(he).then(()=>{}).then(()=>{var we;(we=ue.releaseFs)==null||we.call(ue)}))}g.set(F.locatorHash,Ne),f.set(F.locatorHash,le.packageLocation),le.buildDirective&&le.buildDirective.length>0&&le.packageLocation&&h.set(F.locatorHash,{directives:le.buildDirective,buildLocations:[le.packageLocation]})}}let y=new Map;for(let O of this.accessibleLocators){let F=this.storedPackages.get(O);if(!F)throw new Error(\"Assertion failed: The locator should have been registered\");let ue=this.tryWorkspaceByLocator(F)!==null,he=async(ke,Fe)=>{let Ne=f.get(F.locatorHash);if(typeof Ne>\"u\")throw new Error(`Assertion failed: The package (${mt(this.configuration,F)}) should have been registered`);let oe=[];for(let le of F.dependencies.values()){let we=this.storedResolutions.get(le.descriptorHash);if(typeof we>\"u\")throw new Error(`Assertion failed: The resolution (${tr(this.configuration,le)}, from ${mt(this.configuration,F)})should have been registered`);let fe=this.storedPackages.get(we);if(typeof fe>\"u\")throw new Error(`Assertion failed: The package (${we}, resolved from ${tr(this.configuration,le)}) should have been registered`);let Ae=this.tryWorkspaceByLocator(fe)===null?g.get(we):null;if(typeof Ae>\"u\")throw new Error(`Assertion failed: The package (${we}, resolved from ${tr(this.configuration,le)}) should have been registered`);Ae===ke||Ae===null?f.get(fe.locatorHash)!==null&&oe.push([le,fe]):!ue&&Ne!==null&&nf(y,we).push(Ne)}Ne!==null&&await Fe.attachInternalDependencies(F,oe)};if(ue)for(let[ke,Fe]of u)ke.supportsPackage(F,c)&&await he(ke,Fe);else{let ke=g.get(F.locatorHash);if(!ke)throw new Error(\"Assertion failed: The linker should have been found\");let Fe=u.get(ke);if(!Fe)throw new Error(\"Assertion failed: The installer should have been registered\");await he(ke,Fe)}}for(let[O,F]of y){let ue=this.storedPackages.get(O);if(!ue)throw new Error(\"Assertion failed: The package should have been registered\");let he=g.get(ue.locatorHash);if(!he)throw new Error(\"Assertion failed: The linker should have been found\");let ke=u.get(he);if(!ke)throw new Error(\"Assertion failed: The installer should have been registered\");await ke.attachExternalDependents(ue,F)}let B=new Map;for(let O of u.values()){let F=await O.finalizeInstall();for(let ue of(re=F==null?void 0:F.records)!=null?re:[])h.set(ue.locatorHash,{directives:ue.buildDirective,buildLocations:ue.buildLocations});typeof(F==null?void 0:F.customData)<\"u\"&&B.set(O.getCustomDataKey(),F.customData)}if(this.installersCustomData=B,await $s(C),n===\"skip-build\")return;let v=new Set(this.storedPackages.keys()),D=new Set(h.keys());for(let O of D)v.delete(O);let L=(0,D0.createHash)(\"sha512\");L.update(process.versions.node),await this.configuration.triggerHook(O=>O.globalHashGeneration,this,O=>{L.update(\"\\0\"),L.update(O)});let H=L.digest(\"hex\"),j=new Map,$=O=>{let F=j.get(O.locatorHash);if(typeof F<\"u\")return F;let ue=this.storedPackages.get(O.locatorHash);if(typeof ue>\"u\")throw new Error(\"Assertion failed: The package should have been registered\");let he=(0,D0.createHash)(\"sha512\");he.update(O.locatorHash),j.set(O.locatorHash,\"<recursive>\");for(let ke of ue.dependencies.values()){let Fe=this.storedResolutions.get(ke.descriptorHash);if(typeof Fe>\"u\")throw new Error(`Assertion failed: The resolution (${tr(this.configuration,ke)}) should have been registered`);let Ne=this.storedPackages.get(Fe);if(typeof Ne>\"u\")throw new Error(\"Assertion failed: The package should have been registered\");he.update($(Ne))}return F=he.digest(\"hex\"),j.set(O.locatorHash,F),F},V=(O,F)=>{let ue=(0,D0.createHash)(\"sha512\");ue.update(H),ue.update($(O));for(let he of F)ue.update(he);return ue.digest(\"hex\")},W=new Map,Z=!1,A=O=>{let F=new Set([O.locatorHash]);for(let ue of F){let he=this.storedPackages.get(ue);if(!he)throw new Error(\"Assertion failed: The package should have been registered\");for(let ke of he.dependencies.values()){let Fe=this.storedResolutions.get(ke.descriptorHash);if(!Fe)throw new Error(`Assertion failed: The resolution (${tr(this.configuration,ke)}) should have been registered`);if(Fe!==O.locatorHash&&D.has(Fe))return!1;let Ne=this.storedPackages.get(Fe);if(!Ne)throw new Error(\"Assertion failed: The package should have been registered\");let oe=this.tryWorkspaceByLocator(Ne);if(oe){if(oe.anchoredLocator.locatorHash!==O.locatorHash&&D.has(oe.anchoredLocator.locatorHash))return!1;F.add(oe.anchoredLocator.locatorHash)}F.add(Fe)}}return!0};for(;D.size>0;){let O=D.size,F=[];for(let ue of D){let he=this.storedPackages.get(ue);if(!he)throw new Error(\"Assertion failed: The package should have been registered\");if(!A(he))continue;let ke=h.get(he.locatorHash);if(!ke)throw new Error(\"Assertion failed: The build directive should have been registered\");let Fe=V(he,ke.buildLocations);if(this.storedBuildState.get(he.locatorHash)===Fe){W.set(he.locatorHash,Fe),D.delete(ue);continue}Z||(await this.persistInstallStateFile(),Z=!0),this.storedBuildState.has(he.locatorHash)?t.reportInfo(8,`${mt(this.configuration,he)} must be rebuilt because its dependency tree changed`):t.reportInfo(7,`${mt(this.configuration,he)} must be built because it never has been before or the last one failed`);let Ne=ke.buildLocations.map(async oe=>{if(!x.isAbsolute(oe))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${oe})`);for(let[le,we]of ke.directives){let fe=`# This file contains the result of Yarn building a package (${hs(he)})\n`;switch(le){case 0:fe+=`# Script name: ${we}\n`;break;case 1:fe+=`# Script code: ${we}\n`;break}let Ae=null;if(!await M.mktempPromise(async ne=>{let Y=x.join(ne,\"build.log\"),{stdout:pe,stderr:ie}=this.configuration.getSubprocessStreams(Y,{header:fe,prefix:mt(this.configuration,he),report:t}),de;try{switch(le){case 0:de=await wB(he,we,[],{cwd:oe,project:this,stdin:Ae,stdout:pe,stderr:ie});break;case 1:de=await DR(he,we,[],{cwd:oe,project:this,stdin:Ae,stdout:pe,stderr:ie});break}}catch(Pt){ie.write(Pt.stack),de=1}if(pe.end(),ie.end(),de===0)return!0;M.detachTemp(ne);let tt=`${mt(this.configuration,he)} couldn't be built successfully (exit code ${Ze(this.configuration,de,Ue.NUMBER)}, logs can be found here: ${Ze(this.configuration,Y,Ue.PATH)})`;return this.optionalBuilds.has(he.locatorHash)?(t.reportInfo(9,tt),!0):(t.reportError(9,tt),!1)}))return!1}return!0});F.push(...Ne,Promise.allSettled(Ne).then(oe=>{D.delete(ue),oe.every(le=>le.status===\"fulfilled\"&&le.value===!0)&&W.set(he.locatorHash,Fe)}))}if(await $s(F),O===D.size){let ue=Array.from(D).map(he=>{let ke=this.storedPackages.get(he);if(!ke)throw new Error(\"Assertion failed: The package should have been registered\");return mt(this.configuration,ke)}).join(\", \");t.reportError(3,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${ue})`);break}}this.storedBuildState=W}async install(e){var a,l;let t=this.configuration.get(\"nodeLinker\");(a=ye.telemetry)==null||a.reportInstall(t),await e.report.startTimerPromise(\"Project validation\",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(c=>c.validateProject,this,{reportWarning:e.report.reportWarning.bind(e.report),reportError:e.report.reportError.bind(e.report)})});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.status=\"inactive\";let i=x.join(this.cwd,this.configuration.get(\"lockfileFilename\")),n=null;if(e.immutable)try{n=await M.readFilePromise(i,\"utf8\")}catch(c){throw c.code===\"ENOENT\"?new at(28,\"The lockfile would have been created by this install, which is explicitly forbidden.\"):c}await e.report.startTimerPromise(\"Resolution step\",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise(\"Post-resolution validation\",{skipIfEmpty:!0},async()=>{for(let[,c]of this.configuration.packageExtensions)for(let[,u]of c)for(let g of u)if(g.userProvided){let f=Ze(this.configuration,g,Ue.PACKAGE_EXTENSION);switch(g.status){case\"inactive\":e.report.reportWarning(68,`${f}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case\"redundant\":e.report.reportWarning(69,`${f}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(n!==null){let c=Tl(n,this.generateLockfile());if(c!==n){let u=RX(i,i,n,c,void 0,void 0,{maxEditLength:100});if(u){e.report.reportSeparator();for(let g of u.hunks){e.report.reportInfo(null,`@@ -${g.oldStart},${g.oldLines} +${g.newStart},${g.newLines} @@`);for(let f of g.lines)f.startsWith(\"+\")?e.report.reportError(28,Ze(this.configuration,f,Ue.ADDED)):f.startsWith(\"-\")?e.report.reportError(28,Ze(this.configuration,f,Ue.REMOVED)):e.report.reportInfo(null,Ze(this.configuration,f,\"grey\"))}e.report.reportSeparator()}throw new at(28,\"The lockfile would have been modified by this install, which is explicitly forbidden.\")}}});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.userProvided&&g.status===\"active\"&&((l=ye.telemetry)==null||l.reportPackageExtension(cc(g,Ue.PACKAGE_EXTENSION)));await e.report.startTimerPromise(\"Fetch step\",async()=>{await this.fetchEverything(e),(typeof e.persistProject>\"u\"||e.persistProject)&&e.mode!==\"update-lockfile\"&&await this.cacheCleanup(e)});let s=e.immutable?[...new Set(this.configuration.get(\"immutablePatterns\"))].sort():[],o=await Promise.all(s.map(async c=>gw(c,{cwd:this.cwd})));(typeof e.persistProject>\"u\"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise(\"Link step\",async()=>{if(e.mode===\"update-lockfile\"){e.report.reportWarning(73,`Skipped due to ${Ze(this.configuration,\"mode=update-lockfile\",Ue.CODE)}`);return}await this.linkEverything(e);let c=await Promise.all(s.map(async u=>gw(u,{cwd:this.cwd})));for(let u=0;u<s.length;++u)o[u]!==c[u]&&e.report.reportError(64,`The checksum for ${s[u]} has been modified by this install, which is explicitly forbidden.`)}),await this.persistInstallStateFile(),await this.configuration.triggerHook(c=>c.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[n,s]of this.storedResolutions.entries()){let o=e.get(s);o||e.set(s,o=new Set),o.add(n)}let t={};t.__metadata={version:UZ,cacheKey:void 0};for(let[n,s]of e.entries()){let o=this.originalPackages.get(n);if(!o)continue;let a=[];for(let f of s){let h=this.storedDescriptors.get(f);if(!h)throw new Error(\"Assertion failed: The descriptor should have been registered\");a.push(h)}let l=a.map(f=>Qn(f)).sort().join(\", \"),c=new ot;c.version=o.linkType===\"HARD\"?o.version:\"0.0.0-use.local\",c.languageName=o.languageName,c.dependencies=new Map(o.dependencies),c.peerDependencies=new Map(o.peerDependencies),c.dependenciesMeta=new Map(o.dependenciesMeta),c.peerDependenciesMeta=new Map(o.peerDependenciesMeta),c.bin=new Map(o.bin);let u,g=this.storedChecksums.get(o.locatorHash);if(typeof g<\"u\"){let f=g.indexOf(\"/\");if(f===-1)throw new Error(\"Assertion failed: Expected the checksum to reference its cache key\");let h=g.slice(0,f),p=g.slice(f+1);typeof t.__metadata.cacheKey>\"u\"&&(t.__metadata.cacheKey=h),h===t.__metadata.cacheKey?u=p:u=g}t[l]={...c.exportTo({},{compatibilityMode:!1}),linkType:o.linkType.toLowerCase(),resolution:hs(o),checksum:u,conditions:o.conditions||void 0}}return`${[`# This file is generated by running \"yarn install\" inside your project.\n`,`# Manual changes might be lost - proceed with caution!\n`].join(\"\")}\n`+Ca(t)}async persistLockfile(){let e=x.join(this.cwd,this.configuration.get(\"lockfileFilename\")),t=\"\";try{t=await M.readFilePromise(e,\"utf8\")}catch{}let i=this.generateLockfile(),n=Tl(t,i);n!==t&&(await M.writeFilePromise(e,n),this.lockFileChecksum=GZ(n),this.lockfileNeedsRefresh=!1)}async persistInstallStateFile(){let e=[];for(let o of Object.values(CN))e.push(...o);let t=(0,k0.default)(this,e),i=mN.default.serialize(t),n=Zi(i);if(this.installStateChecksum===n)return;let s=this.configuration.get(\"installStatePath\");await M.mkdirPromise(x.dirname(s),{recursive:!0}),await M.writeFilePromise(s,await FOe(i)),this.installStateChecksum=n}async restoreInstallState({restoreInstallersCustomData:e=!0,restoreResolutions:t=!0,restoreBuildState:i=!0}={}){let n=this.configuration.get(\"installStatePath\"),s;try{let o=await NOe(await M.readFilePromise(n));s=mN.default.deserialize(o),this.installStateChecksum=Zi(o)}catch{t&&await this.applyLightResolution();return}e&&typeof s.installersCustomData<\"u\"&&(this.installersCustomData=s.installersCustomData),i&&Object.assign(this,(0,k0.default)(s,CN.restoreBuildState)),t&&(s.lockFileChecksum===this.lockFileChecksum?(Object.assign(this,(0,k0.default)(s,CN.restoreResolutions)),this.refreshWorkspaceDependencies()):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new ti}),await this.persistInstallStateFile()}async persist(){await this.persistLockfile();for(let e of this.workspacesByCwd.values())await e.persistManifest()}async cacheCleanup({cache:e,report:t}){if(this.configuration.get(\"enableGlobalCache\"))return;let i=new Set([\".gitignore\"]);if(!LD(e.cwd,this.cwd)||!await M.existsPromise(e.cwd))return;let n=this.configuration.get(\"preferAggregateCacheInfo\"),s=0,o=null;for(let a of await M.readdirPromise(e.cwd)){if(i.has(a))continue;let l=x.resolve(e.cwd,a);e.markedFiles.has(l)||(o=a,e.immutable?t.reportError(56,`${Ze(this.configuration,x.basename(l),\"magenta\")} appears to be unused and would be marked for deletion, but the cache is immutable`):(n?s+=1:t.reportInfo(19,`${Ze(this.configuration,x.basename(l),\"magenta\")} appears to be unused - removing`),await M.removePromise(l)))}n&&s!==0&&t.reportInfo(19,s>1?`${s} packages appeared to be unused and were removed`:`${o} appeared to be unused and was removed`),e.markedFiles.clear()}};function LOe({project:r,allDescriptors:e,allResolutions:t,allPackages:i,accessibleLocators:n=new Set,optionalBuilds:s=new Set,peerRequirements:o=new Map,volatileDescriptors:a=new Set,report:l}){var V;let c=new Map,u=[],g=new Map,f=new Map,h=new Map,p=new Map,C=new Map,y=new Map(r.workspaces.map(W=>{let Z=W.anchoredLocator.locatorHash,A=i.get(Z);if(typeof A>\"u\")throw new Error(\"Assertion failed: The workspace should have an associated package\");return[Z,qd(A)]})),B=()=>{let W=M.mktempSync(),Z=x.join(W,\"stacktrace.log\"),A=String(u.length+1).length,ae=u.map((ge,re)=>`${`${re+1}.`.padStart(A,\" \")} ${hs(ge)}\n`).join(\"\");throw M.writeFileSync(Z,ae),M.detachTemp(W),new at(45,`Encountered a stack overflow when resolving peer dependencies; cf ${K.fromPortablePath(Z)}`)},v=W=>{let Z=t.get(W.descriptorHash);if(typeof Z>\"u\")throw new Error(\"Assertion failed: The resolution should have been registered\");let A=i.get(Z);if(!A)throw new Error(\"Assertion failed: The package could not be found\");return A},D=(W,Z,A,{top:ae,optional:ge})=>{u.length>1e3&&B(),u.push(Z);let re=L(W,Z,A,{top:ae,optional:ge});return u.pop(),re},L=(W,Z,A,{top:ae,optional:ge})=>{if(n.has(Z.locatorHash))return;n.add(Z.locatorHash),ge||s.delete(Z.locatorHash);let re=i.get(Z.locatorHash);if(!re)throw new Error(`Assertion failed: The package (${mt(r.configuration,Z)}) should have been registered`);let O=[],F=[],ue=[],he=[],ke=[];for(let Ne of Array.from(re.dependencies.values())){if(re.peerDependencies.has(Ne.identHash)&&re.locatorHash!==ae)continue;if(OA(Ne))throw new Error(\"Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch\");a.delete(Ne.descriptorHash);let oe=ge;if(!oe){let Y=re.dependenciesMeta.get(Ot(Ne));if(typeof Y<\"u\"){let pe=Y.get(null);typeof pe<\"u\"&&pe.optional&&(oe=!0)}}let le=t.get(Ne.descriptorHash);if(!le)throw new Error(`Assertion failed: The resolution (${tr(r.configuration,Ne)}) should have been registered`);let we=y.get(le)||i.get(le);if(!we)throw new Error(`Assertion failed: The package (${le}, resolved from ${tr(r.configuration,Ne)}) should have been registered`);if(we.peerDependencies.size===0){D(Ne,we,new Map,{top:ae,optional:oe});continue}let fe,Ae,qe=new Set,ne;F.push(()=>{fe=SD(Ne,Z.locatorHash),Ae=vD(we,Z.locatorHash),re.dependencies.delete(Ne.identHash),re.dependencies.set(fe.identHash,fe),t.set(fe.descriptorHash,Ae.locatorHash),e.set(fe.descriptorHash,fe),i.set(Ae.locatorHash,Ae),O.push([we,fe,Ae])}),ue.push(()=>{var Y;ne=new Map;for(let pe of Ae.peerDependencies.values()){let ie=re.dependencies.get(pe.identHash);if(!ie&&zd(Z,pe)&&(W.identHash===Z.identHash?ie=W:(ie=Zt(Z,W.range),e.set(ie.descriptorHash,ie),t.set(ie.descriptorHash,Z.locatorHash),a.delete(ie.descriptorHash))),(!ie||ie.range===\"missing:\")&&Ae.dependencies.has(pe.identHash)){Ae.peerDependencies.delete(pe.identHash);continue}ie||(ie=Zt(pe,\"missing:\")),Ae.dependencies.set(ie.identHash,ie),OA(ie)&&lc(h,ie.descriptorHash).add(Ae.locatorHash),g.set(ie.identHash,ie),ie.range===\"missing:\"&&qe.add(ie.identHash),ne.set(pe.identHash,(Y=A.get(pe.identHash))!=null?Y:Ae.locatorHash)}Ae.dependencies=new Map(wn(Ae.dependencies,([pe,ie])=>Ot(ie)))}),he.push(()=>{if(!i.has(Ae.locatorHash))return;let Y=c.get(we.locatorHash);typeof Y==\"number\"&&Y>=2&&B();let pe=c.get(we.locatorHash),ie=typeof pe<\"u\"?pe+1:1;c.set(we.locatorHash,ie),D(fe,Ae,ne,{top:ae,optional:oe}),c.set(we.locatorHash,ie-1)}),ke.push(()=>{let Y=re.dependencies.get(Ne.identHash);if(typeof Y>\"u\")throw new Error(\"Assertion failed: Expected the peer dependency to have been turned into a dependency\");let pe=t.get(Y.descriptorHash);if(typeof pe>\"u\")throw new Error(\"Assertion failed: Expected the descriptor to be registered\");if(lc(C,pe).add(Z.locatorHash),!!i.has(Ae.locatorHash)){for(let ie of Ae.peerDependencies.values()){let de=ne.get(ie.identHash);if(typeof de>\"u\")throw new Error(\"Assertion failed: Expected the peer dependency ident to be registered\");nf(sf(p,de),Ot(ie)).push(Ae.locatorHash)}for(let ie of qe)Ae.dependencies.delete(ie)}})}for(let Ne of[...F,...ue])Ne();let Fe;do{Fe=!0;for(let[Ne,oe,le]of O){let we=sf(f,Ne.locatorHash),fe=Zi(...[...le.dependencies.values()].map(Y=>{let pe=Y.range!==\"missing:\"?t.get(Y.descriptorHash):\"missing:\";if(typeof pe>\"u\")throw new Error(`Assertion failed: Expected the resolution for ${tr(r.configuration,Y)} to have been registered`);return pe===ae?`${pe} (top)`:pe}),oe.identHash),Ae=we.get(fe);if(typeof Ae>\"u\"){we.set(fe,oe);continue}if(Ae===oe)continue;i.delete(le.locatorHash),e.delete(oe.descriptorHash),t.delete(oe.descriptorHash),n.delete(le.locatorHash);let qe=h.get(oe.descriptorHash)||[],ne=[re.locatorHash,...qe];h.delete(oe.descriptorHash);for(let Y of ne){let pe=i.get(Y);typeof pe>\"u\"||(pe.dependencies.get(oe.identHash).descriptorHash!==Ae.descriptorHash&&(Fe=!1),pe.dependencies.set(oe.identHash,Ae))}}}while(!Fe);for(let Ne of[...he,...ke])Ne()};for(let W of r.workspaces){let Z=W.anchoredLocator;a.delete(W.anchoredDescriptor.descriptorHash),D(W.anchoredDescriptor,Z,new Map,{top:Z.locatorHash,optional:!1})}let H;(A=>(A[A.NotProvided=0]=\"NotProvided\",A[A.NotCompatible=1]=\"NotCompatible\"))(H||(H={}));let j=[];for(let[W,Z]of C){let A=i.get(W);if(typeof A>\"u\")throw new Error(\"Assertion failed: Expected the root to be registered\");let ae=p.get(W);if(!(typeof ae>\"u\"))for(let ge of Z){let re=i.get(ge);if(!(typeof re>\"u\"))for(let[O,F]of ae){let ue=_i(O);if(re.peerDependencies.has(ue.identHash))continue;let he=`p${Zi(ge,O,W).slice(0,5)}`;o.set(he,{subject:ge,requested:ue,rootRequester:W,allRequesters:F});let ke=A.dependencies.get(ue.identHash);if(typeof ke<\"u\"){let Fe=v(ke),Ne=(V=Fe.version)!=null?V:\"0.0.0\",oe=new Set;for(let we of F){let fe=i.get(we);if(typeof fe>\"u\")throw new Error(\"Assertion failed: Expected the link to be registered\");let Ae=fe.peerDependencies.get(ue.identHash);if(typeof Ae>\"u\")throw new Error(\"Assertion failed: Expected the ident to be registered\");oe.add(Ae.range)}[...oe].every(we=>{if(we.startsWith(jr.protocol)){if(!r.tryWorkspaceByLocator(Fe))return!1;we=we.slice(jr.protocol.length),(we===\"^\"||we===\"~\")&&(we=\"*\")}return mc(Ne,we)})||j.push({type:1,subject:re,requested:ue,requester:A,version:Ne,hash:he,requirementCount:F.length})}else{let Fe=A.peerDependenciesMeta.get(O);Fe!=null&&Fe.optional||j.push({type:0,subject:re,requested:ue,requester:A,hash:he})}}}}let $=[W=>xD(W.subject),W=>Ot(W.requested),W=>`${W.type}`];l==null||l.startSectionSync({reportFooter:()=>{l.reportWarning(0,`Some peer dependencies are incorrectly met; run ${Ze(r.configuration,\"yarn explain peer-requirements <hash>\",Ue.CODE)} for details, where ${Ze(r.configuration,\"<hash>\",Ue.CODE)} is the six-letter p-prefixed code`)},skipIfEmpty:!0},()=>{for(let W of wn(j,$))switch(W.type){case 0:l.reportWarning(2,`${mt(r.configuration,W.subject)} doesn't provide ${Ai(r.configuration,W.requested)} (${Ze(r.configuration,W.hash,Ue.CODE)}), requested by ${Ai(r.configuration,W.requester)}`);break;case 1:{let Z=W.requirementCount>1?\"and some of its descendants request\":\"requests\";l.reportWarning(60,`${mt(r.configuration,W.subject)} provides ${Ai(r.configuration,W.requested)} (${Ze(r.configuration,W.hash,Ue.CODE)}) with version ${_d(r.configuration,W.version)}, which doesn't satisfy what ${Ai(r.configuration,W.requester)} ${Z}`)}break}})}var hh=class{constructor(e,t){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.configuration=e;let i=this.getRegistryPath();this.isNew=!M.existsSync(i),this.sendReport(t),this.startBuffer()}reportVersion(e){this.reportValue(\"version\",e.replace(/-git\\..*/,\"-git\"))}reportCommandName(e){this.reportValue(\"commandName\",e||\"<none>\")}reportPluginName(e){this.reportValue(\"pluginName\",e)}reportProject(e){this.reportEnumerator(\"projectCount\",e)}reportInstall(e){this.reportHit(\"installCount\",e)}reportPackageExtension(e){this.reportValue(\"packageExtension\",e)}reportWorkspaceCount(e){this.reportValue(\"workspaceCount\",String(e))}reportDependencyCount(e){this.reportValue(\"dependencyCount\",String(e))}reportValue(e,t){lc(this.values,e).add(t)}reportEnumerator(e,t){lc(this.enumerators,e).add(Zi(t))}reportHit(e,t=\"*\"){let i=sf(this.hits,e),n=xa(i,t,()=>0);i.set(t,n+1)}getRegistryPath(){let e=this.configuration.get(\"globalFolder\");return x.join(e,\"telemetry.json\")}sendReport(e){var u,g,f;let t=this.getRegistryPath(),i;try{i=M.readJsonSync(t)}catch{i={}}let n=Date.now(),s=this.configuration.get(\"telemetryInterval\")*24*60*60*1e3,a=((u=i.lastUpdate)!=null?u:n+s+Math.floor(s*Math.random()))+s;if(a>n&&i.lastUpdate!=null)return;try{M.mkdirSync(x.dirname(t),{recursive:!0}),M.writeJsonSync(t,{lastUpdate:n})}catch{return}if(a>n||!i.blocks)return;let l=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,c=h=>pR(l,h,{configuration:this.configuration}).catch(()=>{});for(let[h,p]of Object.entries((g=i.blocks)!=null?g:{})){if(Object.keys(p).length===0)continue;let C=p;C.userId=h,C.reportType=\"primary\";for(let v of Object.keys((f=C.enumerators)!=null?f:{}))C.enumerators[v]=C.enumerators[v].length;c(C);let y=new Map,B=20;for(let[v,D]of Object.entries(C.values))D.length>0&&y.set(v,D.slice(0,B));for(;y.size>0;){let v={};v.userId=h,v.reportType=\"secondary\",v.metrics={};for(let[D,L]of y)v.metrics[D]=L.shift(),L.length===0&&y.delete(D);c(v)}}}applyChanges(){var o,a,l,c,u,g,f,h,p;let e=this.getRegistryPath(),t;try{t=M.readJsonSync(e)}catch{t={}}let i=(o=this.configuration.get(\"telemetryUserId\"))!=null?o:\"*\",n=t.blocks=(a=t.blocks)!=null?a:{},s=n[i]=(l=n[i])!=null?l:{};for(let C of this.hits.keys()){let y=s.hits=(c=s.hits)!=null?c:{},B=y[C]=(u=y[C])!=null?u:{};for(let[v,D]of this.hits.get(C))B[v]=((g=B[v])!=null?g:0)+D}for(let C of[\"values\",\"enumerators\"])for(let y of this[C].keys()){let B=s[C]=(f=s[C])!=null?f:{};B[y]=[...new Set([...(h=B[y])!=null?h:[],...(p=this[C].get(y))!=null?p:[]])]}M.mkdirSync(x.dirname(e),{recursive:!0}),M.writeJsonSync(e,t)}startBuffer(){process.on(\"exit\",()=>{try{this.applyChanges()}catch{}})}};var yN=J(\"child_process\"),qZ=Pe(Vl());var wN=J(\"fs\");var ph=new Map([[\"constraints\",[[\"constraints\",\"query\"],[\"constraints\",\"source\"],[\"constraints\"]]],[\"exec\",[]],[\"interactive-tools\",[[\"search\"],[\"upgrade-interactive\"]]],[\"stage\",[[\"stage\"]]],[\"typescript\",[]],[\"version\",[[\"version\",\"apply\"],[\"version\",\"check\"],[\"version\"]]],[\"workspace-tools\",[[\"workspaces\",\"focus\"],[\"workspaces\",\"foreach\"]]]]);function TOe(r){let e=K.fromPortablePath(r);process.on(\"SIGINT\",()=>{}),e?(0,yN.execFileSync)(process.execPath,[e,...process.argv.slice(2)],{stdio:\"inherit\",env:{...process.env,YARN_IGNORE_PATH:\"1\",YARN_IGNORE_CWD:\"1\"}}):(0,yN.execFileSync)(e,process.argv.slice(2),{stdio:\"inherit\",env:{...process.env,YARN_IGNORE_PATH:\"1\",YARN_IGNORE_CWD:\"1\"}})}async function R0({binaryVersion:r,pluginConfiguration:e}){async function t(){let n=new Kn({binaryLabel:\"Yarn Package Manager\",binaryName:\"yarn\",binaryVersion:r});try{await i(n)}catch(s){process.stdout.write(n.error(s)),process.exitCode=1}}async function i(n){var C,y,B,v,D;let s=process.versions.node,o=\">=12 <14 || 14.2 - 14.9 || >14.10.0\";if(!Ie.parseOptionalBoolean(process.env.YARN_IGNORE_NODE)&&!vt.satisfiesWithPrereleases(s,o))throw new be(`This tool requires a Node version compatible with ${o} (got ${s}). Upgrade Node, or set \\`YARN_IGNORE_NODE=1\\` in your environment.`);let l=await ye.find(K.toPortablePath(process.cwd()),e,{usePath:!0,strict:!1}),c=l.get(\"yarnPath\"),u=l.get(\"ignorePath\"),g=l.get(\"ignoreCwd\"),f=K.toPortablePath(K.resolve(process.argv[1])),h=L=>M.readFilePromise(L).catch(()=>Buffer.of());if(!u&&!g&&await(async()=>c===f||Buffer.compare(...await Promise.all([h(c),h(f)]))===0)()){process.env.YARN_IGNORE_PATH=\"1\",process.env.YARN_IGNORE_CWD=\"1\",await i(n);return}else if(c!==null&&!u)if(!M.existsSync(c))process.stdout.write(n.error(new Error(`The \"yarn-path\" option has been set (in ${l.sources.get(\"yarnPath\")}), but the specified location doesn't exist (${c}).`))),process.exitCode=1;else try{TOe(c)}catch(L){process.exitCode=L.code||1}else{u&&delete process.env.YARN_IGNORE_PATH,l.get(\"enableTelemetry\")&&!qZ.isCI&&process.stdout.isTTY&&(ye.telemetry=new hh(l,\"puba9cdc10ec5790a2cf4969dd413a47270\")),(C=ye.telemetry)==null||C.reportVersion(r);for(let[$,V]of l.plugins.entries()){ph.has((B=(y=$.match(/^@yarnpkg\\/plugin-(.*)$/))==null?void 0:y[1])!=null?B:\"\")&&((v=ye.telemetry)==null||v.reportPluginName($));for(let W of V.commands||[])n.register(W)}let H=n.process(process.argv.slice(2));H.help||(D=ye.telemetry)==null||D.reportCommandName(H.path.join(\" \"));let j=H.cwd;if(typeof j<\"u\"&&!g){let $=(0,wN.realpathSync)(process.cwd()),V=(0,wN.realpathSync)(j);if($!==V){process.chdir(j),await t();return}}await n.runExit(H,{cwd:K.toPortablePath(process.cwd()),plugins:e,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr})}}return t().catch(n=>{process.stdout.write(n.stack||n.message),process.exitCode=1}).finally(()=>M.rmtempPromise())}function JZ(r){r.Command.Path=(...e)=>t=>{t.paths=t.paths||[],t.paths.push(e)};for(let e of[\"Array\",\"Boolean\",\"String\",\"Proxy\",\"Rest\",\"Counter\"])r.Command[e]=(...t)=>(i,n)=>{let s=r.Option[e](...t);Object.defineProperty(i,`__${n}`,{configurable:!1,enumerable:!0,get(){return s},set(o){this[n]=o}})};return r}var Qm={};ut(Qm,{BaseCommand:()=>De,WorkspaceRequiredError:()=>ct,getDynamicLibs:()=>sie,getPluginConfiguration:()=>rQ,main:()=>R0,openWorkspace:()=>Ph,pluginCommands:()=>ph});var De=class extends ve{constructor(){super(...arguments);this.cwd=z.String(\"--cwd\",{hidden:!0})}};var ct=class extends be{constructor(e,t){let i=x.relative(e,t),n=x.join(e,ot.fileName);super(`This command can only be run from within a workspace of your project (${i} isn't a workspace of ${n}).`)}};var GGe=Pe(Xr());ns();var YGe=Pe(IL()),sie=()=>new Map([[\"@yarnpkg/cli\",Qm],[\"@yarnpkg/core\",VC],[\"@yarnpkg/fslib\",Lp],[\"@yarnpkg/libzip\",CC],[\"@yarnpkg/parsers\",Yp],[\"@yarnpkg/shell\",yC],[\"clipanion\",$p],[\"semver\",GGe],[\"typanion\",gn],[\"yup\",YGe]]);async function Ph(r,e){let{project:t,workspace:i}=await je.find(r,e);if(!i)throw new ct(t.cwd,e);return i}var m6e=Pe(Xr());ns();var E6e=Pe(IL());var GT={};ut(GT,{dedupeUtils:()=>fQ,default:()=>t3e,suggestUtils:()=>Fh});var iae=Pe(Vl());var Wne=Pe(Pm());ns();var Fh={};ut(Fh,{Modifier:()=>gT,Strategy:()=>lQ,Target:()=>Dm,WorkspaceModifier:()=>Hne,applyModifier:()=>Yne,extractDescriptorFromPath:()=>fT,extractRangeModifier:()=>Gne,fetchDescriptorFrom:()=>hT,findProjectDescriptors:()=>Jne,getModifier:()=>km,getSuggestedDescriptors:()=>Rm,makeWorkspaceDescriptor:()=>qne,toWorkspaceModifier:()=>jne});var uT=Pe(Xr()),aje=\"workspace:\",Dm=(i=>(i.REGULAR=\"dependencies\",i.DEVELOPMENT=\"devDependencies\",i.PEER=\"peerDependencies\",i))(Dm||{}),gT=(i=>(i.CARET=\"^\",i.TILDE=\"~\",i.EXACT=\"\",i))(gT||{}),Hne=(i=>(i.CARET=\"^\",i.TILDE=\"~\",i.EXACT=\"*\",i))(Hne||{}),lQ=(s=>(s.KEEP=\"keep\",s.REUSE=\"reuse\",s.PROJECT=\"project\",s.LATEST=\"latest\",s.CACHE=\"cache\",s))(lQ||{});function km(r,e){return r.exact?\"\":r.caret?\"^\":r.tilde?\"~\":e.configuration.get(\"defaultSemverRangePrefix\")}var Aje=/^([\\^~]?)[0-9]+(?:\\.[0-9]+){0,2}(?:-\\S+)?$/;function Gne(r,{project:e}){let t=r.match(Aje);return t?t[1]:e.configuration.get(\"defaultSemverRangePrefix\")}function Yne(r,e){let{protocol:t,source:i,params:n,selector:s}=P.parseRange(r.range);return uT.default.valid(s)&&(s=`${e}${r.range}`),P.makeDescriptor(r,P.makeRange({protocol:t,source:i,params:n,selector:s}))}function jne(r){switch(r){case\"^\":return\"^\";case\"~\":return\"~\";case\"\":return\"*\";default:throw new Error(`Assertion failed: Unknown modifier: \"${r}\"`)}}function qne(r,e){return P.makeDescriptor(r.anchoredDescriptor,`${aje}${jne(e)}`)}async function Jne(r,{project:e,target:t}){let i=new Map,n=s=>{let o=i.get(s.descriptorHash);return o||i.set(s.descriptorHash,o={descriptor:s,locators:[]}),o};for(let s of e.workspaces)if(t===\"peerDependencies\"){let o=s.manifest.peerDependencies.get(r.identHash);o!==void 0&&n(o).locators.push(s.anchoredLocator)}else{let o=s.manifest.dependencies.get(r.identHash),a=s.manifest.devDependencies.get(r.identHash);t===\"devDependencies\"?a!==void 0?n(a).locators.push(s.anchoredLocator):o!==void 0&&n(o).locators.push(s.anchoredLocator):o!==void 0?n(o).locators.push(s.anchoredLocator):a!==void 0&&n(a).locators.push(s.anchoredLocator)}return i}async function fT(r,{cwd:e,workspace:t}){return await lje(async i=>{x.isAbsolute(r)||(r=x.relative(t.cwd,x.resolve(e,r)),r.match(/^\\.{0,2}\\//)||(r=`./${r}`));let{project:n}=t,s=await hT(P.makeIdent(null,\"archive\"),r,{project:t.project,cache:i,workspace:t});if(!s)throw new Error(\"Assertion failed: The descriptor should have been found\");let o=new ti,a=n.configuration.makeResolver(),l=n.configuration.makeFetcher(),c={checksums:n.storedChecksums,project:n,cache:i,fetcher:l,report:o,resolver:a},u=a.bindDescriptor(s,t.anchoredLocator,c),g=P.convertDescriptorToLocator(u),f=await l.fetch(g,c),h=await ot.find(f.prefixPath,{baseFs:f.packageFs});if(!h.name)throw new Error(\"Target path doesn't have a name\");return P.makeDescriptor(h.name,r)})}async function Rm(r,{project:e,workspace:t,cache:i,target:n,modifier:s,strategies:o,maxResults:a=1/0}){if(!(a>=0))throw new Error(`Invalid maxResults (${a})`);if(r.range!==\"unknown\")return{suggestions:[{descriptor:r,name:`Use ${P.prettyDescriptor(e.configuration,r)}`,reason:\"(unambiguous explicit request)\"}],rejections:[]};let l=typeof t<\"u\"&&t!==null&&t.manifest[n].get(r.identHash)||null,c=[],u=[],g=async f=>{try{await f()}catch(h){u.push(h)}};for(let f of o){if(c.length>=a)break;switch(f){case\"keep\":await g(async()=>{l&&c.push({descriptor:l,name:`Keep ${P.prettyDescriptor(e.configuration,l)}`,reason:\"(no changes)\"})});break;case\"reuse\":await g(async()=>{for(let{descriptor:h,locators:p}of(await Jne(r,{project:e,target:n})).values()){if(p.length===1&&p[0].locatorHash===t.anchoredLocator.locatorHash&&o.includes(\"keep\"))continue;let C=`(originally used by ${P.prettyLocator(e.configuration,p[0])}`;C+=p.length>1?` and ${p.length-1} other${p.length>2?\"s\":\"\"})`:\")\",c.push({descriptor:h,name:`Reuse ${P.prettyDescriptor(e.configuration,h)}`,reason:C})}});break;case\"cache\":await g(async()=>{for(let h of e.storedDescriptors.values())h.identHash===r.identHash&&c.push({descriptor:h,name:`Reuse ${P.prettyDescriptor(e.configuration,h)}`,reason:\"(already used somewhere in the lockfile)\"})});break;case\"project\":await g(async()=>{if(t.manifest.name!==null&&r.identHash===t.manifest.name.identHash)return;let h=e.tryWorkspaceByIdent(r);if(h===null)return;let p=qne(h,s);c.push({descriptor:p,name:`Attach ${P.prettyDescriptor(e.configuration,p)}`,reason:`(local workspace at ${ee.pretty(e.configuration,h.relativeCwd,ee.Type.PATH)})`})});break;case\"latest\":await g(async()=>{if(r.range!==\"unknown\")c.push({descriptor:r,name:`Use ${P.prettyRange(e.configuration,r.range)}`,reason:\"(explicit range requested)\"});else if(n===\"peerDependencies\")c.push({descriptor:P.makeDescriptor(r,\"*\"),name:\"Use *\",reason:\"(catch-all peer dependency pattern)\"});else if(!e.configuration.get(\"enableNetwork\"))c.push({descriptor:null,name:\"Resolve from latest\",reason:ee.pretty(e.configuration,\"(unavailable because enableNetwork is toggled off)\",\"grey\")});else{let h=await hT(r,\"latest\",{project:e,cache:i,workspace:t,preserveModifier:!1});h&&(h=Yne(h,s),c.push({descriptor:h,name:`Use ${P.prettyDescriptor(e.configuration,h)}`,reason:\"(resolved from latest)\"}))}});break}}return{suggestions:c.slice(0,a),rejections:u.slice(0,a)}}async function hT(r,e,{project:t,cache:i,workspace:n,preserveModifier:s=!0}){let o=P.makeDescriptor(r,e),a=new ti,l=t.configuration.makeFetcher(),c=t.configuration.makeResolver(),u={project:t,fetcher:l,cache:i,checksums:t.storedChecksums,report:a,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},g={...u,resolver:c,fetchOptions:u},f=c.bindDescriptor(o,n.anchoredLocator,g),h=await c.getCandidates(f,new Map,g);if(h.length===0)return null;let p=h[0],{protocol:C,source:y,params:B,selector:v}=P.parseRange(P.convertToManifestRange(p.reference));if(C===t.configuration.get(\"defaultProtocol\")&&(C=null),uT.default.valid(v)&&s!==!1){let D=typeof s==\"string\"?s:o.range;v=Gne(D,{project:t})+v}return P.makeDescriptor(p,P.makeRange({protocol:C,source:y,params:B,selector:v}))}async function lje(r){return await M.mktempPromise(async e=>{let t=ye.create(e);return t.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await r(new Rt(e,{configuration:t,check:!1,immutable:!1}))})}var _c=class extends De{constructor(){super(...arguments);this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.exact=z.Boolean(\"-E,--exact\",!1,{description:\"Don't use any semver modifier on the resolved range\"});this.tilde=z.Boolean(\"-T,--tilde\",!1,{description:\"Use the `~` semver modifier on the resolved range\"});this.caret=z.Boolean(\"-C,--caret\",!1,{description:\"Use the `^` semver modifier on the resolved range\"});this.dev=z.Boolean(\"-D,--dev\",!1,{description:\"Add a package as a dev dependency\"});this.peer=z.Boolean(\"-P,--peer\",!1,{description:\"Add a package as a peer dependency\"});this.optional=z.Boolean(\"-O,--optional\",!1,{description:\"Add / upgrade a package to an optional regular / peer dependency\"});this.preferDev=z.Boolean(\"--prefer-dev\",!1,{description:\"Add / upgrade a package to a dev dependency\"});this.interactive=z.Boolean(\"-i,--interactive\",{description:\"Reuse the specified package from other workspaces in the project\"});this.cached=z.Boolean(\"--cached\",!1,{description:\"Reuse the highest version already used somewhere within the project\"});this.mode=z.String(\"--mode\",{description:\"Change what artifacts installs generate\",validator:Wi(Xn)});this.silent=z.Boolean(\"--silent\",{hidden:!0});this.packages=z.Rest()}async execute(){var y;let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=(y=this.interactive)!=null?y:t.get(\"preferInteractive\"),a=km(this,i),l=[...o?[\"reuse\"]:[],\"project\",...this.cached?[\"cache\"]:[],\"latest\"],c=o?1/0:1,u=await Promise.all(this.packages.map(async B=>{let v=B.match(/^\\.{0,2}\\//)?await fT(B,{cwd:this.context.cwd,workspace:n}):P.tryParseDescriptor(B),D=B.match(/^(https?:|git@github)/);if(D)throw new be(`It seems you are trying to add a package using a ${ee.pretty(t,`${D[0]}...`,vi.RANGE)} url; we now require package names to be explicitly specified.\nTry running the command again with the package name prefixed: ${ee.pretty(t,\"yarn add\",vi.CODE)} ${ee.pretty(t,P.makeDescriptor(P.makeIdent(null,\"my-package\"),`${D[0]}...`),vi.DESCRIPTOR)}`);if(!v)throw new be(`The ${ee.pretty(t,B,vi.CODE)} string didn't match the required format (package-name@range). Did you perhaps forget to explicitly reference the package name?`);let L=cje(n,v,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional});return await Promise.all(L.map(async j=>{let $=await Rm(v,{project:i,workspace:n,cache:s,target:j,modifier:a,strategies:l,maxResults:c});return{request:v,suggestedDescriptors:$,target:j}}))})).then(B=>B.flat()),g=await _o.start({configuration:t,stdout:this.context.stdout,suggestInstall:!1},async B=>{for(let{request:v,suggestedDescriptors:{suggestions:D,rejections:L}}of u)if(D.filter(j=>j.descriptor!==null).length===0){let[j]=L;if(typeof j>\"u\")throw new Error(\"Assertion failed: Expected an error to have been set\");i.configuration.get(\"enableNetwork\")?B.reportError(27,`${P.prettyDescriptor(t,v)} can't be resolved to a satisfying range`):B.reportError(27,`${P.prettyDescriptor(t,v)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),B.reportSeparator(),B.reportExceptionOnce(j)}});if(g.hasErrors())return g.exitCode();let f=!1,h=[],p=[];for(let{suggestedDescriptors:{suggestions:B},target:v}of u){let D,L=B.filter(V=>V.descriptor!==null),H=L[0].descriptor,j=L.every(V=>P.areDescriptorsEqual(V.descriptor,H));L.length===1||j?D=H:(f=!0,{answer:D}=await(0,Wne.prompt)({type:\"select\",name:\"answer\",message:\"Which range do you want to use?\",choices:B.map(({descriptor:V,name:W,reason:Z})=>V?{name:W,hint:Z,descriptor:V}:{name:W,hint:Z,disabled:!0}),onCancel:()=>process.exit(130),result(V){return this.find(V,\"descriptor\")},stdin:this.context.stdin,stdout:this.context.stdout}));let $=n.manifest[v].get(D.identHash);(typeof $>\"u\"||$.descriptorHash!==D.descriptorHash)&&(n.manifest[v].set(D.identHash,D),this.optional&&(v===\"dependencies\"?n.manifest.ensureDependencyMeta({...D,range:\"unknown\"}).optional=!0:v===\"peerDependencies\"&&(n.manifest.ensurePeerDependencyMeta({...D,range:\"unknown\"}).optional=!0)),typeof $>\"u\"?h.push([n,v,D,l]):p.push([n,v,$,D]))}return await t.triggerMultipleHooks(B=>B.afterWorkspaceDependencyAddition,h),await t.triggerMultipleHooks(B=>B.afterWorkspaceDependencyReplacement,p),f&&this.context.stdout.write(`\n`),(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeLogs:!this.context.quiet},async B=>{await i.install({cache:s,report:B,mode:this.mode})})).exitCode()}};_c.paths=[[\"add\"]],_c.usage=ve.Usage({description:\"add dependencies to the project\",details:\"\\n      This command adds a package to the package.json for the nearest workspace.\\n\\n      - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\\n\\n      - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\\n\\n      - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\\n\\n      - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\\\"peerDependenciesMeta\\\": { \\\"<package>\\\": { \\\"optional\\\": true } }`\\n\\n      - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\\n\\n      - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\\n\\n      If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\\n\\n      If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\\n\\n      If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\\n\\n      - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\\n\\n      - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\\n\\n      For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/features/protocols.\\n    \",examples:[[\"Add a regular package to the current workspace\",\"$0 add lodash\"],[\"Add a specific version for a package to the current workspace\",\"$0 add lodash@1.2.3\"],[\"Add a package from a GitHub repository (the master branch) to the current workspace using a URL\",\"$0 add lodash@https://github.com/lodash/lodash\"],[\"Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol\",\"$0 add lodash@github:lodash/lodash\"],[\"Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)\",\"$0 add lodash@lodash/lodash\"],[\"Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)\",\"$0 add lodash-es@lodash/lodash#es\"]]});function cje(r,e,{dev:t,peer:i,preferDev:n,optional:s}){let o=r.manifest[\"dependencies\"].has(e.identHash),a=r.manifest[\"devDependencies\"].has(e.identHash),l=r.manifest[\"peerDependencies\"].has(e.identHash);if((t||i)&&o)throw new be(`Package \"${P.prettyIdent(r.project.configuration,e)}\" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!t&&!i&&l)throw new be(`Package \"${P.prettyIdent(r.project.configuration,e)}\" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(s&&a)throw new be(`Package \"${P.prettyIdent(r.project.configuration,e)}\" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(s&&!i&&l)throw new be(`Package \"${P.prettyIdent(r.project.configuration,e)}\" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((t||n)&&s)throw new be(`Package \"${P.prettyIdent(r.project.configuration,e)}\" cannot simultaneously be a dev dependency and an optional dependency`);let c=[];return i&&c.push(\"peerDependencies\"),(t||n)&&c.push(\"devDependencies\"),s&&c.push(\"dependencies\"),c.length>0?c:a?[\"devDependencies\"]:l?[\"peerDependencies\"]:[\"dependencies\"]}var Zc=class extends De{constructor(){super(...arguments);this.verbose=z.Boolean(\"-v,--verbose\",!1,{description:\"Print both the binary name and the locator of the package that provides the binary\"});this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.name=z.String({required:!1})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,locator:n}=await je.find(t,this.context.cwd);if(await i.restoreInstallState(),this.name){let a=(await Jt.getPackageAccessibleBinaries(n,{project:i})).get(this.name);if(!a)throw new be(`Couldn't find a binary named \"${this.name}\" for package \"${P.prettyLocator(t,n)}\"`);let[,l]=a;return this.context.stdout.write(`${l}\n`),0}return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async o=>{let a=await Jt.getPackageAccessibleBinaries(n,{project:i}),c=Array.from(a.keys()).reduce((u,g)=>Math.max(u,g.length),0);for(let[u,[g,f]]of a)o.reportJson({name:u,source:P.stringifyIdent(g),path:f});if(this.verbose)for(let[u,[g]]of a)o.reportInfo(null,`${u.padEnd(c,\" \")}   ${P.prettyLocator(t,g)}`);else for(let u of a.keys())o.reportInfo(null,u)})).exitCode()}};Zc.paths=[[\"bin\"]],Zc.usage=ve.Usage({description:\"get the path to a binary script\",details:`\n      When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the \\`-v,--verbose\\` flag will cause the output to contain both the binary name and the locator of the package that provides the binary.\n\n      When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive.\n    `,examples:[[\"List all the available binaries\",\"$0 bin\"],[\"Print the path to a specific binary\",\"$0 bin eslint\"]]});var $c=class extends De{constructor(){super(...arguments);this.mirror=z.Boolean(\"--mirror\",!1,{description:\"Remove the global cache files instead of the local cache files\"});this.all=z.Boolean(\"--all\",!1,{description:\"Remove both the global cache files and the local cache files of the current project\"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=await Rt.find(t);return(await Ge.start({configuration:t,stdout:this.context.stdout},async()=>{let s=(this.all||this.mirror)&&i.mirrorCwd!==null,o=!this.mirror;s&&(await M.removePromise(i.mirrorCwd),await t.triggerHook(a=>a.cleanGlobalArtifacts,t)),o&&await M.removePromise(i.cwd)})).exitCode()}};$c.paths=[[\"cache\",\"clean\"],[\"cache\",\"clear\"]],$c.usage=ve.Usage({description:\"remove the shared cache files\",details:`\n      This command will remove all the files from the cache.\n    `,examples:[[\"Remove all the local archives\",\"$0 cache clean\"],[\"Remove all the archives stored in the ~/.yarn directory\",\"$0 cache clean --mirror\"]]});var zne=Pe(j0()),pT=J(\"util\"),eu=class extends De{constructor(){super(...arguments);this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.unsafe=z.Boolean(\"--no-redacted\",!1,{description:\"Don't redact secrets (such as tokens) from the output\"});this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=this.name.replace(/[.[].*$/,\"\"),n=this.name.replace(/^[^.[]*/,\"\");if(typeof t.settings.get(i)>\"u\")throw new be(`Couldn't find a configuration settings named \"${i}\"`);let o=t.getSpecial(i,{hideSecrets:!this.unsafe,getNativePaths:!0}),a=Ie.convertMapsToIndexableObjects(o),l=n?(0,zne.default)(a,n):a,c=await Ge.start({configuration:t,includeFooter:!1,json:this.json,stdout:this.context.stdout},async u=>{u.reportJson(l)});if(!this.json){if(typeof l==\"string\")return this.context.stdout.write(`${l}\n`),c.exitCode();pT.inspect.styles.name=\"cyan\",this.context.stdout.write(`${(0,pT.inspect)(l,{depth:1/0,colors:t.get(\"enableColors\"),compact:!1})}\n`)}return c.exitCode()}};eu.paths=[[\"config\",\"get\"]],eu.usage=ve.Usage({description:\"read a configuration settings\",details:`\n      This command will print a configuration setting.\n\n      Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the \\`--no-redacted\\` to get the untransformed value.\n    `,examples:[[\"Print a simple configuration setting\",\"yarn config get yarnPath\"],[\"Print a complex configuration setting\",\"yarn config get packageExtensions\"],[\"Print a nested field from the configuration\",`yarn config get 'npmScopes[\"my-company\"].npmRegistryServer'`],[\"Print a token from the configuration\",\"yarn config get npmAuthToken --no-redacted\"],[\"Print a configuration setting as JSON\",\"yarn config get packageExtensions --json\"]]});var ooe=Pe(yT()),aoe=Pe(j0()),Aoe=Pe(soe()),wT=J(\"util\"),tu=class extends De{constructor(){super(...arguments);this.json=z.Boolean(\"--json\",!1,{description:\"Set complex configuration settings to JSON values\"});this.home=z.Boolean(\"-H,--home\",!1,{description:\"Update the home configuration instead of the project configuration\"});this.name=z.String();this.value=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=()=>{if(!t.projectCwd)throw new be(\"This command must be run from within a project folder\");return t.projectCwd},n=this.name.replace(/[.[].*$/,\"\"),s=this.name.replace(/^[^.[]*\\.?/,\"\");if(typeof t.settings.get(n)>\"u\")throw new be(`Couldn't find a configuration settings named \"${n}\"`);if(n===\"enableStrictSettings\")throw new be(\"This setting only affects the file it's in, and thus cannot be set from the CLI\");let a=this.json?JSON.parse(this.value):this.value;await(this.home?p=>ye.updateHomeConfiguration(p):p=>ye.updateConfiguration(i(),p))(p=>{if(s){let C=(0,ooe.default)(p);return(0,Aoe.default)(C,this.name,a),C}else return{...p,[n]:a}});let u=(await ye.find(this.context.cwd,this.context.plugins)).getSpecial(n,{hideSecrets:!0,getNativePaths:!0}),g=Ie.convertMapsToIndexableObjects(u),f=s?(0,aoe.default)(g,s):g;return(await Ge.start({configuration:t,includeFooter:!1,stdout:this.context.stdout},async p=>{wT.inspect.styles.name=\"cyan\",p.reportInfo(0,`Successfully set ${this.name} to ${(0,wT.inspect)(f,{depth:1/0,colors:t.get(\"enableColors\"),compact:!1})}`)})).exitCode()}};tu.paths=[[\"config\",\"set\"]],tu.usage=ve.Usage({description:\"change a configuration settings\",details:`\n      This command will set a configuration setting.\n\n      When used without the \\`--json\\` flag, it can only set a simple configuration setting (a string, a number, or a boolean).\n\n      When used with the \\`--json\\` flag, it can set both simple and complex configuration settings, including Arrays and Objects.\n    `,examples:[[\"Set a simple configuration setting (a string, a number, or a boolean)\",\"yarn config set initScope myScope\"],[\"Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag\",'yarn config set initScope --json \\\\\"myScope\\\\\"'],[\"Set a complex configuration setting (an Array) using the `--json` flag\",`yarn config set unsafeHttpWhitelist --json '[\"*.example.com\", \"example.com\"]'`],[\"Set a complex configuration setting (an Object) using the `--json` flag\",`yarn config set packageExtensions --json '{ \"@babel/parser@*\": { \"dependencies\": { \"@babel/types\": \"*\" } } }'`],[\"Set a nested configuration setting\",'yarn config set npmScopes.company.npmRegistryServer \"https://npm.example.com\"'],[\"Set a nested configuration setting using indexed access for non-simple keys\",`yarn config set 'npmRegistries[\"//npm.example.com\"].npmAuthToken' \"ffffffff-ffff-ffff-ffff-ffffffffffff\"`]]});var Coe=Pe(yT()),moe=Pe(_C()),Eoe=Pe(doe()),ru=class extends De{constructor(){super(...arguments);this.home=z.Boolean(\"-H,--home\",!1,{description:\"Update the home configuration instead of the project configuration\"});this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=()=>{if(!t.projectCwd)throw new be(\"This command must be run from within a project folder\");return t.projectCwd},n=this.name.replace(/[.[].*$/,\"\"),s=this.name.replace(/^[^.[]*\\.?/,\"\");if(typeof t.settings.get(n)>\"u\")throw new be(`Couldn't find a configuration settings named \"${n}\"`);let a=this.home?c=>ye.updateHomeConfiguration(c):c=>ye.updateConfiguration(i(),c);return(await Ge.start({configuration:t,includeFooter:!1,stdout:this.context.stdout},async c=>{let u=!1;await a(g=>{if(!(0,moe.default)(g,this.name))return c.reportWarning(0,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),u=!0,g;let f=s?(0,Coe.default)(g):{...g};return(0,Eoe.default)(f,this.name),f}),u||c.reportInfo(0,`Successfully unset ${this.name}`)})).exitCode()}};ru.paths=[[\"config\",\"unset\"]],ru.usage=ve.Usage({description:\"unset a configuration setting\",details:`\n      This command will unset a configuration setting.\n    `,examples:[[\"Unset a simple configuration setting\",\"yarn config unset initScope\"],[\"Unset a complex configuration setting\",\"yarn config unset packageExtensions\"],[\"Unset a nested configuration setting\",\"yarn config unset npmScopes.company.npmRegistryServer\"]]});var BT=J(\"util\"),iu=class extends De{constructor(){super(...arguments);this.verbose=z.Boolean(\"-v,--verbose\",!1,{description:\"Print the setting description on top of the regular key/value information\"});this.why=z.Boolean(\"--why\",!1,{description:\"Print the reason why a setting is set a particular way\"});this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins,{strict:!1});return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async n=>{if(t.invalid.size>0&&!this.json){for(let[s,o]of t.invalid)n.reportError(34,`Invalid configuration key \"${s}\" in ${o}`);n.reportSeparator()}if(this.json){let s=Ie.sortMap(t.settings.keys(),o=>o);for(let o of s){let a=t.settings.get(o),l=t.getSpecial(o,{hideSecrets:!0,getNativePaths:!0}),c=t.sources.get(o);this.verbose?n.reportJson({key:o,effective:l,source:c}):n.reportJson({key:o,effective:l,source:c,...a})}}else{let s=Ie.sortMap(t.settings.keys(),l=>l),o=s.reduce((l,c)=>Math.max(l,c.length),0),a={breakLength:1/0,colors:t.get(\"enableColors\"),maxArrayLength:2};if(this.why||this.verbose){let l=s.map(u=>{let g=t.settings.get(u);if(!g)throw new Error(`Assertion failed: This settings (\"${u}\") should have been registered`);let f=this.why?t.sources.get(u)||\"<default>\":g.description;return[u,f]}),c=l.reduce((u,[,g])=>Math.max(u,g.length),0);for(let[u,g]of l)n.reportInfo(null,`${u.padEnd(o,\" \")}   ${g.padEnd(c,\" \")}   ${(0,BT.inspect)(t.getSpecial(u,{hideSecrets:!0,getNativePaths:!0}),a)}`)}else for(let l of s)n.reportInfo(null,`${l.padEnd(o,\" \")}   ${(0,BT.inspect)(t.getSpecial(l,{hideSecrets:!0,getNativePaths:!0}),a)}`)}})).exitCode()}};iu.paths=[[\"config\"]],iu.usage=ve.Usage({description:\"display the current configuration\",details:`\n      This command prints the current active configuration settings.\n    `,examples:[[\"Print the active configuration settings\",\"$0 config\"]]});ns();var fQ={};ut(fQ,{Strategy:()=>Nm,acceptedStrategies:()=>fWe,dedupe:()=>QT});var Ioe=Pe(yn()),Nm=(e=>(e.HIGHEST=\"highest\",e))(Nm||{}),fWe=new Set(Object.values(Nm)),hWe={highest:async(r,e,{resolver:t,fetcher:i,resolveOptions:n,fetchOptions:s})=>{let o=new Map;for(let[a,l]of r.storedResolutions){let c=r.storedDescriptors.get(a);if(typeof c>\"u\")throw new Error(`Assertion failed: The descriptor (${a}) should have been registered`);Ie.getSetWithDefault(o,c.identHash).add(l)}return Array.from(r.storedDescriptors.values(),async a=>{if(e.length&&!Ioe.default.isMatch(P.stringifyIdent(a),e))return null;let l=r.storedResolutions.get(a.descriptorHash);if(typeof l>\"u\")throw new Error(`Assertion failed: The resolution (${a.descriptorHash}) should have been registered`);let c=r.originalPackages.get(l);if(typeof c>\"u\"||!t.shouldPersistResolution(c,n))return null;let u=o.get(a.identHash);if(typeof u>\"u\")throw new Error(`Assertion failed: The resolutions (${a.identHash}) should have been registered`);if(u.size===1)return null;let g=[...u].map(y=>{let B=r.originalPackages.get(y);if(typeof B>\"u\")throw new Error(`Assertion failed: The package (${y}) should have been registered`);return B.reference}),f=await t.getSatisfying(a,g,n),h=f==null?void 0:f[0];if(typeof h>\"u\")return null;let p=h.locatorHash,C=r.originalPackages.get(p);if(typeof C>\"u\")throw new Error(`Assertion failed: The package (${p}) should have been registered`);return p===l?null:{descriptor:a,currentPackage:c,updatedPackage:C}})}};async function QT(r,{strategy:e,patterns:t,cache:i,report:n}){let{configuration:s}=r,o=new ti,a=s.makeResolver(),l=s.makeFetcher(),c={cache:i,checksums:r.storedChecksums,fetcher:l,project:r,report:o,skipIntegrityCheck:!0,cacheOptions:{skipIntegrityCheck:!0}},u={project:r,resolver:a,report:o,fetchOptions:c};return await n.startTimerPromise(\"Deduplication step\",async()=>{let g=hWe[e],f=await g(r,t,{resolver:a,resolveOptions:u,fetcher:l,fetchOptions:c}),h=Si.progressViaCounter(f.length);await n.reportProgress(h);let p=0;await Promise.all(f.map(B=>B.then(v=>{if(v===null)return;p++;let{descriptor:D,currentPackage:L,updatedPackage:H}=v;n.reportInfo(0,`${P.prettyDescriptor(s,D)} can be deduped from ${P.prettyLocator(s,L)} to ${P.prettyLocator(s,H)}`),n.reportJson({descriptor:P.stringifyDescriptor(D),currentResolution:P.stringifyLocator(L),updatedResolution:P.stringifyLocator(H)}),r.storedResolutions.set(D.descriptorHash,H.locatorHash)}).finally(()=>h.tick())));let C;switch(p){case 0:C=\"No packages\";break;case 1:C=\"One package\";break;default:C=`${p} packages`}let y=ee.pretty(s,e,ee.Type.CODE);return n.reportInfo(0,`${C} can be deduped using the ${y} strategy`),p})}var nu=class extends De{constructor(){super(...arguments);this.strategy=z.String(\"-s,--strategy\",\"highest\",{description:\"The strategy to use when deduping dependencies\",validator:Wi(Nm)});this.check=z.Boolean(\"-c,--check\",!1,{description:\"Exit with exit code 1 when duplicates are found, without persisting the dependency tree\"});this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.mode=z.String(\"--mode\",{description:\"Change what artifacts installs generate\",validator:Wi(Xn)});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd),n=await Rt.find(t);await i.restoreInstallState({restoreResolutions:!1});let s=0,o=await Ge.start({configuration:t,includeFooter:!1,stdout:this.context.stdout,json:this.json},async a=>{s=await QT(i,{strategy:this.strategy,patterns:this.patterns,cache:n,report:a})});return o.hasErrors()?o.exitCode():this.check?s?1:0:(await Ge.start({configuration:t,stdout:this.context.stdout,json:this.json},async l=>{await i.install({cache:n,report:l,mode:this.mode})})).exitCode()}};nu.paths=[[\"dedupe\"]],nu.usage=ve.Usage({description:\"deduplicate dependencies with overlapping ranges\",details:\"\\n      Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\\n\\n      This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\\n\\n      - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\\n\\n      **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\\n\\n      If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\\n\\n      If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\\n\\n      - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\\n\\n      - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\\n\\n      This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\\n\\n      ### In-depth explanation:\\n\\n      Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\\n\\n      **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\\n\\n      Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\\n\\n      **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\\n    \",examples:[[\"Dedupe all packages\",\"$0 dedupe\"],[\"Dedupe all packages using a specific strategy\",\"$0 dedupe --strategy highest\"],[\"Dedupe a specific package\",\"$0 dedupe lodash\"],[\"Dedupe all packages with the `@babel/*` scope\",\"$0 dedupe '@babel/*'\"],[\"Check for duplicates (can be used as a CI step)\",\"$0 dedupe --check\"]]});var Oh=class extends De{async execute(){let{plugins:e}=await ye.find(this.context.cwd,this.context.plugins),t=[];for(let o of e){let{commands:a}=o[1];if(a){let c=Kn.from(a).definitions();t.push([o[0],c])}}let i=this.cli.definitions(),n=(o,a)=>o.split(\" \").slice(1).join()===a.split(\" \").slice(1).join(),s=yoe()[\"@yarnpkg/builder\"].bundles.standard;for(let o of t){let a=o[1];for(let l of a)i.find(c=>n(c.path,l.path)).plugin={name:o[0],isDefault:s.includes(o[0])}}this.context.stdout.write(`${JSON.stringify(i,null,2)}\n`)}};Oh.paths=[[\"--clipanion=definitions\"]];var Mh=class extends De{async execute(){this.context.stdout.write(this.cli.usage(null))}};Mh.paths=[[\"help\"],[\"--help\"],[\"-h\"]];var Lm=class extends De{constructor(){super(...arguments);this.leadingArgument=z.String();this.args=z.Proxy()}async execute(){if(this.leadingArgument.match(/[\\\\/]/)&&!P.tryParseIdent(this.leadingArgument)){let t=x.resolve(this.context.cwd,K.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:t})}else return await this.cli.run([\"run\",this.leadingArgument,...this.args])}};var Kh=class extends De{async execute(){this.context.stdout.write(`${Lr||\"<unknown>\"}\n`)}};Kh.paths=[[\"-v\"],[\"--version\"]];var su=class extends De{constructor(){super(...arguments);this.commandName=z.String();this.args=z.Proxy()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,locator:n}=await je.find(t,this.context.cwd);return await i.restoreInstallState(),await Jt.executePackageShellcode(n,this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,project:i})}};su.paths=[[\"exec\"]],su.usage=ve.Usage({description:\"execute a shell script\",details:`\n      This command simply executes a shell script within the context of the root directory of the active workspace using the portable shell.\n\n      It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment).\n    `,examples:[[\"Execute a single shell command\",\"$0 exec echo Hello World\"],[\"Execute a shell script\",'$0 exec \"tsc & babel src --out-dir lib\"']]});ns();var ou=class extends De{constructor(){super(...arguments);this.hash=z.String({required:!1,validator:zp(Wp(),[Vp(/^p[0-9a-f]{5}$/)])})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd);return await i.restoreInstallState({restoreResolutions:!1}),await i.applyLightResolution(),typeof this.hash<\"u\"?await dWe(this.hash,i,{stdout:this.context.stdout}):(await Ge.start({configuration:t,stdout:this.context.stdout,includeFooter:!1},async s=>{var a;let o=[([,l])=>P.stringifyLocator(i.storedPackages.get(l.subject)),([,l])=>P.stringifyIdent(l.requested)];for(let[l,c]of Ie.sortMap(i.peerRequirements,o)){let u=i.storedPackages.get(c.subject);if(typeof u>\"u\")throw new Error(\"Assertion failed: Expected the subject package to have been registered\");let g=i.storedPackages.get(c.rootRequester);if(typeof g>\"u\")throw new Error(\"Assertion failed: Expected the root package to have been registered\");let f=(a=u.dependencies.get(c.requested.identHash))!=null?a:null,h=ee.pretty(t,l,ee.Type.CODE),p=P.prettyLocator(t,u),C=P.prettyIdent(t,c.requested),y=P.prettyIdent(t,g),B=c.allRequesters.length-1,v=`descendant${B===1?\"\":\"s\"}`,D=B>0?` and ${B} ${v}`:\"\",L=f!==null?\"provides\":\"doesn't provide\";s.reportInfo(null,`${h} \\u2192 ${p} ${L} ${C} to ${y}${D}`)}})).exitCode()}};ou.paths=[[\"explain\",\"peer-requirements\"]],ou.usage=ve.Usage({description:\"explain a set of peer requirements\",details:`\n      A set of peer requirements represents all peer requirements that a dependent must satisfy when providing a given peer request to a requester and its descendants.\n\n      When the hash argument is specified, this command prints a detailed explanation of all requirements of the set corresponding to the hash and whether they're satisfied or not.\n\n      When used without arguments, this command lists all sets of peer requirements and the corresponding hash that can be used to get detailed information about a given set.\n\n      **Note:** A hash is a six-letter p-prefixed code that can be obtained from peer dependency warnings or from the list of all peer requirements (\\`yarn explain peer-requirements\\`).\n    `,examples:[[\"Explain the corresponding set of peer requirements for a hash\",\"$0 explain peer-requirements p1a4ed\"],[\"List all sets of peer requirements\",\"$0 explain peer-requirements\"]]});async function dWe(r,e,t){let{configuration:i}=e,n=e.peerRequirements.get(r);if(typeof n>\"u\")throw new Error(`No peerDependency requirements found for hash: \"${r}\"`);return(await Ge.start({configuration:i,stdout:t.stdout,includeFooter:!1},async o=>{var B,v;let a=e.storedPackages.get(n.subject);if(typeof a>\"u\")throw new Error(\"Assertion failed: Expected the subject package to have been registered\");let l=e.storedPackages.get(n.rootRequester);if(typeof l>\"u\")throw new Error(\"Assertion failed: Expected the root package to have been registered\");let c=(B=a.dependencies.get(n.requested.identHash))!=null?B:null,u=c!==null?e.storedResolutions.get(c.descriptorHash):null;if(typeof u>\"u\")throw new Error(\"Assertion failed: Expected the resolution to have been registered\");let g=u!==null?e.storedPackages.get(u):null;if(typeof g>\"u\")throw new Error(\"Assertion failed: Expected the provided package to have been registered\");let f=[...n.allRequesters.values()].map(D=>{let L=e.storedPackages.get(D);if(typeof L>\"u\")throw new Error(\"Assertion failed: Expected the package to be registered\");let H=P.devirtualizeLocator(L),j=e.storedPackages.get(H.locatorHash);if(typeof j>\"u\")throw new Error(\"Assertion failed: Expected the package to be registered\");let $=j.peerDependencies.get(n.requested.identHash);if(typeof $>\"u\")throw new Error(\"Assertion failed: Expected the peer dependency to be registered\");return{pkg:L,peerDependency:$}});if(g!==null){let D=f.every(({peerDependency:L})=>vt.satisfiesWithPrereleases(g.version,L.range));o.reportInfo(0,`${P.prettyLocator(i,a)} provides ${P.prettyLocator(i,g)} with version ${P.prettyReference(i,(v=g.version)!=null?v:\"<missing>\")}, which ${D?\"satisfies\":\"doesn't satisfy\"} the following requirements:`)}else o.reportInfo(0,`${P.prettyLocator(i,a)} doesn't provide ${P.prettyIdent(i,n.requested)}, breaking the following requirements:`);o.reportSeparator();let h=ee.mark(i),p=[];for(let{pkg:D,peerDependency:L}of Ie.sortMap(f,H=>P.stringifyLocator(H.pkg))){let j=(g!==null?vt.satisfiesWithPrereleases(g.version,L.range):!1)?h.Check:h.Cross;p.push({stringifiedLocator:P.stringifyLocator(D),prettyLocator:P.prettyLocator(i,D),prettyRange:P.prettyRange(i,L.range),mark:j})}let C=Math.max(...p.map(({stringifiedLocator:D})=>D.length)),y=Math.max(...p.map(({prettyRange:D})=>D.length));for(let{stringifiedLocator:D,prettyLocator:L,prettyRange:H,mark:j}of Ie.sortMap(p,({stringifiedLocator:$})=>$))o.reportInfo(null,`${L.padEnd(C+(L.length-D.length),\" \")} \\u2192 ${H.padEnd(y,\" \")} ${j}`);p.length>1&&(o.reportSeparator(),o.reportInfo(0,`Note: these requirements start with ${P.prettyLocator(e.configuration,l)}`))})).exitCode()}ns();var woe=Pe(Xr()),au=class extends De{constructor(){super(...arguments);this.onlyIfNeeded=z.Boolean(\"--only-if-needed\",!1,{description:\"Only lock the Yarn version if it isn't already locked\"});this.version=z.String()}async execute(){var o;let t=await ye.find(this.context.cwd,this.context.plugins);if(this.onlyIfNeeded&&t.get(\"yarnPath\")){let a=t.sources.get(\"yarnPath\");if(!a)throw new Error(\"Assertion failed: Expected 'yarnPath' to have a source\");let l=(o=t.projectCwd)!=null?o:t.startingCwd;if(x.contains(l,a))return 0}let i=()=>{if(typeof Lr>\"u\")throw new be(\"The --install flag can only be used without explicit version specifier from the Yarn CLI\");return`file://${process.argv[1]}`},n;if(this.version===\"self\")n=i();else if(this.version===\"latest\"||this.version===\"berry\"||this.version===\"stable\")n=`https://repo.yarnpkg.com/${await Tm(t,\"stable\")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version===\"canary\")n=`https://repo.yarnpkg.com/${await Tm(t,\"canary\")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version===\"classic\")n=\"https://classic.yarnpkg.com/latest.js\";else if(this.version.match(/^https?:/))n=this.version;else if(this.version.match(/^\\.{0,2}[\\\\/]/)||K.isAbsolute(this.version))n=`file://${K.resolve(this.version)}`;else if(vt.satisfiesWithPrereleases(this.version,\">=2.0.0\"))n=`https://repo.yarnpkg.com/${this.version}/packages/yarnpkg-cli/bin/yarn.js`;else if(vt.satisfiesWithPrereleases(this.version,\"^0.x || ^1.x\"))n=`https://github.com/yarnpkg/yarn/releases/download/v${this.version}/yarn-${this.version}.js`;else if(vt.validRange(this.version))n=`https://repo.yarnpkg.com/${await CWe(t,this.version)}/packages/yarnpkg-cli/bin/yarn.js`;else throw new be(`Invalid version descriptor \"${this.version}\"`);return(await Ge.start({configuration:t,stdout:this.context.stdout,includeLogs:!this.context.quiet},async a=>{let l=\"file://\",c;n.startsWith(l)?(a.reportInfo(0,`Downloading ${ee.pretty(t,n,vi.URL)}`),c=await M.readFilePromise(K.toPortablePath(n.slice(l.length)))):(a.reportInfo(0,`Retrieving ${ee.pretty(t,n,vi.PATH)}`),c=await Vt.get(n,{configuration:t})),await bT(t,null,c,{report:a})})).exitCode()}};au.paths=[[\"set\",\"version\"]],au.usage=ve.Usage({description:\"lock the Yarn version used by the project\",details:\"\\n      This command will download a specific release of Yarn directly from the Yarn GitHub repository, will store it inside your project, and will change the `yarnPath` settings from your project `.yarnrc.yml` file to point to the new file.\\n\\n      A very good use case for this command is to enforce the version of Yarn used by the any single member of your team inside a same project - by doing this you ensure that you have control on Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting a different behavior than you.\\n\\n      The version specifier can be:\\n\\n      - a tag:\\n        - `latest` / `berry` / `stable` -> the most recent stable berry (`>=2.0.0`) release\\n        - `canary` -> the most recent canary (release candidate) berry (`>=2.0.0`) release\\n        - `classic` -> the most recent classic (`^0.x || ^1.x`) release\\n\\n      - a semver range (e.g. `2.x`) -> the most recent version satisfying the range (limited to berry releases)\\n\\n      - a semver version (e.g. `2.4.1`, `1.22.1`)\\n\\n      - a local file referenced through either a relative or absolute path\\n\\n      - `self` -> the version used to invoke the command\\n    \",examples:[[\"Download the latest release from the Yarn repository\",\"$0 set version latest\"],[\"Download the latest canary release from the Yarn repository\",\"$0 set version canary\"],[\"Download the latest classic release from the Yarn repository\",\"$0 set version classic\"],[\"Download the most recent Yarn 3 build\",\"$0 set version 3.x\"],[\"Download a specific Yarn 2 build\",\"$0 set version 2.0.0-rc.30\"],[\"Switch back to a specific Yarn 1 release\",\"$0 set version 1.22.1\"],[\"Use a release from the local filesystem\",\"$0 set version ./yarn.cjs\"],[\"Use a release from a URL\",\"$0 set version https://repo.yarnpkg.com/3.1.0/packages/yarnpkg-cli/bin/yarn.js\"],[\"Download the version used to invoke the command\",\"$0 set version self\"]]});async function CWe(r,e){let i=(await Vt.get(\"https://repo.yarnpkg.com/tags\",{configuration:r,jsonResponse:!0})).tags.filter(n=>vt.satisfiesWithPrereleases(n,e));if(i.length===0)throw new be(`No matching release found for range ${ee.pretty(r,e,ee.Type.RANGE)}.`);return i[0]}async function Tm(r,e){let t=await Vt.get(\"https://repo.yarnpkg.com/tags\",{configuration:r,jsonResponse:!0});if(!t.latest[e])throw new be(`Tag ${ee.pretty(r,e,ee.Type.RANGE)} not found`);return t.latest[e]}async function bT(r,e,t,{report:i}){var h;e===null&&await M.mktempPromise(async p=>{let C=x.join(p,\"yarn.cjs\");await M.writeFilePromise(C,t);let{stdout:y}=await Cr.execvp(process.execPath,[K.fromPortablePath(C),\"--version\"],{cwd:p,env:{...process.env,YARN_IGNORE_PATH:\"1\"}});if(e=y.trim(),!woe.default.valid(e))throw new Error(`Invalid semver version. ${ee.pretty(r,\"yarn --version\",ee.Type.CODE)} returned:\n${e}`)});let n=(h=r.projectCwd)!=null?h:r.startingCwd,s=x.resolve(n,\".yarn/releases\"),o=x.resolve(s,`yarn-${e}.cjs`),a=x.relative(r.startingCwd,o),l=x.relative(n,o);i.reportInfo(0,`Saving the new release in ${ee.pretty(r,a,\"magenta\")}`),await M.removePromise(x.dirname(o)),await M.mkdirPromise(x.dirname(o),{recursive:!0}),await M.writeFilePromise(o,t,{mode:493}),await ye.updateConfiguration(n,{yarnPath:l});let c=await ot.tryFind(n)||new ot;c.packageManager=`yarn@${e&&Ie.isTaggedYarnVersion(e)?e:await Tm(r,\"stable\")}`;let u={};c.exportTo(u);let g=x.join(n,ot.fileName),f=`${JSON.stringify(u,null,c.indent)}\n`;await M.changeFilePromise(g,f,{automaticNewlines:!0})}function Boe(r){return Ct[QI(r)]}var mWe=/## (?<code>YN[0-9]{4}) - `(?<name>[A-Z_]+)`\\n\\n(?<details>(?:.(?!##))+)/gs;async function EWe(r){let t=`https://repo.yarnpkg.com/${Ie.isTaggedYarnVersion(Lr)?Lr:await Tm(r,\"canary\")}/packages/gatsby/content/advanced/error-codes.md`,i=await Vt.get(t,{configuration:r});return new Map(Array.from(i.toString().matchAll(mWe),({groups:n})=>{if(!n)throw new Error(\"Assertion failed: Expected the match to have been successful\");let s=Boe(n.code);if(n.name!==s)throw new Error(`Assertion failed: Invalid error code data: Expected \"${n.name}\" to be named \"${s}\"`);return[n.code,n.details]}))}var Au=class extends De{constructor(){super(...arguments);this.code=z.String({required:!1,validator:zp(Wp(),[Vp(/^YN[0-9]{4}$/)])});this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins);if(typeof this.code<\"u\"){let i=Boe(this.code),n=ee.pretty(t,i,ee.Type.CODE),s=this.cli.format().header(`${this.code} - ${n}`),a=(await EWe(t)).get(this.code),l=typeof a<\"u\"?ee.jsonOrPretty(this.json,t,ee.tuple(ee.Type.MARKDOWN,{text:a,format:this.cli.format(),paragraphs:!0})):`This error code does not have a description.\n\nYou can help us by editing this page on GitHub \\u{1F642}:\n${ee.jsonOrPretty(this.json,t,ee.tuple(ee.Type.URL,\"https://github.com/yarnpkg/berry/blob/master/packages/gatsby/content/advanced/error-codes.md\"))}\n`;this.json?this.context.stdout.write(`${JSON.stringify({code:this.code,name:i,details:l})}\n`):this.context.stdout.write(`${s}\n\n${l}\n`)}else{let i={children:Ie.mapAndFilter(Object.entries(Ct),([n,s])=>Number.isNaN(Number(n))?Ie.mapAndFilter.skip:{label:QA(Number(n)),value:ee.tuple(ee.Type.CODE,s)})};Vn.emitTree(i,{configuration:t,stdout:this.context.stdout,json:this.json})}}};Au.paths=[[\"explain\"]],Au.usage=ve.Usage({description:\"explain an error code\",details:`\n      When the code argument is specified, this command prints its name and its details.\n\n      When used without arguments, this command lists all error codes and their names.\n    `,examples:[[\"Explain an error code\",\"$0 explain YN0006\"],[\"List all error codes\",\"$0 explain\"]]});var Qoe=Pe(yn()),lu=class extends De{constructor(){super(...arguments);this.all=z.Boolean(\"-A,--all\",!1,{description:\"Print versions of a package from the whole project\"});this.recursive=z.Boolean(\"-R,--recursive\",!1,{description:\"Print information for all packages, including transitive dependencies\"});this.extra=z.Array(\"-X,--extra\",[],{description:\"An array of requests of extra data provided by plugins\"});this.cache=z.Boolean(\"--cache\",!1,{description:\"Print information about the cache entry of a package (path, size, checksum)\"});this.dependents=z.Boolean(\"--dependents\",!1,{description:\"Print all dependents for each matching package\"});this.manifest=z.Boolean(\"--manifest\",!1,{description:\"Print data obtained by looking at the package archive (license, homepage, ...)\"});this.nameOnly=z.Boolean(\"--name-only\",!1,{description:\"Only print the name for the matching packages\"});this.virtuals=z.Boolean(\"--virtuals\",!1,{description:\"Print each instance of the virtual packages\"});this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n&&!this.all)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let o=new Set(this.extra);this.cache&&o.add(\"cache\"),this.dependents&&o.add(\"dependents\"),this.manifest&&o.add(\"manifest\");let a=(L,{recursive:H})=>{let j=L.anchoredLocator.locatorHash,$=new Map,V=[j];for(;V.length>0;){let W=V.shift();if($.has(W))continue;let Z=i.storedPackages.get(W);if(typeof Z>\"u\")throw new Error(\"Assertion failed: Expected the package to be registered\");if($.set(W,Z),P.isVirtualLocator(Z)&&V.push(P.devirtualizeLocator(Z).locatorHash),!(!H&&W!==j))for(let A of Z.dependencies.values()){let ae=i.storedResolutions.get(A.descriptorHash);if(typeof ae>\"u\")throw new Error(\"Assertion failed: Expected the resolution to be registered\");V.push(ae)}}return $.values()},l=({recursive:L})=>{let H=new Map;for(let j of i.workspaces)for(let $ of a(j,{recursive:L}))H.set($.locatorHash,$);return H.values()},c=({all:L,recursive:H})=>L&&H?i.storedPackages.values():L?l({recursive:H}):a(n,{recursive:H}),u=({all:L,recursive:H})=>{let j=c({all:L,recursive:H}),$=this.patterns.map(Z=>{let A=P.parseLocator(Z),ae=Qoe.default.makeRe(P.stringifyIdent(A)),ge=P.isVirtualLocator(A),re=ge?P.devirtualizeLocator(A):A;return O=>{let F=P.stringifyIdent(O);if(!ae.test(F))return!1;if(A.reference===\"unknown\")return!0;let ue=P.isVirtualLocator(O),he=ue?P.devirtualizeLocator(O):O;return!(ge&&ue&&A.reference!==O.reference||re.reference!==he.reference)}}),V=Ie.sortMap([...j],Z=>P.stringifyLocator(Z));return{selection:V.filter(Z=>$.length===0||$.some(A=>A(Z))),sortedLookup:V}},{selection:g,sortedLookup:f}=u({all:this.all,recursive:this.recursive});if(g.length===0)throw new be(\"No package matched your request\");let h=new Map;if(this.dependents)for(let L of f)for(let H of L.dependencies.values()){let j=i.storedResolutions.get(H.descriptorHash);if(typeof j>\"u\")throw new Error(\"Assertion failed: Expected the resolution to be registered\");Ie.getArrayWithDefault(h,j).push(L)}let p=new Map;for(let L of f){if(!P.isVirtualLocator(L))continue;let H=P.devirtualizeLocator(L);Ie.getArrayWithDefault(p,H.locatorHash).push(L)}let C={},y={children:C},B=t.makeFetcher(),v={project:i,fetcher:B,cache:s,checksums:i.storedChecksums,report:new ti,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},D=[async(L,H,j)=>{var W,Z;if(!H.has(\"manifest\"))return;let $=await B.fetch(L,v),V;try{V=await ot.find($.prefixPath,{baseFs:$.packageFs})}finally{(W=$.releaseFs)==null||W.call($)}j(\"Manifest\",{License:ee.tuple(ee.Type.NO_HINT,V.license),Homepage:ee.tuple(ee.Type.URL,(Z=V.raw.homepage)!=null?Z:null)})},async(L,H,j)=>{var ae;if(!H.has(\"cache\"))return;let $={mockedPackages:i.disabledLocators,unstablePackages:i.conditionalLocators},V=(ae=i.storedChecksums.get(L.locatorHash))!=null?ae:null,W=s.getLocatorPath(L,V,$),Z;if(W!==null)try{Z=M.statSync(W)}catch{}let A=typeof Z<\"u\"?[Z.size,ee.Type.SIZE]:void 0;j(\"Cache\",{Checksum:ee.tuple(ee.Type.NO_HINT,V),Path:ee.tuple(ee.Type.PATH,W),Size:A})}];for(let L of g){let H=P.isVirtualLocator(L);if(!this.virtuals&&H)continue;let j={},$={value:[L,ee.Type.LOCATOR],children:j};if(C[P.stringifyLocator(L)]=$,this.nameOnly){delete $.children;continue}let V=p.get(L.locatorHash);typeof V<\"u\"&&(j.Instances={label:\"Instances\",value:ee.tuple(ee.Type.NUMBER,V.length)}),j.Version={label:\"Version\",value:ee.tuple(ee.Type.NO_HINT,L.version)};let W=(A,ae)=>{let ge={};if(j[A]=ge,Array.isArray(ae))ge.children=ae.map(re=>({value:re}));else{let re={};ge.children=re;for(let[O,F]of Object.entries(ae))typeof F>\"u\"||(re[O]={label:O,value:F})}};if(!H){for(let A of D)await A(L,o,W);await t.triggerHook(A=>A.fetchPackageInfo,L,o,W)}L.bin.size>0&&!H&&W(\"Exported Binaries\",[...L.bin.keys()].map(A=>ee.tuple(ee.Type.PATH,A)));let Z=h.get(L.locatorHash);typeof Z<\"u\"&&Z.length>0&&W(\"Dependents\",Z.map(A=>ee.tuple(ee.Type.LOCATOR,A))),L.dependencies.size>0&&!H&&W(\"Dependencies\",[...L.dependencies.values()].map(A=>{var re;let ae=i.storedResolutions.get(A.descriptorHash),ge=typeof ae<\"u\"&&(re=i.storedPackages.get(ae))!=null?re:null;return ee.tuple(ee.Type.RESOLUTION,{descriptor:A,locator:ge})})),L.peerDependencies.size>0&&H&&W(\"Peer dependencies\",[...L.peerDependencies.values()].map(A=>{var O,F;let ae=L.dependencies.get(A.identHash),ge=typeof ae<\"u\"&&(O=i.storedResolutions.get(ae.descriptorHash))!=null?O:null,re=ge!==null&&(F=i.storedPackages.get(ge))!=null?F:null;return ee.tuple(ee.Type.RESOLUTION,{descriptor:A,locator:re})}))}Vn.emitTree(y,{configuration:t,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};lu.paths=[[\"info\"]],lu.usage=ve.Usage({description:\"see information related to packages\",details:\"\\n      This command prints various information related to the specified packages, accepting glob patterns.\\n\\n      By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\\n\\n      Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\\n\\n      Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\\n    \",examples:[[\"Show information about Lodash\",\"$0 info lodash\"]]});var hQ=Pe(Vl());ns();var cu=class extends De{constructor(){super(...arguments);this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.immutable=z.Boolean(\"--immutable\",{description:\"Abort with an error exit code if the lockfile was to be modified\"});this.immutableCache=z.Boolean(\"--immutable-cache\",{description:\"Abort with an error exit code if the cache folder was to be modified\"});this.checkCache=z.Boolean(\"--check-cache\",!1,{description:\"Always refetch the packages and ensure that their checksums are consistent\"});this.inlineBuilds=z.Boolean(\"--inline-builds\",{description:\"Verbosely print the output of the build steps of dependencies\"});this.mode=z.String(\"--mode\",{description:\"Change what artifacts installs generate\",validator:Wi(Xn)});this.cacheFolder=z.String(\"--cache-folder\",{hidden:!0});this.frozenLockfile=z.Boolean(\"--frozen-lockfile\",{hidden:!0});this.ignoreEngines=z.Boolean(\"--ignore-engines\",{hidden:!0});this.nonInteractive=z.Boolean(\"--non-interactive\",{hidden:!0});this.preferOffline=z.Boolean(\"--prefer-offline\",{hidden:!0});this.production=z.Boolean(\"--production\",{hidden:!0});this.registry=z.String(\"--registry\",{hidden:!0});this.silent=z.Boolean(\"--silent\",{hidden:!0});this.networkTimeout=z.String(\"--network-timeout\",{hidden:!0})}async execute(){var f;let t=await ye.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds<\"u\"&&t.useWithSource(\"<cli>\",{enableInlineBuilds:this.inlineBuilds},t.startingCwd,{overwrite:!0});let i=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,n=async(h,{error:p})=>{let C=await Ge.start({configuration:t,stdout:this.context.stdout,includeFooter:!1},async y=>{p?y.reportError(50,h):y.reportWarning(50,h)});return C.hasErrors()?C.exitCode():null};if(typeof this.ignoreEngines<\"u\"){let h=await n(\"The --ignore-engines option is deprecated; engine checking isn't a core feature anymore\",{error:!hQ.default.VERCEL});if(h!==null)return h}if(typeof this.registry<\"u\"){let h=await n(\"The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file\",{error:!1});if(h!==null)return h}if(typeof this.preferOffline<\"u\"){let h=await n(\"The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead\",{error:!hQ.default.VERCEL});if(h!==null)return h}if(typeof this.production<\"u\"){let h=await n(\"The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead\",{error:!0});if(h!==null)return h}if(typeof this.nonInteractive<\"u\"){let h=await n(\"The --non-interactive option is deprecated\",{error:!i});if(h!==null)return h}if(typeof this.frozenLockfile<\"u\"&&(await n(\"The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead\",{error:!1}),this.immutable=this.frozenLockfile),typeof this.cacheFolder<\"u\"){let h=await n(\"The cache-folder option has been deprecated; use rc settings instead\",{error:!hQ.default.NETLIFY});if(h!==null)return h}let s=this.mode===\"update-lockfile\";if(s&&(this.immutable||this.immutableCache))throw new be(`${ee.pretty(t,\"--immutable\",ee.Type.CODE)} and ${ee.pretty(t,\"--immutable-cache\",ee.Type.CODE)} cannot be used with ${ee.pretty(t,\"--mode=update-lockfile\",ee.Type.CODE)}`);let o=((f=this.immutable)!=null?f:t.get(\"enableImmutableInstalls\"))&&!s,a=this.immutableCache&&!s;if(t.projectCwd!==null){let h=await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeFooter:!1},async p=>{await BWe(t,o)&&(p.reportInfo(48,\"Automatically fixed merge conflicts \\u{1F44D}\"),p.reportSeparator())});if(h.hasErrors())return h.exitCode()}if(t.projectCwd!==null&&typeof t.sources.get(\"nodeLinker\")>\"u\"){let h=t.projectCwd,p;try{p=await M.readFilePromise(x.join(h,xt.lockfile),\"utf8\")}catch{}if(p!=null&&p.includes(\"yarn lockfile v1\")){let C=await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeFooter:!1},async y=>{y.reportInfo(70,\"Migrating from Yarn 1; automatically enabling the compatibility node-modules linker \\u{1F44D}\"),y.reportSeparator(),t.use(\"<compat>\",{nodeLinker:\"node-modules\"},h,{overwrite:!0}),await ye.updateConfiguration(h,{nodeLinker:\"node-modules\"})});if(C.hasErrors())return C.exitCode()}}if(t.projectCwd!==null){let h=await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeFooter:!1},async p=>{var C;(C=ye.telemetry)!=null&&C.isNew&&(p.reportInfo(65,\"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry\"),p.reportInfo(65,`Run ${ee.pretty(t,\"yarn config set --home enableTelemetry 0\",ee.Type.CODE)} to disable`),p.reportSeparator())});if(h.hasErrors())return h.exitCode()}let{project:l,workspace:c}=await je.find(t,this.context.cwd),u=await Rt.find(t,{immutable:a,check:this.checkCache});if(!c)throw new ct(l.cwd,this.context.cwd);return await l.restoreInstallState({restoreResolutions:!1}),(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeLogs:!0},async h=>{await l.install({cache:u,report:h,immutable:o,mode:this.mode})})).exitCode()}};cu.paths=[[\"install\"],ve.Default],cu.usage=ve.Usage({description:\"install the project dependencies\",details:`\n      This command sets up your project if needed. The installation is split into four different steps that each have their own characteristics:\n\n      - **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ).\n\n      - **Fetch:** Then we download all the dependencies if needed, and make sure that they're all stored within our cache (check the value of \\`cacheFolder\\` in \\`yarn config\\` to see where the cache files are stored).\n\n      - **Link:** Then we send the dependency tree information to internal plugins tasked with writing them on the disk in some form (for example by generating the .pnp.cjs file you might know).\n\n      - **Build:** Once the dependency tree has been written on the disk, the package manager will now be free to run the build scripts for all packages that might need it, in a topological order compatible with the way they depend on one another. See https://yarnpkg.com/advanced/lifecycle-scripts for detail.\n\n      Note that running this command is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your .pnp.cjs file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches.\n\n      If the \\`--immutable\\` option is set (defaults to true on CI), Yarn will abort with an error exit code if the lockfile was to be modified (other paths can be added using the \\`immutablePatterns\\` configuration setting). For backward compatibility we offer an alias under the name of \\`--frozen-lockfile\\`, but it will be removed in a later release.\n\n      If the \\`--immutable-cache\\` option is set, Yarn will abort with an error exit code if the cache folder was to be modified (either because files would be added, or because they'd be removed).\n\n      If the \\`--check-cache\\` option is set, Yarn will always refetch the packages and will ensure that their checksum matches what's 1/ described in the lockfile 2/ inside the existing cache files (if present). This is recommended as part of your CI workflow if you're both following the Zero-Installs model and accepting PRs from third-parties, as they'd otherwise have the ability to alter the checked-in packages before submitting them.\n\n      If the \\`--inline-builds\\` option is set, Yarn will verbosely print the output of the build steps of your dependencies (instead of writing them into individual files). This is likely useful mostly for debug purposes only when using Docker-like environments.\n\n      If the \\`--mode=<mode>\\` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n      - \\`skip-build\\` will not run the build scripts at all. Note that this is different from setting \\`enableScripts\\` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n      - \\`update-lockfile\\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n    `,examples:[[\"Install the project\",\"$0 install\"],[\"Validate a project when using Zero-Installs\",\"$0 install --immutable --immutable-cache\"],[\"Validate a project when using Zero-Installs (slightly safer if you accept external PRs)\",\"$0 install --immutable --immutable-cache --check-cache\"]]});var IWe=\"|||||||\",yWe=\">>>>>>>\",wWe=\"=======\",boe=\"<<<<<<<\";async function BWe(r,e){if(!r.projectCwd)return!1;let t=x.join(r.projectCwd,r.get(\"lockfileFilename\"));if(!await M.existsPromise(t))return!1;let i=await M.readFilePromise(t,\"utf8\");if(!i.includes(boe))return!1;if(e)throw new at(47,\"Cannot autofix a lockfile when running an immutable install\");let[n,s]=QWe(i),o,a;try{o=Ii(n),a=Ii(s)}catch{throw new at(46,\"The individual variants of the lockfile failed to parse\")}let l={...o,...a};for(let[c,u]of Object.entries(l))typeof u==\"string\"&&delete l[c];return await M.changeFilePromise(t,Ca(l),{automaticNewlines:!0}),!0}function QWe(r){let e=[[],[]],t=r.split(/\\r?\\n/g),i=!1;for(;t.length>0;){let n=t.shift();if(typeof n>\"u\")throw new Error(\"Assertion failed: Some lines should remain\");if(n.startsWith(boe)){for(;t.length>0;){let s=t.shift();if(typeof s>\"u\")throw new Error(\"Assertion failed: Some lines should remain\");if(s===wWe){i=!1;break}else if(i||s.startsWith(IWe)){i=!0;continue}else e[0].push(s)}for(;t.length>0;){let s=t.shift();if(typeof s>\"u\")throw new Error(\"Assertion failed: Some lines should remain\");if(s.startsWith(yWe))break;e[1].push(s)}}else e[0].push(n),e[1].push(n)}return[e[0].join(`\n`),e[1].join(`\n`)]}var uu=class extends De{constructor(){super(...arguments);this.all=z.Boolean(\"-A,--all\",!1,{description:\"Link all workspaces belonging to the target project to the current one\"});this.private=z.Boolean(\"-p,--private\",!1,{description:\"Also link private workspaces belonging to the target project to the current one\"});this.relative=z.Boolean(\"-r,--relative\",!1,{description:\"Link workspaces using relative paths instead of absolute paths\"});this.destination=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=x.resolve(this.context.cwd,K.toPortablePath(this.destination)),a=await ye.find(o,this.context.plugins,{useRc:!1,strict:!1}),{project:l,workspace:c}=await je.find(a,o);if(i.cwd===l.cwd)throw new be(\"Invalid destination; Can't link the project to itself\");if(!c)throw new ct(l.cwd,o);let u=i.topLevelWorkspace,g=[];if(this.all){for(let h of l.workspaces)h.manifest.name&&(!h.manifest.private||this.private)&&g.push(h);if(g.length===0)throw new be(\"No workspace found to be linked in the target project\")}else{if(!c.manifest.name)throw new be(\"The target workspace doesn't have a name and thus cannot be linked\");if(c.manifest.private&&!this.private)throw new be(\"The target workspace is marked private - use the --private flag to link it anyway\");g.push(c)}for(let h of g){let p=P.stringifyIdent(h.locator),C=this.relative?x.relative(i.cwd,h.cwd):h.cwd;u.manifest.resolutions.push({pattern:{descriptor:{fullName:p}},reference:`portal:${C}`})}return(await Ge.start({configuration:t,stdout:this.context.stdout},async h=>{await i.install({cache:s,report:h})})).exitCode()}};uu.paths=[[\"link\"]],uu.usage=ve.Usage({description:\"connect the local project to another one\",details:\"\\n      This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\\n    \",examples:[[\"Register a remote workspace for use in the current project\",\"$0 link ~/ts-loader\"],[\"Register all workspaces from a remote project for use in the current project\",\"$0 link ~/jest --all\"]]});var gu=class extends De{constructor(){super(...arguments);this.args=z.Proxy()}async execute(){return this.cli.run([\"exec\",\"node\",...this.args])}};gu.paths=[[\"node\"]],gu.usage=ve.Usage({description:\"run node with the hook already setup\",details:`\n      This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment).\n\n      The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version.\n    `,examples:[[\"Run a Node script\",\"$0 node ./my-script.js\"]]});var koe=J(\"os\");var Soe=J(\"os\");var bWe=\"https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml\";async function hu(r){let e=await Vt.get(bWe,{configuration:r});return Ii(e.toString())}var fu=class extends De{constructor(){super(...arguments);this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins);return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async n=>{let s=await hu(t);for(let[o,{experimental:a,...l}]of Object.entries(s)){let c=o;a&&(c+=\" [experimental]\"),n.reportJson({name:o,experimental:a,...l}),n.reportInfo(null,c)}})).exitCode()}};fu.paths=[[\"plugin\",\"list\"]],fu.usage=ve.Usage({category:\"Plugin-related commands\",description:\"list the available official plugins\",details:\"\\n      This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\\n    \",examples:[[\"List the official plugins\",\"$0 plugin list\"]]});var SWe=/^[0-9]+$/;function voe(r){return SWe.test(r)?`pull/${r}/head`:r}var vWe=({repository:r,branch:e},t)=>[[\"git\",\"init\",K.fromPortablePath(t)],[\"git\",\"remote\",\"add\",\"origin\",r],[\"git\",\"fetch\",\"origin\",\"--depth=1\",voe(e)],[\"git\",\"reset\",\"--hard\",\"FETCH_HEAD\"]],xWe=({branch:r})=>[[\"git\",\"fetch\",\"origin\",\"--depth=1\",voe(r),\"--force\"],[\"git\",\"reset\",\"--hard\",\"FETCH_HEAD\"],[\"git\",\"clean\",\"-dfx\"]],PWe=({plugins:r,noMinify:e},t)=>[[\"yarn\",\"build:cli\",...new Array().concat(...r.map(i=>[\"--plugin\",x.resolve(t,i)])),...e?[\"--no-minify\"]:[],\"|\"]],pu=class extends De{constructor(){super(...arguments);this.installPath=z.String(\"--path\",{description:\"The path where the repository should be cloned to\"});this.repository=z.String(\"--repository\",\"https://github.com/yarnpkg/berry.git\",{description:\"The repository that should be cloned\"});this.branch=z.String(\"--branch\",\"master\",{description:\"The branch of the repository that should be cloned\"});this.plugins=z.Array(\"--plugin\",[],{description:\"An array of additional plugins that should be included in the bundle\"});this.noMinify=z.Boolean(\"--no-minify\",!1,{description:\"Build a bundle for development (debugging) - non-minified and non-mangled\"});this.force=z.Boolean(\"-f,--force\",!1,{description:\"Always clone the repository instead of trying to fetch the latest commits\"});this.skipPlugins=z.Boolean(\"--skip-plugins\",!1,{description:\"Skip updating the contrib plugins\"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd),n=typeof this.installPath<\"u\"?x.resolve(this.context.cwd,K.toPortablePath(this.installPath)):x.resolve(K.toPortablePath((0,Soe.tmpdir)()),\"yarnpkg-sources\",li.makeHash(this.repository).slice(0,6));return(await Ge.start({configuration:t,stdout:this.context.stdout},async o=>{await ST(this,{configuration:t,report:o,target:n}),o.reportSeparator(),o.reportInfo(0,\"Building a fresh bundle\"),o.reportSeparator(),await Om(PWe(this,n),{configuration:t,context:this.context,target:n}),o.reportSeparator();let a=x.resolve(n,\"packages/yarnpkg-cli/bundles/yarn.js\"),l=await M.readFilePromise(a);await bT(t,\"sources\",l,{report:o}),this.skipPlugins||await DWe(this,{project:i,report:o,target:n})})).exitCode()}};pu.paths=[[\"set\",\"version\",\"from\",\"sources\"]],pu.usage=ve.Usage({description:\"build Yarn from master\",details:`\n      This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project.\n\n      By default, it also updates all contrib plugins to the same commit the bundle is built from. This behavior can be disabled by using the \\`--skip-plugins\\` flag.\n    `,examples:[[\"Build Yarn from master\",\"$0 set version from sources\"]]});async function Om(r,{configuration:e,context:t,target:i}){for(let[n,...s]of r){let o=s[s.length-1]===\"|\";if(o&&s.pop(),o)await Cr.pipevp(n,s,{cwd:i,stdin:t.stdin,stdout:t.stdout,stderr:t.stderr,strict:!0});else{t.stdout.write(`${ee.pretty(e,`  $ ${[n,...s].join(\" \")}`,\"grey\")}\n`);try{await Cr.execvp(n,s,{cwd:i,strict:!0})}catch(a){throw t.stdout.write(a.stdout||a.stack),a}}}}async function ST(r,{configuration:e,report:t,target:i}){let n=!1;if(!r.force&&M.existsSync(x.join(i,\".git\"))){t.reportInfo(0,\"Fetching the latest commits\"),t.reportSeparator();try{await Om(xWe(r),{configuration:e,context:r.context,target:i}),n=!0}catch{t.reportSeparator(),t.reportWarning(0,\"Repository update failed; we'll try to regenerate it\")}}n||(t.reportInfo(0,\"Cloning the remote repository\"),t.reportSeparator(),await M.removePromise(i),await M.mkdirPromise(i,{recursive:!0}),await Om(vWe(r,i),{configuration:e,context:r.context,target:i}))}async function DWe(r,{project:e,report:t,target:i}){let n=await hu(e.configuration),s=new Set(Object.keys(n));for(let o of e.configuration.plugins.keys())!s.has(o)||await vT(o,r,{project:e,report:t,target:i})}var xoe=Pe(Xr()),Poe=J(\"url\"),Doe=J(\"vm\");var du=class extends De{constructor(){super(...arguments);this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins);return(await Ge.start({configuration:t,stdout:this.context.stdout},async n=>{let{project:s}=await je.find(t,this.context.cwd),o,a;if(this.name.match(/^\\.{0,2}[\\\\/]/)||K.isAbsolute(this.name)){let l=x.resolve(this.context.cwd,K.toPortablePath(this.name));n.reportInfo(0,`Reading ${ee.pretty(t,l,ee.Type.PATH)}`),o=x.relative(s.cwd,l),a=await M.readFilePromise(l)}else{let l;if(this.name.match(/^https?:/)){try{new Poe.URL(this.name)}catch{throw new at(52,`Plugin specifier \"${this.name}\" is neither a plugin name nor a valid url`)}o=this.name,l=this.name}else{let c=P.parseLocator(this.name.replace(/^((@yarnpkg\\/)?plugin-)?/,\"@yarnpkg/plugin-\"));if(c.reference!==\"unknown\"&&!xoe.default.valid(c.reference))throw new at(0,\"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.\");let u=P.stringifyIdent(c),g=await hu(t);if(!Object.prototype.hasOwnProperty.call(g,u))throw new at(51,`Couldn't find a plugin named \"${u}\" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be referenced by their name; any other plugin will have to be referenced through its public url (for example https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js).`);o=u,l=g[u].url,c.reference!==\"unknown\"?l=l.replace(/\\/master\\//,`/${u}/${c.reference}/`):Lr!==null&&(l=l.replace(/\\/master\\//,`/@yarnpkg/cli/${Lr}/`))}n.reportInfo(0,`Downloading ${ee.pretty(t,l,\"green\")}`),a=await Vt.get(l,{configuration:t})}await xT(o,a,{project:s,report:n})})).exitCode()}};du.paths=[[\"plugin\",\"import\"]],du.usage=ve.Usage({category:\"Plugin-related commands\",description:\"download a plugin\",details:`\n      This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations.\n\n      Three types of plugin references are accepted:\n\n      - If the plugin is stored within the Yarn repository, it can be referenced by name.\n      - Third-party plugins can be referenced directly through their public urls.\n      - Local plugins can be referenced by their path on the disk.\n\n      Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the \\`@yarnpkg/builder\\` package).\n    `,examples:[['Download and activate the \"@yarnpkg/plugin-exec\" plugin',\"$0 plugin import @yarnpkg/plugin-exec\"],['Download and activate the \"@yarnpkg/plugin-exec\" plugin (shorthand)',\"$0 plugin import exec\"],[\"Download and activate a community plugin\",\"$0 plugin import https://example.org/path/to/plugin.js\"],[\"Activate a local plugin\",\"$0 plugin import ./path/to/plugin.js\"]]});async function xT(r,e,{project:t,report:i}){let{configuration:n}=t,s={},o={exports:s};(0,Doe.runInNewContext)(e.toString(),{module:o,exports:s});let a=o.exports.name,l=`.yarn/plugins/${a}.cjs`,c=x.resolve(t.cwd,l);i.reportInfo(0,`Saving the new plugin in ${ee.pretty(n,l,\"magenta\")}`),await M.mkdirPromise(x.dirname(c),{recursive:!0}),await M.writeFilePromise(c,e);let u={path:l,spec:r};await ye.updateConfiguration(t.cwd,g=>{let f=[],h=!1;for(let p of g.plugins||[]){let C=typeof p!=\"string\"?p.path:p,y=x.resolve(t.cwd,K.toPortablePath(C)),{name:B}=Ie.dynamicRequire(y);B!==a?f.push(p):(f.push(u),h=!0)}return h||f.push(u),{...g,plugins:f}})}var kWe=({pluginName:r,noMinify:e},t)=>[[\"yarn\",`build:${r}`,...e?[\"--no-minify\"]:[],\"|\"]],Cu=class extends De{constructor(){super(...arguments);this.installPath=z.String(\"--path\",{description:\"The path where the repository should be cloned to\"});this.repository=z.String(\"--repository\",\"https://github.com/yarnpkg/berry.git\",{description:\"The repository that should be cloned\"});this.branch=z.String(\"--branch\",\"master\",{description:\"The branch of the repository that should be cloned\"});this.noMinify=z.Boolean(\"--no-minify\",!1,{description:\"Build a plugin for development (debugging) - non-minified and non-mangled\"});this.force=z.Boolean(\"-f,--force\",!1,{description:\"Always clone the repository instead of trying to fetch the latest commits\"});this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=typeof this.installPath<\"u\"?x.resolve(this.context.cwd,K.toPortablePath(this.installPath)):x.resolve(K.toPortablePath((0,koe.tmpdir)()),\"yarnpkg-sources\",li.makeHash(this.repository).slice(0,6));return(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{let{project:o}=await je.find(t,this.context.cwd),a=P.parseIdent(this.name.replace(/^((@yarnpkg\\/)?plugin-)?/,\"@yarnpkg/plugin-\")),l=P.stringifyIdent(a),c=await hu(t);if(!Object.prototype.hasOwnProperty.call(c,l))throw new at(51,`Couldn't find a plugin named \"${l}\" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let u=l;await ST(this,{configuration:t,report:s,target:i}),await vT(u,this,{project:o,report:s,target:i})})).exitCode()}};Cu.paths=[[\"plugin\",\"import\",\"from\",\"sources\"]],Cu.usage=ve.Usage({category:\"Plugin-related commands\",description:\"build a plugin from sources\",details:`\n      This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations.\n\n      The plugins can be referenced by their short name if sourced from the official Yarn repository.\n    `,examples:[['Build and activate the \"@yarnpkg/plugin-exec\" plugin',\"$0 plugin import from sources @yarnpkg/plugin-exec\"],['Build and activate the \"@yarnpkg/plugin-exec\" plugin (shorthand)',\"$0 plugin import from sources exec\"]]});async function vT(r,{context:e,noMinify:t},{project:i,report:n,target:s}){let o=r.replace(/@yarnpkg\\//,\"\"),{configuration:a}=i;n.reportSeparator(),n.reportInfo(0,`Building a fresh ${o}`),n.reportSeparator(),await Om(kWe({pluginName:o,noMinify:t},s),{configuration:a,context:e,target:s}),n.reportSeparator();let l=x.resolve(s,`packages/${o}/bundles/${r}.js`),c=await M.readFilePromise(l);await xT(r,c,{project:i,report:n})}var mu=class extends De{constructor(){super(...arguments);this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd);return(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{let o=this.name,a=P.parseIdent(o);if(!t.plugins.has(o))throw new be(`${P.prettyIdent(t,a)} isn't referenced by the current configuration`);let l=`.yarn/plugins/${o}.cjs`,c=x.resolve(i.cwd,l);M.existsSync(c)&&(s.reportInfo(0,`Removing ${ee.pretty(t,l,ee.Type.PATH)}...`),await M.removePromise(c)),s.reportInfo(0,\"Updating the configuration...\"),await ye.updateConfiguration(i.cwd,u=>{if(!Array.isArray(u.plugins))return u;let g=u.plugins.filter(f=>f.path!==l);return u.plugins.length===g.length?u:{...u,plugins:g}})})).exitCode()}};mu.paths=[[\"plugin\",\"remove\"]],mu.usage=ve.Usage({category:\"Plugin-related commands\",description:\"remove a plugin\",details:`\n      This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration.\n\n      **Note:** The plugins have to be referenced by their name property, which can be obtained using the \\`yarn plugin runtime\\` command. Shorthands are not allowed.\n   `,examples:[[\"Remove a plugin imported from the Yarn repository\",\"$0 plugin remove @yarnpkg/plugin-typescript\"],[\"Remove a plugin imported from a local file\",\"$0 plugin remove my-local-plugin\"]]});var Eu=class extends De{constructor(){super(...arguments);this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins);return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async n=>{for(let s of t.plugins.keys()){let o=this.context.plugins.plugins.has(s),a=s;o&&(a+=\" [builtin]\"),n.reportJson({name:s,builtin:o}),n.reportInfo(null,`${a}`)}})).exitCode()}};Eu.paths=[[\"plugin\",\"runtime\"]],Eu.usage=ve.Usage({category:\"Plugin-related commands\",description:\"list the active plugins\",details:`\n      This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins.\n    `,examples:[[\"List the currently active plugins\",\"$0 plugin runtime\"]]});var Iu=class extends De{constructor(){super(...arguments);this.idents=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);let o=new Set;for(let l of this.idents)o.add(P.parseIdent(l).identHash);if(await i.restoreInstallState({restoreResolutions:!1}),await i.resolveEverything({cache:s,report:new ti}),o.size>0)for(let l of i.storedPackages.values())o.has(l.identHash)&&i.storedBuildState.delete(l.locatorHash);else i.storedBuildState.clear();return(await Ge.start({configuration:t,stdout:this.context.stdout,includeLogs:!this.context.quiet},async l=>{await i.install({cache:s,report:l})})).exitCode()}};Iu.paths=[[\"rebuild\"]],Iu.usage=ve.Usage({description:\"rebuild the project's native packages\",details:`\n      This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again.\n\n      Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future).\n\n      By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory.\n    `,examples:[[\"Rebuild all packages\",\"$0 rebuild\"],[\"Rebuild fsevents only\",\"$0 rebuild fsevents\"]]});var PT=Pe(yn());ns();var yu=class extends De{constructor(){super(...arguments);this.all=z.Boolean(\"-A,--all\",!1,{description:\"Apply the operation to all workspaces from the current project\"});this.mode=z.String(\"--mode\",{description:\"Change what artifacts installs generate\",validator:Wi(Xn)});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=this.all?i.workspaces:[n],a=[\"dependencies\",\"devDependencies\",\"peerDependencies\"],l=[],c=!1,u=[];for(let p of this.patterns){let C=!1,y=P.parseIdent(p);for(let B of o){let v=[...B.manifest.peerDependenciesMeta.keys()];for(let D of(0,PT.default)(v,p))B.manifest.peerDependenciesMeta.delete(D),c=!0,C=!0;for(let D of a){let L=B.manifest.getForScope(D),H=[...L.values()].map(j=>P.stringifyIdent(j));for(let j of(0,PT.default)(H,P.stringifyIdent(y))){let{identHash:$}=P.parseIdent(j),V=L.get($);if(typeof V>\"u\")throw new Error(\"Assertion failed: Expected the descriptor to be registered\");B.manifest[D].delete($),u.push([B,D,V]),c=!0,C=!0}}}C||l.push(p)}let g=l.length>1?\"Patterns\":\"Pattern\",f=l.length>1?\"don't\":\"doesn't\",h=this.all?\"any\":\"this\";if(l.length>0)throw new be(`${g} ${ee.prettyList(t,l,vi.CODE)} ${f} match any packages referenced by ${h} workspace`);return c?(await t.triggerMultipleHooks(C=>C.afterWorkspaceDependencyRemoval,u),(await Ge.start({configuration:t,stdout:this.context.stdout},async C=>{await i.install({cache:s,report:C,mode:this.mode})})).exitCode()):0}};yu.paths=[[\"remove\"]],yu.usage=ve.Usage({description:\"remove dependencies from the project\",details:`\n      This command will remove the packages matching the specified patterns from the current workspace.\n\n      If the \\`--mode=<mode>\\` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n      - \\`skip-build\\` will not run the build scripts at all. Note that this is different from setting \\`enableScripts\\` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n      - \\`update-lockfile\\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n      This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n    `,examples:[[\"Remove a dependency from the current project\",\"$0 remove lodash\"],[\"Remove a dependency from all workspaces at once\",\"$0 remove lodash --all\"],[\"Remove all dependencies starting with `eslint-`\",\"$0 remove 'eslint-*'\"],[\"Remove all dependencies with the `@babel` scope\",\"$0 remove '@babel/*'\"],[\"Remove all dependencies matching `react-dom` or `react-helmet`\",\"$0 remove 'react-{dom,helmet}'\"]]});var Roe=J(\"util\"),Uh=class extends De{async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await je.find(e,this.context.cwd);if(!i)throw new ct(t.cwd,this.context.cwd);return(await Ge.start({configuration:e,stdout:this.context.stdout},async s=>{let o=i.manifest.scripts,a=Ie.sortMap(o.keys(),u=>u),l={breakLength:1/0,colors:e.get(\"enableColors\"),maxArrayLength:2},c=a.reduce((u,g)=>Math.max(u,g.length),0);for(let[u,g]of o.entries())s.reportInfo(null,`${u.padEnd(c,\" \")}   ${(0,Roe.inspect)(g,l)}`)})).exitCode()}};Uh.paths=[[\"run\"]];var wu=class extends De{constructor(){super(...arguments);this.inspect=z.String(\"--inspect\",!1,{tolerateBoolean:!0,description:\"Forwarded to the underlying Node process when executing a binary\"});this.inspectBrk=z.String(\"--inspect-brk\",!1,{tolerateBoolean:!0,description:\"Forwarded to the underlying Node process when executing a binary\"});this.topLevel=z.Boolean(\"-T,--top-level\",!1,{description:\"Check the root workspace for scripts and/or binaries instead of the current one\"});this.binariesOnly=z.Boolean(\"-B,--binaries-only\",!1,{description:\"Ignore any user defined scripts and only check for binaries\"});this.silent=z.Boolean(\"--silent\",{hidden:!0});this.scriptName=z.String();this.args=z.Proxy()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n,locator:s}=await je.find(t,this.context.cwd);await i.restoreInstallState();let o=this.topLevel?i.topLevelWorkspace.anchoredLocator:s;if(!this.binariesOnly&&await Jt.hasPackageScript(o,this.scriptName,{project:i}))return await Jt.executePackageScript(o,this.scriptName,this.args,{project:i,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let a=await Jt.getPackageAccessibleBinaries(o,{project:i});if(a.get(this.scriptName)){let c=[];return this.inspect&&(typeof this.inspect==\"string\"?c.push(`--inspect=${this.inspect}`):c.push(\"--inspect\")),this.inspectBrk&&(typeof this.inspectBrk==\"string\"?c.push(`--inspect-brk=${this.inspectBrk}`):c.push(\"--inspect-brk\")),await Jt.executePackageAccessibleBinary(o,this.scriptName,this.args,{cwd:this.context.cwd,project:i,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:c,packageAccessibleBinaries:a})}if(!this.topLevel&&!this.binariesOnly&&n&&this.scriptName.includes(\":\")){let u=(await Promise.all(i.workspaces.map(async g=>g.manifest.scripts.has(this.scriptName)?g:null))).filter(g=>g!==null);if(u.length===1)return await Jt.executeWorkspaceScript(u[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName===\"node-gyp\"?new be(`Couldn't find a script name \"${this.scriptName}\" in the top-level (used by ${P.prettyLocator(t,s)}). This typically happens because some package depends on \"node-gyp\" to build itself, but didn't list it in their dependencies. To fix that, please run \"yarn add node-gyp\" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new be(`Couldn't find a script name \"${this.scriptName}\" in the top-level (used by ${P.prettyLocator(t,s)}).`);{if(this.scriptName===\"global\")throw new be(\"The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead\");let c=[this.scriptName].concat(this.args);for(let[u,g]of ph)for(let f of g)if(c.length>=f.length&&JSON.stringify(c.slice(0,f.length))===JSON.stringify(f))throw new be(`Couldn't find a script named \"${this.scriptName}\", but a matching command can be found in the ${u} plugin. You can install it with \"yarn plugin import ${u}\".`);throw new be(`Couldn't find a script named \"${this.scriptName}\".`)}}};wu.paths=[[\"run\"]],wu.usage=ve.Usage({description:\"run a script defined in the package.json\",details:`\n      This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace:\n\n      - If the \\`scripts\\` field from your local package.json contains a matching script name, its definition will get executed.\n\n      - Otherwise, if one of the local workspace's dependencies exposes a binary with a matching name, this binary will get executed.\n\n      - Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed.\n\n      Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax).\n    `,examples:[[\"Run the tests from the local workspace\",\"$0 run test\"],['Same thing, but without the \"run\" keyword',\"$0 test\"],[\"Inspect Webpack while running\",\"$0 run --inspect-brk webpack\"]]});var Bu=class extends De{constructor(){super(...arguments);this.save=z.Boolean(\"-s,--save\",!1,{description:\"Persist the resolution inside the top-level manifest\"});this.descriptor=z.String();this.resolution=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(await i.restoreInstallState({restoreResolutions:!1}),!n)throw new ct(i.cwd,this.context.cwd);let o=P.parseDescriptor(this.descriptor,!0),a=P.makeDescriptor(o,this.resolution);return i.storedDescriptors.set(o.descriptorHash,o),i.storedDescriptors.set(a.descriptorHash,a),i.resolutionAliases.set(o.descriptorHash,a.descriptorHash),(await Ge.start({configuration:t,stdout:this.context.stdout},async c=>{await i.install({cache:s,report:c})})).exitCode()}};Bu.paths=[[\"set\",\"resolution\"]],Bu.usage=ve.Usage({description:\"enforce a package resolution\",details:'\\n      This command updates the resolution table so that `descriptor` is resolved by `resolution`.\\n\\n      Note that by default this command only affect the current resolution table - meaning that this \"manual override\" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, add the `-s,--save` flag which will also edit the `resolutions` field from your top-level manifest.\\n\\n      Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\\n    ',examples:[[\"Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0\",\"$0 set resolution lodash@npm:^1.2.3 1.5.0\"]]});var Foe=Pe(yn()),Qu=class extends De{constructor(){super(...arguments);this.all=z.Boolean(\"-A,--all\",!1,{description:\"Unlink all workspaces belonging to the target project from the current one\"});this.leadingArguments=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);let o=i.topLevelWorkspace,a=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:c,reference:u}of o.manifest.resolutions)u.startsWith(\"portal:\")&&a.add(c.descriptor.fullName);if(this.leadingArguments.length>0)for(let c of this.leadingArguments){let u=x.resolve(this.context.cwd,K.toPortablePath(c));if(Ie.isPathLike(c)){let g=await ye.find(u,this.context.plugins,{useRc:!1,strict:!1}),{project:f,workspace:h}=await je.find(g,u);if(!h)throw new ct(f.cwd,u);if(this.all){for(let p of f.workspaces)p.manifest.name&&a.add(P.stringifyIdent(p.locator));if(a.size===0)throw new be(\"No workspace found to be unlinked in the target project\")}else{if(!h.manifest.name)throw new be(\"The target workspace doesn't have a name and thus cannot be unlinked\");a.add(P.stringifyIdent(h.locator))}}else{let g=[...o.manifest.resolutions.map(({pattern:f})=>f.descriptor.fullName)];for(let f of(0,Foe.default)(g,c))a.add(f)}}return o.manifest.resolutions=o.manifest.resolutions.filter(({pattern:c})=>!a.has(c.descriptor.fullName)),(await Ge.start({configuration:t,stdout:this.context.stdout},async c=>{await i.install({cache:s,report:c})})).exitCode()}};Qu.paths=[[\"unlink\"]],Qu.usage=ve.Usage({description:\"disconnect the local project from another one\",details:`\n      This command will remove any resolutions in the project-level manifest that would have been added via a yarn link with similar arguments.\n    `,examples:[[\"Unregister a remote workspace in the current project\",\"$0 unlink ~/ts-loader\"],[\"Unregister all workspaces from a remote project in the current project\",\"$0 unlink ~/jest --all\"],[\"Unregister all previously linked workspaces\",\"$0 unlink --all\"],[\"Unregister all workspaces matching a glob\",\"$0 unlink '@babel/*' 'pkg-{a,b}'\"]]});var Noe=Pe(Pm()),DT=Pe(yn());ns();var Al=class extends De{constructor(){super(...arguments);this.interactive=z.Boolean(\"-i,--interactive\",{description:\"Offer various choices, depending on the detected upgrade paths\"});this.exact=z.Boolean(\"-E,--exact\",!1,{description:\"Don't use any semver modifier on the resolved range\"});this.tilde=z.Boolean(\"-T,--tilde\",!1,{description:\"Use the `~` semver modifier on the resolved range\"});this.caret=z.Boolean(\"-C,--caret\",!1,{description:\"Use the `^` semver modifier on the resolved range\"});this.recursive=z.Boolean(\"-R,--recursive\",!1,{description:\"Resolve again ALL resolutions for those packages\"});this.mode=z.String(\"--mode\",{description:\"Change what artifacts installs generate\",validator:Wi(Xn)});this.patterns=z.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=[...i.storedDescriptors.values()],a=o.map(g=>P.stringifyIdent(g)),l=new Set;for(let g of this.patterns){if(P.parseDescriptor(g).range!==\"unknown\")throw new be(\"Ranges aren't allowed when using --recursive\");for(let f of(0,DT.default)(a,g)){let h=P.parseIdent(f);l.add(h.identHash)}}let c=o.filter(g=>l.has(g.identHash));for(let g of c)i.storedDescriptors.delete(g.descriptorHash),i.storedResolutions.delete(g.descriptorHash);return(await Ge.start({configuration:t,stdout:this.context.stdout},async g=>{await i.install({cache:s,report:g})})).exitCode()}async executeUpClassic(){var y;let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=(y=this.interactive)!=null?y:t.get(\"preferInteractive\"),a=km(this,i),l=o?[\"keep\",\"reuse\",\"project\",\"latest\"]:[\"project\",\"latest\"],c=[],u=[];for(let B of this.patterns){let v=!1,D=P.parseDescriptor(B);for(let L of i.workspaces)for(let H of[\"dependencies\",\"devDependencies\"]){let $=[...L.manifest.getForScope(H).values()].map(V=>P.stringifyIdent(V));for(let V of(0,DT.default)($,P.stringifyIdent(D))){let W=P.parseIdent(V),Z=L.manifest[H].get(W.identHash);if(typeof Z>\"u\")throw new Error(\"Assertion failed: Expected the descriptor to be registered\");let A=P.makeDescriptor(W,D.range);c.push(Promise.resolve().then(async()=>[L,H,Z,await Rm(A,{project:i,workspace:L,cache:s,target:H,modifier:a,strategies:l})])),v=!0}}v||u.push(B)}if(u.length>1)throw new be(`Patterns ${ee.prettyList(t,u,vi.CODE)} don't match any packages referenced by any workspace`);if(u.length>0)throw new be(`Pattern ${ee.prettyList(t,u,vi.CODE)} doesn't match any packages referenced by any workspace`);let g=await Promise.all(c),f=await _o.start({configuration:t,stdout:this.context.stdout,suggestInstall:!1},async B=>{for(let[,,v,{suggestions:D,rejections:L}]of g){let H=D.filter(j=>j.descriptor!==null);if(H.length===0){let[j]=L;if(typeof j>\"u\")throw new Error(\"Assertion failed: Expected an error to have been set\");let $=this.cli.error(j);i.configuration.get(\"enableNetwork\")?B.reportError(27,`${P.prettyDescriptor(t,v)} can't be resolved to a satisfying range\n\n${$}`):B.reportError(27,`${P.prettyDescriptor(t,v)} can't be resolved to a satisfying range (note: network resolution has been disabled)\n\n${$}`)}else H.length>1&&!o&&B.reportError(27,`${P.prettyDescriptor(t,v)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(f.hasErrors())return f.exitCode();let h=!1,p=[];for(let[B,v,,{suggestions:D}]of g){let L,H=D.filter(W=>W.descriptor!==null),j=H[0].descriptor,$=H.every(W=>P.areDescriptorsEqual(W.descriptor,j));H.length===1||$?L=j:(h=!0,{answer:L}=await(0,Noe.prompt)({type:\"select\",name:\"answer\",message:`Which range to you want to use in ${P.prettyWorkspace(t,B)} \\u276F ${v}?`,choices:D.map(({descriptor:W,name:Z,reason:A})=>W?{name:Z,hint:A,descriptor:W}:{name:Z,hint:A,disabled:!0}),onCancel:()=>process.exit(130),result(W){return this.find(W,\"descriptor\")},stdin:this.context.stdin,stdout:this.context.stdout}));let V=B.manifest[v].get(L.identHash);if(typeof V>\"u\")throw new Error(\"Assertion failed: This descriptor should have a matching entry\");if(V.descriptorHash!==L.descriptorHash)B.manifest[v].set(L.identHash,L),p.push([B,v,V,L]);else{let W=t.makeResolver(),Z={project:i,resolver:W},A=W.bindDescriptor(V,B.anchoredLocator,Z);i.forgetResolution(A)}}return await t.triggerMultipleHooks(B=>B.afterWorkspaceDependencyReplacement,p),h&&this.context.stdout.write(`\n`),(await Ge.start({configuration:t,stdout:this.context.stdout},async B=>{await i.install({cache:s,report:B,mode:this.mode})})).exitCode()}};Al.paths=[[\"up\"]],Al.usage=ve.Usage({description:\"upgrade dependencies across the project\",details:\"\\n      This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\\n\\n      If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\\n\\n      If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\\n\\n      The, `-C,--caret`, `-E,--exact` and  `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\\n\\n      If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\\n\\n      - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\\n\\n      - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\\n\\n      Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\\n\\n      This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\\n\\n      **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\\n    \",examples:[[\"Upgrade all instances of lodash to the latest release\",\"$0 up lodash\"],[\"Upgrade all instances of lodash to the latest release, but ask confirmation for each\",\"$0 up lodash -i\"],[\"Upgrade all instances of lodash to 1.2.3\",\"$0 up lodash@1.2.3\"],[\"Upgrade all instances of packages with the `@babel` scope to the latest release\",\"$0 up '@babel/*'\"],[\"Upgrade all instances of packages containing the word `jest` to the latest release\",\"$0 up '*jest*'\"],[\"Upgrade all instances of packages with the `@babel` scope to 7.0.0\",\"$0 up '@babel/*@7.0.0'\"]]}),Al.schema=[JS(\"recursive\",Xl.Forbids,[\"interactive\",\"exact\",\"tilde\",\"caret\"],{ignore:[void 0,!1]})];var bu=class extends De{constructor(){super(...arguments);this.recursive=z.Boolean(\"-R,--recursive\",!1,{description:\"List, for each workspace, what are all the paths that lead to the dependency\"});this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.peers=z.Boolean(\"--peers\",!1,{description:\"Also print the peer dependencies that match the specified name\"});this.package=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let s=P.parseIdent(this.package).identHash,o=this.recursive?FWe(i,s,{configuration:t,peers:this.peers}):RWe(i,s,{configuration:t,peers:this.peers});Vn.emitTree(o,{configuration:t,stdout:this.context.stdout,json:this.json,separators:1})}};bu.paths=[[\"why\"]],bu.usage=ve.Usage({description:\"display the reason why a package is needed\",details:`\n      This command prints the exact reasons why a package appears in the dependency tree.\n\n      If \\`-R,--recursive\\` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named \"Foo\" when looking for \"Bar\", it means that \"Foo\" already got printed higher in the tree.\n    `,examples:[[\"Explain why lodash is used in your project\",\"$0 why lodash\"]]});function RWe(r,e,{configuration:t,peers:i}){let n=Ie.sortMap(r.storedPackages.values(),a=>P.stringifyLocator(a)),s={},o={children:s};for(let a of n){let l={};for(let u of a.dependencies.values()){if(!i&&a.peerDependencies.has(u.identHash))continue;let g=r.storedResolutions.get(u.descriptorHash);if(!g)throw new Error(\"Assertion failed: The resolution should have been registered\");let f=r.storedPackages.get(g);if(!f)throw new Error(\"Assertion failed: The package should have been registered\");if(f.identHash!==e)continue;{let p=P.stringifyLocator(a);s[p]={value:[a,ee.Type.LOCATOR],children:l}}let h=P.stringifyLocator(f);l[h]={value:[{descriptor:u,locator:f},ee.Type.DEPENDENT]}}}return o}function FWe(r,e,{configuration:t,peers:i}){let n=Ie.sortMap(r.workspaces,f=>P.stringifyLocator(f.anchoredLocator)),s=new Set,o=new Set,a=f=>{if(s.has(f.locatorHash))return o.has(f.locatorHash);if(s.add(f.locatorHash),f.identHash===e)return o.add(f.locatorHash),!0;let h=!1;f.identHash===e&&(h=!0);for(let p of f.dependencies.values()){if(!i&&f.peerDependencies.has(p.identHash))continue;let C=r.storedResolutions.get(p.descriptorHash);if(!C)throw new Error(\"Assertion failed: The resolution should have been registered\");let y=r.storedPackages.get(C);if(!y)throw new Error(\"Assertion failed: The package should have been registered\");a(y)&&(h=!0)}return h&&o.add(f.locatorHash),h};for(let f of n){let h=r.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error(\"Assertion failed: The package should have been registered\");a(h)}let l=new Set,c={},u={children:c},g=(f,h,p)=>{if(!o.has(f.locatorHash))return;let C=p!==null?ee.tuple(ee.Type.DEPENDENT,{locator:f,descriptor:p}):ee.tuple(ee.Type.LOCATOR,f),y={},B={value:C,children:y},v=P.stringifyLocator(f);if(h[v]=B,!l.has(f.locatorHash)&&(l.add(f.locatorHash),!(p!==null&&r.tryWorkspaceByLocator(f))))for(let D of f.dependencies.values()){if(!i&&f.peerDependencies.has(D.identHash))continue;let L=r.storedResolutions.get(D.descriptorHash);if(!L)throw new Error(\"Assertion failed: The resolution should have been registered\");let H=r.storedPackages.get(L);if(!H)throw new Error(\"Assertion failed: The package should have been registered\");g(H,y,D)}};for(let f of n){let h=r.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error(\"Assertion failed: The package should have been registered\");g(h,c,null)}return u}var HT={};ut(HT,{default:()=>$We,gitUtils:()=>$a});var $a={};ut($a,{TreeishProtocols:()=>pQ,clone:()=>UT,fetchBase:()=>tae,fetchChangedFiles:()=>rae,fetchChangedWorkspaces:()=>_We,fetchRoot:()=>eae,isGitUrl:()=>Gh,lsRemote:()=>$oe,normalizeLocator:()=>MT,normalizeRepoUrl:()=>Km,resolveUrl:()=>KT,splitRepoUrl:()=>Mm});var OT=Pe(zoe()),_oe=Pe(dB()),Hh=Pe(J(\"querystring\")),LT=Pe(Xr());function NT(r,e,t){let i=r.indexOf(t);return r.lastIndexOf(e,i>-1?i:1/0)}function Voe(r){try{return new URL(r)}catch{return}}function VWe(r){let e=NT(r,\"@\",\"#\"),t=NT(r,\":\",\"#\");return t>e&&(r=`${r.slice(0,t)}/${r.slice(t+1)}`),NT(r,\":\",\"#\")===-1&&r.indexOf(\"//\")===-1&&(r=`ssh://${r}`),r}function Xoe(r){return Voe(r)||Voe(VWe(r))}function Zoe(){return{...process.env,GIT_SSH_COMMAND:process.env.GIT_SSH_COMMAND||`${process.env.GIT_SSH||\"ssh\"} -o BatchMode=yes`}}var XWe=[/^ssh:/,/^git(?:\\+[^:]+)?:/,/^(?:git\\+)?https?:[^#]+\\/[^#]+(?:\\.git)(?:#.*)?$/,/^git@[^#]+\\/[^#]+\\.git(?:#.*)?$/,/^(?:github:|https:\\/\\/github\\.com\\/)?(?!\\.{1,2}\\/)([a-zA-Z._0-9-]+)\\/(?!\\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\\.git)?(?:#.*)?$/,/^https:\\/\\/github\\.com\\/(?!\\.{1,2}\\/)([a-zA-Z0-9._-]+)\\/(?!\\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\\/tarball\\/(.+)?$/],pQ=(n=>(n.Commit=\"commit\",n.Head=\"head\",n.Tag=\"tag\",n.Semver=\"semver\",n))(pQ||{});function Gh(r){return r?XWe.some(e=>!!r.match(e)):!1}function Mm(r){r=Km(r);let e=r.indexOf(\"#\");if(e===-1)return{repo:r,treeish:{protocol:\"head\",request:\"HEAD\"},extra:{}};let t=r.slice(0,e),i=r.slice(e+1);if(i.match(/^[a-z]+=/)){let n=Hh.default.parse(i);for(let[l,c]of Object.entries(n))if(typeof c!=\"string\")throw new Error(`Assertion failed: The ${l} parameter must be a literal string`);let s=Object.values(pQ).find(l=>Object.prototype.hasOwnProperty.call(n,l)),o,a;typeof s<\"u\"?(o=s,a=n[s]):(o=\"head\",a=\"HEAD\");for(let l of Object.values(pQ))delete n[l];return{repo:t,treeish:{protocol:o,request:a},extra:n}}else{let n=i.indexOf(\":\"),s,o;return n===-1?(s=null,o=i):(s=i.slice(0,n),o=i.slice(n+1)),{repo:t,treeish:{protocol:s,request:o},extra:{}}}}function Km(r,{git:e=!1}={}){if(r=r.replace(/^git\\+https:/,\"https:\"),r=r.replace(/^(?:github:|https:\\/\\/github\\.com\\/)?(?!\\.{1,2}\\/)([a-zA-Z0-9._-]+)\\/(?!\\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\\.git)?(#.*)?$/,\"https://github.com/$1/$2.git$3\"),r=r.replace(/^https:\\/\\/github\\.com\\/(?!\\.{1,2}\\/)([a-zA-Z0-9._-]+)\\/(?!\\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\\/tarball\\/(.+)?$/,\"https://github.com/$1/$2.git#$3\"),e){let t=Xoe(r);t&&(r=t.href),r=r.replace(/^git\\+([^:]+):/,\"$1:\")}return r}function MT(r){return P.makeLocator(r,Km(r.reference))}async function $oe(r,e){let t=Km(r,{git:!0});if(!Vt.getNetworkSettings(`https://${(0,OT.default)(t).resource}`,{configuration:e}).enableNetwork)throw new Error(`Request to '${t}' has been blocked because of your configuration settings`);let n=await TT(\"listing refs\",[\"ls-remote\",t],{cwd:e.startingCwd,env:Zoe()},{configuration:e,normalizedRepoUrl:t}),s=new Map,o=/^([a-f0-9]{40})\\t([^\\n]+)/gm,a;for(;(a=o.exec(n.stdout))!==null;)s.set(a[2],a[1]);return s}async function KT(r,e){let{repo:t,treeish:{protocol:i,request:n},extra:s}=Mm(r),o=await $oe(t,e),a=(c,u)=>{switch(c){case\"commit\":{if(!u.match(/^[a-f0-9]{40}$/))throw new Error(\"Invalid commit hash\");return Hh.default.stringify({...s,commit:u})}case\"head\":{let g=o.get(u===\"HEAD\"?u:`refs/heads/${u}`);if(typeof g>\"u\")throw new Error(`Unknown head (\"${u}\")`);return Hh.default.stringify({...s,commit:g})}case\"tag\":{let g=o.get(`refs/tags/${u}`);if(typeof g>\"u\")throw new Error(`Unknown tag (\"${u}\")`);return Hh.default.stringify({...s,commit:g})}case\"semver\":{let g=vt.validRange(u);if(!g)throw new Error(`Invalid range (\"${u}\")`);let f=new Map([...o.entries()].filter(([p])=>p.startsWith(\"refs/tags/\")).map(([p,C])=>[LT.default.parse(p.slice(10)),C]).filter(p=>p[0]!==null)),h=LT.default.maxSatisfying([...f.keys()],g);if(h===null)throw new Error(`No matching range (\"${u}\")`);return Hh.default.stringify({...s,commit:f.get(h)})}case null:{let g;if((g=l(\"commit\",u))!==null||(g=l(\"tag\",u))!==null||(g=l(\"head\",u))!==null)return g;throw u.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve \"${u}\" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve \"${u}\" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol (\"${c}\")`)}},l=(c,u)=>{try{return a(c,u)}catch{return null}};return`${t}#${a(i,n)}`}async function UT(r,e){return await e.getLimit(\"cloneConcurrency\")(async()=>{let{repo:t,treeish:{protocol:i,request:n}}=Mm(r);if(i!==\"commit\")throw new Error(\"Invalid treeish protocol when cloning\");let s=Km(t,{git:!0});if(Vt.getNetworkSettings(`https://${(0,OT.default)(s).resource}`,{configuration:e}).enableNetwork===!1)throw new Error(`Request to '${s}' has been blocked because of your configuration settings`);let o=await M.mktempPromise(),a={cwd:o,env:Zoe()};return await TT(\"cloning the repository\",[\"clone\",\"-c core.autocrlf=false\",s,K.fromPortablePath(o)],a,{configuration:e,normalizedRepoUrl:s}),await TT(\"switching branch\",[\"checkout\",`${n}`],a,{configuration:e,normalizedRepoUrl:s}),o})}async function eae(r){let e=null,t,i=r;do t=i,await M.existsPromise(x.join(t,\".git\"))&&(e=t),i=x.dirname(t);while(e===null&&i!==t);return e}async function tae(r,{baseRefs:e}){if(e.length===0)throw new be(\"Can't run this command with zero base refs specified.\");let t=[];for(let a of e){let{code:l}=await Cr.execvp(\"git\",[\"merge-base\",a,\"HEAD\"],{cwd:r});l===0&&t.push(a)}if(t.length===0)throw new be(`No ancestor could be found between any of HEAD and ${e.join(\", \")}`);let{stdout:i}=await Cr.execvp(\"git\",[\"merge-base\",\"HEAD\",...t],{cwd:r,strict:!0}),n=i.trim(),{stdout:s}=await Cr.execvp(\"git\",[\"show\",\"--quiet\",\"--pretty=format:%s\",n],{cwd:r,strict:!0}),o=s.trim();return{hash:n,title:o}}async function rae(r,{base:e,project:t}){let i=Ie.buildIgnorePattern(t.configuration.get(\"changesetIgnorePatterns\")),{stdout:n}=await Cr.execvp(\"git\",[\"diff\",\"--name-only\",`${e}`],{cwd:r,strict:!0}),s=n.split(/\\r\\n|\\r|\\n/).filter(c=>c.length>0).map(c=>x.resolve(r,K.toPortablePath(c))),{stdout:o}=await Cr.execvp(\"git\",[\"ls-files\",\"--others\",\"--exclude-standard\"],{cwd:r,strict:!0}),a=o.split(/\\r\\n|\\r|\\n/).filter(c=>c.length>0).map(c=>x.resolve(r,K.toPortablePath(c))),l=[...new Set([...s,...a].sort())];return i?l.filter(c=>!x.relative(t.cwd,c).match(i)):l}async function _We({ref:r,project:e}){if(e.configuration.projectCwd===null)throw new be(\"This command can only be run from within a Yarn project\");let t=[x.resolve(e.cwd,e.configuration.get(\"cacheFolder\")),x.resolve(e.cwd,e.configuration.get(\"installStatePath\")),x.resolve(e.cwd,e.configuration.get(\"lockfileFilename\")),x.resolve(e.cwd,e.configuration.get(\"virtualFolder\"))];await e.configuration.triggerHook(o=>o.populateYarnPaths,e,o=>{o!=null&&t.push(o)});let i=await eae(e.configuration.projectCwd);if(i==null)throw new be(\"This command can only be run on Git repositories\");let n=await tae(i,{baseRefs:typeof r==\"string\"?[r]:e.configuration.get(\"changesetBaseRefs\")}),s=await rae(i,{base:n.hash,project:e});return new Set(Ie.mapAndFilter(s,o=>{let a=e.tryWorkspaceByFilePath(o);return a===null?Ie.mapAndFilter.skip:t.some(l=>o.startsWith(l))?Ie.mapAndFilter.skip:a}))}async function TT(r,e,t,{configuration:i,normalizedRepoUrl:n}){try{return await Cr.execvp(\"git\",e,{...t,strict:!0})}catch(s){if(!(s instanceof Cr.ExecError))throw s;let o=s.reportExtra,a=s.stderr.toString();throw new at(1,`Failed ${r}`,l=>{l.reportError(1,`  ${ee.prettyField(i,{label:\"Repository URL\",value:ee.tuple(ee.Type.URL,n)})}`);for(let c of a.matchAll(/^(.+?): (.*)$/gm)){let[,u,g]=c;u=u.toLowerCase();let f=u===\"error\"?\"Error\":`${(0,_oe.default)(u)} Error`;l.reportError(1,`  ${ee.prettyField(i,{label:f,value:ee.tuple(ee.Type.NO_HINT,g)})}`)}o==null||o(l)})}}var dQ=class{supports(e,t){return Gh(e.reference)}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,n=MT(e),s=new Map(t.checksums);s.set(n.locatorHash,i);let o={...t,checksums:s},a=await this.downloadHosted(n,o);if(a!==null)return a;let[l,c,u]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(n,o),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:l,releaseFs:c,prefixPath:P.getIdentVendorPath(e),checksum:u}}async downloadHosted(e,t){return t.project.configuration.reduceHook(i=>i.fetchHostedRepository,null,e,t)}async cloneFromRemote(e,t){let i=await UT(e.reference,t.project.configuration),n=Mm(e.reference),s=x.join(i,\"package.tgz\");await Jt.prepareExternalProject(i,s,{configuration:t.project.configuration,report:t.report,workspace:n.extra.workspace,locator:e});let o=await M.readFilePromise(s);return await Ie.releaseAfterUseAsync(async()=>await Ci.convertToZip(o,{compressionLevel:t.project.configuration.get(\"compressionLevel\"),prefixPath:P.getIdentVendorPath(e),stripComponents:1}))}};var CQ=class{supportsDescriptor(e,t){return Gh(e.range)}supportsLocator(e,t){return Gh(e.reference)}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=await KT(e.range,i.project.configuration);return[P.makeLocator(e,n)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error(\"Assertion failed: This resolver cannot be used unless a fetcher is configured\");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||\"0.0.0\",languageName:n.languageName||t.project.configuration.get(\"defaultLanguageName\"),linkType:\"HARD\",conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var ZWe={configuration:{changesetBaseRefs:{description:\"The base git refs that the current HEAD is compared against when detecting changes. Supports git branches, tags, and commits.\",type:\"STRING\",isArray:!0,isNullable:!1,default:[\"master\",\"origin/master\",\"upstream/master\",\"main\",\"origin/main\",\"upstream/main\"]},changesetIgnorePatterns:{description:\"Array of glob patterns; files matching them will be ignored when fetching the changed files\",type:\"STRING\",default:[],isArray:!0},cloneConcurrency:{description:\"Maximal number of concurrent clones\",type:\"NUMBER\",default:2}},fetchers:[dQ],resolvers:[CQ]};var $We=ZWe;var Su=class extends De{constructor(){super(...arguments);this.since=z.String(\"--since\",{description:\"Only include workspaces that have been changed since the specified ref.\",tolerateBoolean:!0});this.recursive=z.Boolean(\"-R,--recursive\",!1,{description:\"Find packages via dependencies/devDependencies instead of using the workspaces field\"});this.noPrivate=z.Boolean(\"--no-private\",{description:\"Exclude workspaces that have the private field set to true\"});this.verbose=z.Boolean(\"-v,--verbose\",!1,{description:\"Also return the cross-dependencies between workspaces\"});this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd);return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async s=>{let o=this.since?await $a.fetchChangedWorkspaces({ref:this.since,project:i}):i.workspaces,a=new Set(o);if(this.recursive)for(let l of[...o].map(c=>c.getRecursiveWorkspaceDependents()))for(let c of l)a.add(c);for(let l of a){let{manifest:c}=l;if(c.private&&this.noPrivate)continue;let u;if(this.verbose){let g=new Set,f=new Set;for(let h of ot.hardDependencies)for(let[p,C]of c.getForScope(h)){let y=i.tryWorkspaceByDescriptor(C);y===null?i.workspacesByIdent.has(p)&&f.add(C):g.add(y)}u={workspaceDependencies:Array.from(g).map(h=>h.relativeCwd),mismatchedWorkspaceDependencies:Array.from(f).map(h=>P.stringifyDescriptor(h))}}s.reportInfo(null,`${l.relativeCwd}`),s.reportJson({location:l.relativeCwd,name:c.name?P.stringifyIdent(c.name):null,...u})}})).exitCode()}};Su.paths=[[\"workspaces\",\"list\"]],Su.usage=ve.Usage({category:\"Workspace-related commands\",description:\"list all available workspaces\",details:\"\\n      This command will print the list of all workspaces in the project.\\n\\n      - If `--since` is set, Yarn will only list workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\\n\\n      - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\\n\\n      - If `--no-private` is set, Yarn will not list any workspaces that have the `private` field set to `true`.\\n\\n      - If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\\n    \"});var vu=class extends De{constructor(){super(...arguments);this.workspaceName=z.String();this.commandName=z.String();this.args=z.Proxy()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);let s=i.workspaces,o=new Map(s.map(l=>[P.stringifyIdent(l.locator),l])),a=o.get(this.workspaceName);if(a===void 0){let l=Array.from(o.keys()).sort();throw new be(`Workspace '${this.workspaceName}' not found. Did you mean any of the following:\n  - ${l.join(`\n  - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:a.cwd})}};vu.paths=[[\"workspace\"]],vu.usage=ve.Usage({category:\"Workspace-related commands\",description:\"run a command within the specified workspace\",details:`\n      This command will run a given sub-command on a single workspace.\n    `,examples:[[\"Add a package to a single workspace\",\"yarn workspace components add -D react\"],[\"Run build script on a single workspace\",\"yarn workspace components run build\"]]});var e3e={configuration:{enableImmutableInstalls:{description:\"If true (the default on CI), prevents the install command from modifying the lockfile\",type:\"BOOLEAN\",default:iae.isCI},defaultSemverRangePrefix:{description:\"The default save prefix: '^', '~' or ''\",type:\"STRING\",values:[\"^\",\"~\",\"\"],default:\"^\"}},commands:[$c,eu,tu,ru,Bu,pu,au,Su,Oh,Mh,Lm,Kh,_c,Zc,iu,nu,su,ou,Au,lu,cu,uu,Qu,gu,Cu,du,mu,fu,Eu,Iu,yu,Uh,wu,Al,bu,vu]},t3e=e3e;var WT={};ut(WT,{default:()=>i3e});var Le={optional:!0},YT=[[\"@tailwindcss/aspect-ratio@<0.2.1\",{peerDependencies:{tailwindcss:\"^2.0.2\"}}],[\"@tailwindcss/line-clamp@<0.2.1\",{peerDependencies:{tailwindcss:\"^2.0.2\"}}],[\"@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0\",{peerDependencies:{postcss:\"^8.0.0\"}}],[\"@samverschueren/stream-to-observable@<0.3.1\",{peerDependenciesMeta:{rxjs:Le,zenObservable:Le}}],[\"any-observable@<0.5.1\",{peerDependenciesMeta:{rxjs:Le,zenObservable:Le}}],[\"@pm2/agent@<1.0.4\",{dependencies:{debug:\"*\"}}],[\"debug@<4.2.0\",{peerDependenciesMeta:{[\"supports-color\"]:Le}}],[\"got@<11\",{dependencies:{[\"@types/responselike\"]:\"^1.0.0\",[\"@types/keyv\"]:\"^3.1.1\"}}],[\"cacheable-lookup@<4.1.2\",{dependencies:{[\"@types/keyv\"]:\"^3.1.1\"}}],[\"http-link-dataloader@*\",{peerDependencies:{graphql:\"^0.13.1 || ^14.0.0\"}}],[\"typescript-language-server@*\",{dependencies:{[\"vscode-jsonrpc\"]:\"^5.0.1\",[\"vscode-languageserver-protocol\"]:\"^3.15.0\"}}],[\"postcss-syntax@*\",{peerDependenciesMeta:{[\"postcss-html\"]:Le,[\"postcss-jsx\"]:Le,[\"postcss-less\"]:Le,[\"postcss-markdown\"]:Le,[\"postcss-scss\"]:Le}}],[\"jss-plugin-rule-value-function@<=10.1.1\",{dependencies:{[\"tiny-warning\"]:\"^1.0.2\"}}],[\"ink-select-input@<4.1.0\",{peerDependencies:{react:\"^16.8.2\"}}],[\"license-webpack-plugin@<2.3.18\",{peerDependenciesMeta:{webpack:Le}}],[\"snowpack@>=3.3.0\",{dependencies:{[\"node-gyp\"]:\"^7.1.0\"}}],[\"promise-inflight@*\",{peerDependenciesMeta:{bluebird:Le}}],[\"reactcss@*\",{peerDependencies:{react:\"*\"}}],[\"react-color@<=2.19.0\",{peerDependencies:{react:\"*\"}}],[\"gatsby-plugin-i18n@*\",{dependencies:{ramda:\"^0.24.1\"}}],[\"useragent@^2.0.0\",{dependencies:{request:\"^2.88.0\",yamlparser:\"0.0.x\",semver:\"5.5.x\"}}],[\"@apollographql/apollo-tools@<=0.5.2\",{peerDependencies:{graphql:\"^14.2.1 || ^15.0.0\"}}],[\"material-table@^2.0.0\",{dependencies:{\"@babel/runtime\":\"^7.11.2\"}}],[\"@babel/parser@*\",{dependencies:{\"@babel/types\":\"^7.8.3\"}}],[\"fork-ts-checker-webpack-plugin@<=6.3.4\",{peerDependencies:{eslint:\">= 6\",typescript:\">= 2.7\",webpack:\">= 4\",\"vue-template-compiler\":\"*\"},peerDependenciesMeta:{eslint:Le,\"vue-template-compiler\":Le}}],[\"rc-animate@<=3.1.1\",{peerDependencies:{react:\">=16.9.0\",\"react-dom\":\">=16.9.0\"}}],[\"react-bootstrap-table2-paginator@*\",{dependencies:{classnames:\"^2.2.6\"}}],[\"react-draggable@<=4.4.3\",{peerDependencies:{react:\">= 16.3.0\",\"react-dom\":\">= 16.3.0\"}}],[\"apollo-upload-client@<14\",{peerDependencies:{graphql:\"14 - 15\"}}],[\"react-instantsearch-core@<=6.7.0\",{peerDependencies:{algoliasearch:\">= 3.1 < 5\"}}],[\"react-instantsearch-dom@<=6.7.0\",{dependencies:{\"react-fast-compare\":\"^3.0.0\"}}],[\"ws@<7.2.1\",{peerDependencies:{bufferutil:\"^4.0.1\",\"utf-8-validate\":\"^5.0.2\"},peerDependenciesMeta:{bufferutil:Le,\"utf-8-validate\":Le}}],[\"react-portal@<4.2.2\",{peerDependencies:{\"react-dom\":\"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0\"}}],[\"react-scripts@<=4.0.1\",{peerDependencies:{react:\"*\"}}],[\"testcafe@<=1.10.1\",{dependencies:{\"@babel/plugin-transform-for-of\":\"^7.12.1\",\"@babel/runtime\":\"^7.12.5\"}}],[\"testcafe-legacy-api@<=4.2.0\",{dependencies:{\"testcafe-hammerhead\":\"^17.0.1\",\"read-file-relative\":\"^1.2.0\"}}],[\"@google-cloud/firestore@<=4.9.3\",{dependencies:{protobufjs:\"^6.8.6\"}}],[\"gatsby-source-apiserver@*\",{dependencies:{[\"babel-polyfill\"]:\"^6.26.0\"}}],[\"@webpack-cli/package-utils@<=1.0.1-alpha.4\",{dependencies:{[\"cross-spawn\"]:\"^7.0.3\"}}],[\"gatsby-remark-prismjs@<3.3.28\",{dependencies:{lodash:\"^4\"}}],[\"gatsby-plugin-favicon@*\",{peerDependencies:{webpack:\"*\"}}],[\"gatsby-plugin-sharp@<=4.6.0-next.3\",{dependencies:{debug:\"^4.3.1\"}}],[\"gatsby-react-router-scroll@<=5.6.0-next.0\",{dependencies:{[\"prop-types\"]:\"^15.7.2\"}}],[\"@rebass/forms@*\",{dependencies:{[\"@styled-system/should-forward-prop\"]:\"^5.0.0\"},peerDependencies:{react:\"^16.8.6\"}}],[\"rebass@*\",{peerDependencies:{react:\"^16.8.6\"}}],[\"@ant-design/react-slick@<=0.28.3\",{peerDependencies:{react:\">=16.0.0\"}}],[\"mqtt@<4.2.7\",{dependencies:{duplexify:\"^4.1.1\"}}],[\"vue-cli-plugin-vuetify@<=2.0.3\",{dependencies:{semver:\"^6.3.0\"},peerDependenciesMeta:{\"sass-loader\":Le,\"vuetify-loader\":Le}}],[\"vue-cli-plugin-vuetify@<=2.0.4\",{dependencies:{\"null-loader\":\"^3.0.0\"}}],[\"vue-cli-plugin-vuetify@>=2.4.3\",{peerDependencies:{vue:\"*\"}}],[\"@vuetify/cli-plugin-utils@<=0.0.4\",{dependencies:{semver:\"^6.3.0\"},peerDependenciesMeta:{\"sass-loader\":Le}}],[\"@vue/cli-plugin-typescript@<=5.0.0-alpha.0\",{dependencies:{\"babel-loader\":\"^8.1.0\"}}],[\"@vue/cli-plugin-typescript@<=5.0.0-beta.0\",{dependencies:{\"@babel/core\":\"^7.12.16\"},peerDependencies:{\"vue-template-compiler\":\"^2.0.0\"},peerDependenciesMeta:{\"vue-template-compiler\":Le}}],[\"cordova-ios@<=6.3.0\",{dependencies:{underscore:\"^1.9.2\"}}],[\"cordova-lib@<=10.0.1\",{dependencies:{underscore:\"^1.9.2\"}}],[\"git-node-fs@*\",{peerDependencies:{\"js-git\":\"^0.7.8\"},peerDependenciesMeta:{\"js-git\":Le}}],[\"consolidate@<0.16.0\",{peerDependencies:{mustache:\"^3.0.0\"},peerDependenciesMeta:{mustache:Le}}],[\"consolidate@<=0.16.0\",{peerDependencies:{velocityjs:\"^2.0.1\",tinyliquid:\"^0.2.34\",\"liquid-node\":\"^3.0.1\",jade:\"^1.11.0\",\"then-jade\":\"*\",dust:\"^0.3.0\",\"dustjs-helpers\":\"^1.7.4\",\"dustjs-linkedin\":\"^2.7.5\",swig:\"^1.4.2\",\"swig-templates\":\"^2.0.3\",\"razor-tmpl\":\"^1.3.1\",atpl:\">=0.7.6\",liquor:\"^0.0.5\",twig:\"^1.15.2\",ejs:\"^3.1.5\",eco:\"^1.1.0-rc-3\",jazz:\"^0.0.18\",jqtpl:\"~1.1.0\",hamljs:\"^0.6.2\",hamlet:\"^0.3.3\",whiskers:\"^0.4.0\",\"haml-coffee\":\"^1.14.1\",\"hogan.js\":\"^3.0.2\",templayed:\">=0.2.3\",handlebars:\"^4.7.6\",underscore:\"^1.11.0\",lodash:\"^4.17.20\",pug:\"^3.0.0\",\"then-pug\":\"*\",qejs:\"^3.0.5\",walrus:\"^0.10.1\",mustache:\"^4.0.1\",just:\"^0.1.8\",ect:\"^0.5.9\",mote:\"^0.2.0\",toffee:\"^0.3.6\",dot:\"^1.1.3\",\"bracket-template\":\"^1.1.5\",ractive:\"^1.3.12\",nunjucks:\"^3.2.2\",htmling:\"^0.0.8\",\"babel-core\":\"^6.26.3\",plates:\"~0.4.11\",\"react-dom\":\"^16.13.1\",react:\"^16.13.1\",\"arc-templates\":\"^0.5.3\",vash:\"^0.13.0\",slm:\"^2.0.0\",marko:\"^3.14.4\",teacup:\"^2.0.0\",\"coffee-script\":\"^1.12.7\",squirrelly:\"^5.1.0\",twing:\"^5.0.2\"},peerDependenciesMeta:{velocityjs:Le,tinyliquid:Le,\"liquid-node\":Le,jade:Le,\"then-jade\":Le,dust:Le,\"dustjs-helpers\":Le,\"dustjs-linkedin\":Le,swig:Le,\"swig-templates\":Le,\"razor-tmpl\":Le,atpl:Le,liquor:Le,twig:Le,ejs:Le,eco:Le,jazz:Le,jqtpl:Le,hamljs:Le,hamlet:Le,whiskers:Le,\"haml-coffee\":Le,\"hogan.js\":Le,templayed:Le,handlebars:Le,underscore:Le,lodash:Le,pug:Le,\"then-pug\":Le,qejs:Le,walrus:Le,mustache:Le,just:Le,ect:Le,mote:Le,toffee:Le,dot:Le,\"bracket-template\":Le,ractive:Le,nunjucks:Le,htmling:Le,\"babel-core\":Le,plates:Le,\"react-dom\":Le,react:Le,\"arc-templates\":Le,vash:Le,slm:Le,marko:Le,teacup:Le,\"coffee-script\":Le,squirrelly:Le,twing:Le}}],[\"vue-loader@<=16.3.3\",{peerDependencies:{\"@vue/compiler-sfc\":\"^3.0.8\",webpack:\"^4.1.0 || ^5.0.0-0\"},peerDependenciesMeta:{\"@vue/compiler-sfc\":Le}}],[\"vue-loader@^16.7.0\",{peerDependencies:{\"@vue/compiler-sfc\":\"^3.0.8\",vue:\"^3.2.13\"},peerDependenciesMeta:{\"@vue/compiler-sfc\":Le,vue:Le}}],[\"scss-parser@<=1.0.5\",{dependencies:{lodash:\"^4.17.21\"}}],[\"query-ast@<1.0.5\",{dependencies:{lodash:\"^4.17.21\"}}],[\"redux-thunk@<=2.3.0\",{peerDependencies:{redux:\"^4.0.0\"}}],[\"skypack@<=0.3.2\",{dependencies:{tar:\"^6.1.0\"}}],[\"@npmcli/metavuln-calculator@<2.0.0\",{dependencies:{\"json-parse-even-better-errors\":\"^2.3.1\"}}],[\"bin-links@<2.3.0\",{dependencies:{\"mkdirp-infer-owner\":\"^1.0.2\"}}],[\"rollup-plugin-polyfill-node@<=0.8.0\",{peerDependencies:{rollup:\"^1.20.0 || ^2.0.0\"}}],[\"snowpack@<3.8.6\",{dependencies:{\"magic-string\":\"^0.25.7\"}}],[\"elm-webpack-loader@*\",{dependencies:{temp:\"^0.9.4\"}}],[\"winston-transport@<=4.4.0\",{dependencies:{logform:\"^2.2.0\"}}],[\"jest-vue-preprocessor@*\",{dependencies:{\"@babel/core\":\"7.8.7\",\"@babel/template\":\"7.8.6\"},peerDependencies:{pug:\"^2.0.4\"},peerDependenciesMeta:{pug:Le}}],[\"redux-persist@*\",{peerDependencies:{react:\">=16\"},peerDependenciesMeta:{react:Le}}],[\"sodium@>=3\",{dependencies:{\"node-gyp\":\"^3.8.0\"}}],[\"babel-plugin-graphql-tag@<=3.1.0\",{peerDependencies:{graphql:\"^14.0.0 || ^15.0.0\"}}],[\"@playwright/test@<=1.14.1\",{dependencies:{\"jest-matcher-utils\":\"^26.4.2\"}}],...[\"babel-plugin-remove-graphql-queries@<3.14.0-next.1\",\"babel-preset-gatsby-package@<1.14.0-next.1\",\"create-gatsby@<1.14.0-next.1\",\"gatsby-admin@<0.24.0-next.1\",\"gatsby-cli@<3.14.0-next.1\",\"gatsby-core-utils@<2.14.0-next.1\",\"gatsby-design-tokens@<3.14.0-next.1\",\"gatsby-legacy-polyfills@<1.14.0-next.1\",\"gatsby-plugin-benchmark-reporting@<1.14.0-next.1\",\"gatsby-plugin-graphql-config@<0.23.0-next.1\",\"gatsby-plugin-image@<1.14.0-next.1\",\"gatsby-plugin-mdx@<2.14.0-next.1\",\"gatsby-plugin-netlify-cms@<5.14.0-next.1\",\"gatsby-plugin-no-sourcemaps@<3.14.0-next.1\",\"gatsby-plugin-page-creator@<3.14.0-next.1\",\"gatsby-plugin-preact@<5.14.0-next.1\",\"gatsby-plugin-preload-fonts@<2.14.0-next.1\",\"gatsby-plugin-schema-snapshot@<2.14.0-next.1\",\"gatsby-plugin-styletron@<6.14.0-next.1\",\"gatsby-plugin-subfont@<3.14.0-next.1\",\"gatsby-plugin-utils@<1.14.0-next.1\",\"gatsby-recipes@<0.25.0-next.1\",\"gatsby-source-shopify@<5.6.0-next.1\",\"gatsby-source-wikipedia@<3.14.0-next.1\",\"gatsby-transformer-screenshot@<3.14.0-next.1\",\"gatsby-worker@<0.5.0-next.1\"].map(r=>[r,{dependencies:{\"@babel/runtime\":\"^7.14.8\"}}]),[\"gatsby-core-utils@<2.14.0-next.1\",{dependencies:{got:\"8.3.2\"}}],[\"gatsby-plugin-gatsby-cloud@<=3.1.0-next.0\",{dependencies:{\"gatsby-core-utils\":\"^2.13.0-next.0\"}}],[\"gatsby-plugin-gatsby-cloud@<=3.2.0-next.1\",{peerDependencies:{webpack:\"*\"}}],[\"babel-plugin-remove-graphql-queries@<=3.14.0-next.1\",{dependencies:{\"gatsby-core-utils\":\"^2.8.0-next.1\"}}],[\"gatsby-plugin-netlify@3.13.0-next.1\",{dependencies:{\"gatsby-core-utils\":\"^2.13.0-next.0\"}}],[\"clipanion-v3-codemod@<=0.2.0\",{peerDependencies:{jscodeshift:\"^0.11.0\"}}],[\"react-live@*\",{peerDependencies:{\"react-dom\":\"*\",react:\"*\"}}],[\"webpack@<4.44.1\",{peerDependenciesMeta:{\"webpack-cli\":Le,\"webpack-command\":Le}}],[\"webpack@<5.0.0-beta.23\",{peerDependenciesMeta:{\"webpack-cli\":Le}}],[\"webpack-dev-server@<3.10.2\",{peerDependenciesMeta:{\"webpack-cli\":Le}}],[\"@docusaurus/responsive-loader@<1.5.0\",{peerDependenciesMeta:{sharp:Le,jimp:Le}}],[\"eslint-module-utils@*\",{peerDependenciesMeta:{\"eslint-import-resolver-node\":Le,\"eslint-import-resolver-typescript\":Le,\"eslint-import-resolver-webpack\":Le,\"@typescript-eslint/parser\":Le}}],[\"eslint-plugin-import@*\",{peerDependenciesMeta:{\"@typescript-eslint/parser\":Le}}],[\"critters-webpack-plugin@<3.0.2\",{peerDependenciesMeta:{\"html-webpack-plugin\":Le}}],[\"terser@<=5.10.0\",{dependencies:{acorn:\"^8.5.0\"}}],[\"babel-preset-react-app@10.0.x\",{dependencies:{\"@babel/plugin-proposal-private-property-in-object\":\"^7.16.0\"}}],[\"eslint-config-react-app@*\",{peerDependenciesMeta:{typescript:Le}}],[\"@vue/eslint-config-typescript@<11.0.0\",{peerDependenciesMeta:{typescript:Le}}],[\"unplugin-vue2-script-setup@<0.9.1\",{peerDependencies:{\"@vue/composition-api\":\"^1.4.3\",\"@vue/runtime-dom\":\"^3.2.26\"}}],[\"@cypress/snapshot@*\",{dependencies:{debug:\"^3.2.7\"}}],[\"auto-relay@<=0.14.0\",{peerDependencies:{\"reflect-metadata\":\"^0.1.13\"}}],[\"vue-template-babel-compiler@<1.2.0\",{peerDependencies:{[\"vue-template-compiler\"]:\"^2.6.0\"}}],[\"@parcel/transformer-image@<2.5.0\",{peerDependencies:{[\"@parcel/core\"]:\"*\"}}],[\"@parcel/transformer-js@<2.5.0\",{peerDependencies:{[\"@parcel/core\"]:\"*\"}}],[\"parcel@*\",{peerDependenciesMeta:{[\"@parcel/core\"]:Le}}],[\"react-scripts@*\",{peerDependencies:{eslint:\"*\"}}],[\"focus-trap-react@^8.0.0\",{dependencies:{tabbable:\"^5.3.2\"}}],[\"react-rnd@<10.3.7\",{peerDependencies:{react:\">=16.3.0\",\"react-dom\":\">=16.3.0\"}}],[\"connect-mongo@*\",{peerDependencies:{\"express-session\":\"^1.17.1\"}}],[\"vue-i18n@<9\",{peerDependencies:{vue:\"^2\"}}],[\"vue-router@<4\",{peerDependencies:{vue:\"^2\"}}],[\"unified@<10\",{dependencies:{\"@types/unist\":\"^2.0.0\"}}],[\"react-github-btn@<=1.3.0\",{peerDependencies:{react:\">=16.3.0\"}}],[\"react-dev-utils@*\",{peerDependencies:{typescript:\">=2.7\",webpack:\">=4\"},peerDependenciesMeta:{typescript:Le}}],[\"@asyncapi/react-component@<=1.0.0-next.39\",{peerDependencies:{react:\">=16.8.0\",\"react-dom\":\">=16.8.0\"}}],[\"xo@*\",{peerDependencies:{webpack:\">=1.11.0\"},peerDependenciesMeta:{webpack:Le}}],[\"babel-plugin-remove-graphql-queries@<=4.20.0-next.0\",{dependencies:{\"@babel/types\":\"^7.15.4\"}}],[\"gatsby-plugin-page-creator@<=4.20.0-next.1\",{dependencies:{\"fs-extra\":\"^10.1.0\"}}],[\"gatsby-plugin-utils@<=3.14.0-next.1\",{dependencies:{fastq:\"^1.13.0\"},peerDependencies:{graphql:\"^15.0.0\"}}],[\"gatsby-plugin-mdx@<3.1.0-next.1\",{dependencies:{mkdirp:\"^1.0.4\"}}],[\"gatsby-plugin-mdx@^2\",{peerDependencies:{gatsby:\"^3.0.0-next\"}}],[\"fdir@<=5.2.0\",{peerDependencies:{picomatch:\"2.x\"},peerDependenciesMeta:{picomatch:Le}}],[\"babel-plugin-transform-typescript-metadata@<=0.3.2\",{peerDependencies:{\"@babel/core\":\"^7\",\"@babel/traverse\":\"^7\"},peerDependenciesMeta:{\"@babel/traverse\":Le}}],[\"graphql-compose@>=9.0.10\",{peerDependencies:{graphql:\"^14.2.0 || ^15.0.0 || ^16.0.0\"}}]];var jT;function nae(){return typeof jT>\"u\"&&(jT=J(\"zlib\").brotliDecompressSync(Buffer.from(\"G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==\",\"base64\")).toString()),jT}var qT;function sae(){return typeof qT>\"u\"&&(qT=J(\"zlib\").brotliDecompressSync(Buffer.from(\"G8MSIIzURnVBnObTcvb3XE6v2S9Qgc2K801Oa5otNKEtK8BINZNcaQHy+9/vf/WXBimwutXC33P2DPc64pps5rz7NGGWaOKNSPL4Y2KRE8twut2lFOIN+OXPtRmPMRhMTILib2bEQx43az2I5d3YS8Roa5UZpF/ujHb3Djd3GDvYUfvFYSUQ39vb2cmifp/rgB4J/65JK3wRBTvMBoNBmn3mbXC63/gbBkW/2IRPri0O8bcsRBsmarF328pAln04nyJFkwUAvNu934supAqLtyerZZpJ8I8suJHhf/ocMV+scKwa8NOiDKIPXw6Ex/EEZD6TEGaW8N5zvNHYF10l6Lfooj7D5W2k3dgvQSbp2Wv8TGOayS978gxlOLVjTGXs66ozewbrjwElLtyrYNnWTfzzdEutgROUFPVMhnMoy8EjJLLlWwIEoySxliim9kYW30JUHiPVyjt0iAw/ZpPmCbUCltYPnq6ZNblIKhTNhqS/oqC9iya5sGKZTOVsTEg34n92uZTf2iPpcZih8rPW8CzA+adIGmyCPcKdLMsBLShd+zuEbTrqpwuh+DLmracZcjPC5Sdf5odDAhKpFuOsQS67RT+1VgWWygSv3YwxDnylc04/PYuaMeIzhBkLrvs7e/OUzRTF56MmfY6rI63QtEjEQzq637zQqJ39nNhu3NmoRRhW/086bHGBUtx0PE0j3aEGvkdh9WJC8y8j8mqqke9/dQ5la+Q3ba4RlhvTbnfQhPDDab3tUifkjKuOsp13mXEmO00Mu88F/M67R7LXfoFDFLNtgCSWjWX+3Jn1371pJTK9xPBiMJafvDjtFyAzu8rxeQ0TKMQXNPs5xxiBOd+BRJP8KP88XPtJIbZKh/cdW8KvBUkpqKpGoiIaA32c3/JnQr4efXt85mXvidOvn/eU3Pase1typLYBalJ14mCso9h79nuMOuCa/kZAOkJHmTjP5RM2WNoPasZUAnT1TAE/NH25hUxcQv6hQWR/m1PKk4ooXMcM4SR1iYU3fUohvqk4RY2hbmTVVIXv6TvqO+0doOjgeVFAcom+RlwJQmOVH7pr1Q9LoJT6n1DeQEB+NHygsATbIwTcOKZlJsY8G4+suX1uQLjUWwLjjs0mvSvZcLTpIGAekeR7GCgl8eo3ndAqEe2XCav4huliHjdbIPBsGJuPX7lrO9HX1UbXRH5opOe1x6JsOSgHZR+EaxuXVhpLLxm6jk1LJtZfHSc6BKPun3CpYYVMJGwEUyk8MTGG0XL5MfEwaXpnc9TKnBmlGn6nHiGREc3ysn47XIBDzA+YvFdjZzVIEDcKGpS6PbUJehFRjEne8D0lVU1XuRtlgszq6pTNlQ/3MzNOEgCWPyTct22V2mEi2krizn5VDo9B19/X2DB3hCGRMM7ONbtnAcIx/OWB1u5uPbW1gsH8irXxT/IzG0PoXWYjhbMsH3KTuoOl5o17PulcgvsfTSnKFM354GWI8luqZnrswWjiXy3G+Vbyo1KMopFmmvBwNELgaS8z8dNZchx/Cl/xjddxhMcyqtzFyONb2Zdu90NkI8pAeufe7YlXrp53v8Dj/l8vWeVspRKBGXScBBPI/HinSTGmLDOGGOCIyH0JFdOZx0gWsacNlQLJMIrBhqRxXxHF/5pseWwejlAAvZ3klZSDSYY8mkToaWejXhgNomeGtx1DTLEUFMRkgF5yFB22WYdJnaWN14r1YJj81hGi45+jrADS5nYRhCiSlCJJ1nL8pYX+HDSMhdTEWyRcgHVp/IsUIZYMfT+YYncUQPgcxNGCHfZ88vDdrcUuaGIl6zhAsiaq7R5dfqrqXH/JcBhfjT8D0azayIyEz75Nxp6YkcyDxlJq3EXnJUpqDohJJOysL1t1uNiHESlvsxPb5cpbW0+ICZqJmUZus1BMW0F5IVBODLIo2zHHjA0=\",\"base64\")).toString()),qT}var JT;function oae(){return typeof JT>\"u\"&&(JT=J(\"zlib\").brotliDecompressSync(Buffer.from(\"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\",\"base64\")).toString()),JT}var aae=new Map([[P.makeIdent(null,\"fsevents\").identHash,nae],[P.makeIdent(null,\"resolve\").identHash,sae],[P.makeIdent(null,\"typescript\").identHash,oae]]),r3e={hooks:{registerPackageExtensions:async(r,e)=>{for(let[t,i]of YT)e(P.parseDescriptor(t,!0),i)},getBuiltinPatch:async(r,e)=>{var s;let t=\"compat/\";if(!e.startsWith(t))return;let i=P.parseIdent(e.slice(t.length)),n=(s=aae.get(i.identHash))==null?void 0:s();return typeof n<\"u\"?n:null},reduceDependency:async(r,e,t,i)=>typeof aae.get(r.identHash)>\"u\"?r:P.makeDescriptor(r,P.makeRange({protocol:\"patch:\",source:P.stringifyDescriptor(r),selector:`~builtin<compat/${P.stringifyIdent(r)}>`,params:null}))}},i3e=r3e;var zT={};ut(zT,{default:()=>s3e});var Yh=class extends De{constructor(){super(...arguments);this.pkg=z.String(\"-p,--package\",{description:\"The package to run the provided command from\"});this.quiet=z.Boolean(\"-q,--quiet\",!1,{description:\"Only report critical errors instead of printing the full install logs\"});this.command=z.String();this.args=z.Proxy()}async execute(){let t=[];this.pkg&&t.push(\"--package\",this.pkg),this.quiet&&t.push(\"--quiet\");let i=P.parseDescriptor(this.command),n;i.scope?n=P.makeIdent(i.scope,`create-${i.name}`):i.name.startsWith(\"@\")?n=P.makeIdent(i.name.substring(1),\"create\"):n=P.makeIdent(null,`create-${i.name}`);let s=P.stringifyIdent(n);return i.range!==\"unknown\"&&(s+=`@${i.range}`),this.cli.run([\"dlx\",...t,s,...this.args])}};Yh.paths=[[\"create\"]];var xu=class extends De{constructor(){super(...arguments);this.packages=z.Array(\"-p,--package\",{description:\"The package(s) to install before running the command\"});this.quiet=z.Boolean(\"-q,--quiet\",!1,{description:\"Only report critical errors instead of printing the full install logs\"});this.command=z.String();this.args=z.Proxy()}async execute(){return ye.telemetry=null,await M.mktempPromise(async t=>{var C;let i=x.join(t,`dlx-${process.pid}`);await M.mkdirPromise(i),await M.writeFilePromise(x.join(i,\"package.json\"),`{}\n`),await M.writeFilePromise(x.join(i,\"yarn.lock\"),\"\");let n=x.join(i,\".yarnrc.yml\"),s=await ye.findProjectCwd(this.context.cwd,xt.lockfile),o=!(await ye.find(this.context.cwd,null,{strict:!1})).get(\"enableGlobalCache\"),a=s!==null?x.join(s,\".yarnrc.yml\"):null;a!==null&&M.existsSync(a)?(await M.copyFilePromise(a,n),await ye.updateConfiguration(i,y=>{let B={...y,enableGlobalCache:o,enableTelemetry:!1};return Array.isArray(y.plugins)&&(B.plugins=y.plugins.map(v=>{let D=typeof v==\"string\"?v:v.path,L=K.isAbsolute(D)?D:K.resolve(K.fromPortablePath(s),D);return typeof v==\"string\"?L:{path:L,spec:v.spec}})),B})):await M.writeFilePromise(n,`enableGlobalCache: ${o}\nenableTelemetry: false\n`);let l=(C=this.packages)!=null?C:[this.command],c=P.parseDescriptor(this.command).name,u=await this.cli.run([\"add\",\"--\",...l],{cwd:i,quiet:this.quiet});if(u!==0)return u;this.quiet||this.context.stdout.write(`\n`);let g=await ye.find(i,this.context.plugins),{project:f,workspace:h}=await je.find(g,i);if(h===null)throw new ct(f.cwd,i);await f.restoreInstallState();let p=await Jt.getWorkspaceAccessibleBinaries(h);return p.has(c)===!1&&p.size===1&&typeof this.packages>\"u\"&&(c=Array.from(p)[0][0]),await Jt.executeWorkspaceAccessibleBinary(h,c,this.args,{packageAccessibleBinaries:p,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};xu.paths=[[\"dlx\"]],xu.usage=ve.Usage({description:\"run a package in a temporary environment\",details:\"\\n      This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\\n\\n      By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\\n\\n      Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\\n    \",examples:[[\"Use create-react-app to create a new React app\",\"yarn dlx create-react-app ./my-app\"],[\"Install multiple packages for a single command\",`yarn dlx -p typescript -p ts-node ts-node --transpile-only -e \"console.log('hello!')\"`]]});var n3e={commands:[Yh,xu]},s3e=n3e;var ZT={};ut(ZT,{default:()=>A3e,fileUtils:()=>Hm});var jh=/^(?:[a-zA-Z]:[\\\\/]|\\.{0,2}\\/)/,Um=/^[^?]*\\.(?:tar\\.gz|tgz)(?:::.*)?$/,qr=\"file:\";var Hm={};ut(Hm,{makeArchiveFromLocator:()=>mQ,makeBufferFromLocator:()=>_T,makeLocator:()=>XT,makeSpec:()=>Aae,parseSpec:()=>VT});function VT(r){let{params:e,selector:t}=P.parseRange(r),i=K.toPortablePath(t);return{parentLocator:e&&typeof e.locator==\"string\"?P.parseLocator(e.locator):null,path:i}}function Aae({parentLocator:r,path:e,folderHash:t,protocol:i}){let n=r!==null?{locator:P.stringifyLocator(r)}:{},s=typeof t<\"u\"?{hash:t}:{};return P.makeRange({protocol:i,source:e,selector:e,params:{...s,...n}})}function XT(r,{parentLocator:e,path:t,folderHash:i,protocol:n}){return P.makeLocator(r,Aae({parentLocator:e,path:t,folderHash:i,protocol:n}))}async function mQ(r,{protocol:e,fetchOptions:t,inMemory:i=!1}){let{parentLocator:n,path:s}=P.parseFileStyleRange(r.reference,{protocol:e}),o=x.isAbsolute(s)?{packageFs:new jt(Oe.root),prefixPath:Oe.dot,localPath:Oe.root}:await t.fetcher.fetch(n,t),a=o.localPath?{packageFs:new jt(Oe.root),prefixPath:x.relative(Oe.root,o.localPath)}:o;o!==a&&o.releaseFs&&o.releaseFs();let l=a.packageFs,c=x.join(a.prefixPath,s);return await Ie.releaseAfterUseAsync(async()=>await Ci.makeArchiveFromDirectory(c,{baseFs:l,prefixPath:P.getIdentVendorPath(r),compressionLevel:t.project.configuration.get(\"compressionLevel\"),inMemory:i}),a.releaseFs)}async function _T(r,{protocol:e,fetchOptions:t}){return(await mQ(r,{protocol:e,fetchOptions:t,inMemory:!0})).getBufferAndClose()}var EQ=class{supports(e,t){return!!e.reference.startsWith(qr)}getLocalPath(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:qr});if(x.isAbsolute(n))return n;let s=t.fetcher.getLocalPath(i,t);return s===null?null:x.resolve(s,n)}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),localPath:this.getLocalPath(e,t),checksum:o}}async fetchFromDisk(e,t){return mQ(e,{protocol:qr,fetchOptions:t})}};var o3e=2,IQ=class{supportsDescriptor(e,t){return e.range.match(jh)?!0:!!e.range.startsWith(qr)}supportsLocator(e,t){return!!e.reference.startsWith(qr)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return jh.test(e.range)&&(e=P.makeDescriptor(e,`${qr}${e.range}`)),P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){if(!i.fetchOptions)throw new Error(\"Assertion failed: This resolver cannot be used unless a fetcher is configured\");let{path:n,parentLocator:s}=VT(e.range);if(s===null)throw new Error(\"Assertion failed: The descriptor should have been bound\");let o=await _T(P.makeLocator(e,P.makeRange({protocol:qr,source:n,selector:n,params:{locator:P.stringifyLocator(s)}})),{protocol:qr,fetchOptions:i.fetchOptions}),a=li.makeHash(`${o3e}`,o).slice(0,6);return[XT(e,{parentLocator:s,path:n,folderHash:a,protocol:qr})]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error(\"Assertion failed: This resolver cannot be used unless a fetcher is configured\");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||\"0.0.0\",languageName:n.languageName||t.project.configuration.get(\"defaultLanguageName\"),linkType:\"HARD\",conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var yQ=class{supports(e,t){return Um.test(e.reference)?!!e.reference.startsWith(qr):!1}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromDisk(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:qr}),s=x.isAbsolute(n)?{packageFs:new jt(Oe.root),prefixPath:Oe.dot,localPath:Oe.root}:await t.fetcher.fetch(i,t),o=s.localPath?{packageFs:new jt(Oe.root),prefixPath:x.relative(Oe.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.join(o.prefixPath,n),c=await a.readFilePromise(l);return await Ie.releaseAfterUseAsync(async()=>await Ci.convertToZip(c,{compressionLevel:t.project.configuration.get(\"compressionLevel\"),prefixPath:P.getIdentVendorPath(e),stripComponents:1}),o.releaseFs)}};var wQ=class{supportsDescriptor(e,t){return Um.test(e.range)?!!(e.range.startsWith(qr)||jh.test(e.range)):!1}supportsLocator(e,t){return Um.test(e.reference)?!!e.reference.startsWith(qr):!1}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return jh.test(e.range)&&(e=P.makeDescriptor(e,`${qr}${e.range}`)),P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range;return n.startsWith(qr)&&(n=n.slice(qr.length)),[P.makeLocator(e,`${qr}${K.toPortablePath(n)}`)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error(\"Assertion failed: This resolver cannot be used unless a fetcher is configured\");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||\"0.0.0\",languageName:n.languageName||t.project.configuration.get(\"defaultLanguageName\"),linkType:\"HARD\",conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var a3e={fetchers:[yQ,EQ],resolvers:[wQ,IQ]},A3e=a3e;var $T={};ut($T,{default:()=>g3e});var lae=Pe(J(\"querystring\")),cae=[/^https?:\\/\\/(?:([^/]+?)@)?github.com\\/([^/#]+)\\/([^/#]+)\\/tarball\\/([^/#]+)(?:#(.*))?$/,/^https?:\\/\\/(?:([^/]+?)@)?github.com\\/([^/#]+)\\/([^/#]+?)(?:\\.git)?(?:#(.*))?$/];function uae(r){return r?cae.some(e=>!!r.match(e)):!1}function gae(r){let e;for(let a of cae)if(e=r.match(a),e)break;if(!e)throw new Error(l3e(r));let[,t,i,n,s=\"master\"]=e,{commit:o}=lae.default.parse(s);return s=o||s.replace(/[^:]*:/,\"\"),{auth:t,username:i,reponame:n,treeish:s}}function l3e(r){return`Input cannot be parsed as a valid GitHub URL ('${r}').`}var BQ=class{supports(e,t){return!!uae(e.reference)}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let i=await Vt.get(this.getLocatorUrl(e,t),{configuration:t.project.configuration});return await M.mktempPromise(async n=>{let s=new jt(n);await Ci.extractArchiveTo(i,s,{stripComponents:1});let o=$a.splitRepoUrl(e.reference),a=x.join(n,\"package.tgz\");await Jt.prepareExternalProject(n,a,{configuration:t.project.configuration,report:t.report,workspace:o.extra.workspace,locator:e});let l=await M.readFilePromise(a);return await Ci.convertToZip(l,{compressionLevel:t.project.configuration.get(\"compressionLevel\"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,t){let{auth:i,username:n,reponame:s,treeish:o}=gae(e.reference);return`https://${i?`${i}@`:\"\"}github.com/${n}/${s}/archive/${o}.tar.gz`}};var u3e={hooks:{async fetchHostedRepository(r,e,t){if(r!==null)return r;let i=new BQ;if(!i.supports(e,t))return null;try{return await i.fetch(e,t)}catch{return null}}}},g3e=u3e;var eO={};ut(eO,{default:()=>h3e});var Gm=/^[^?]*\\.(?:tar\\.gz|tgz)(?:\\?.*)?$/,Ym=/^https?:/;var QQ=class{supports(e,t){return Gm.test(e.reference)?!!Ym.test(e.reference):!1}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let i=await Vt.get(e.reference,{configuration:t.project.configuration});return await Ci.convertToZip(i,{compressionLevel:t.project.configuration.get(\"compressionLevel\"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}};var bQ=class{supportsDescriptor(e,t){return Gm.test(e.range)?!!Ym.test(e.range):!1}supportsLocator(e,t){return Gm.test(e.reference)?!!Ym.test(e.reference):!1}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){return[P.convertDescriptorToLocator(e)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error(\"Assertion failed: This resolver cannot be used unless a fetcher is configured\");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||\"0.0.0\",languageName:n.languageName||t.project.configuration.get(\"defaultLanguageName\"),linkType:\"HARD\",conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var f3e={fetchers:[QQ],resolvers:[bQ]},h3e=f3e;var nO={};ut(nO,{default:()=>p4e});var Kae=Pe(Mae()),iO=J(\"util\"),Pu=class extends De{constructor(){super(...arguments);this.private=z.Boolean(\"-p,--private\",!1,{description:\"Initialize a private package\"});this.workspace=z.Boolean(\"-w,--workspace\",!1,{description:\"Initialize a workspace root with a `packages/` directory\"});this.install=z.String(\"-i,--install\",!1,{tolerateBoolean:!0,description:\"Initialize a package with a specific bundle that will be locked in the project\"});this.usev2=z.Boolean(\"-2\",!1,{hidden:!0});this.yes=z.Boolean(\"-y,--yes\",{hidden:!0});this.assumeFreshProject=z.Boolean(\"--assume-fresh-project\",!1,{hidden:!0})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=typeof this.install==\"string\"?this.install:this.usev2||this.install===!0?\"latest\":null;return i!==null?await this.executeProxy(t,i):await this.executeRegular(t)}async executeProxy(t,i){if(t.projectCwd!==null&&t.projectCwd!==this.context.cwd)throw new be(\"Cannot use the --install flag from within a project subdirectory\");M.existsSync(this.context.cwd)||await M.mkdirPromise(this.context.cwd,{recursive:!0});let n=x.join(this.context.cwd,t.get(\"lockfileFilename\"));M.existsSync(n)||await M.writeFilePromise(n,\"\");let s=await this.cli.run([\"set\",\"version\",i],{quiet:!0});if(s!==0)return s;let o=[];return this.private&&o.push(\"-p\"),this.workspace&&o.push(\"-w\"),this.yes&&o.push(\"-y\"),await M.mktempPromise(async a=>{let{code:l}=await Cr.pipevp(\"yarn\",[\"init\",...o],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await Jt.makeScriptEnv({binFolder:a})});return l})}async executeRegular(t){var c;let i=null;try{i=(await je.find(t,this.context.cwd)).project}catch{i=null}M.existsSync(this.context.cwd)||await M.mkdirPromise(this.context.cwd,{recursive:!0});let n=await ot.tryFind(this.context.cwd)||new ot,s=Object.fromEntries(t.get(\"initFields\").entries());n.load(s),n.name=(c=n.name)!=null?c:P.makeIdent(t.get(\"initScope\"),x.basename(this.context.cwd)),n.packageManager=Lr&&Ie.isTaggedYarnVersion(Lr)?`yarn@${Lr}`:null,typeof n.raw.private>\"u\"&&(this.private||this.workspace&&n.workspaceDefinitions.length===0)&&(n.private=!0),this.workspace&&n.workspaceDefinitions.length===0&&(await M.mkdirPromise(x.join(this.context.cwd,\"packages\"),{recursive:!0}),n.workspaceDefinitions=[{pattern:\"packages/*\"}]);let o={};n.exportTo(o),iO.inspect.styles.name=\"cyan\",this.context.stdout.write(`${(0,iO.inspect)(o,{depth:1/0,colors:!0,compact:!1})}\n`);let a=x.join(this.context.cwd,ot.fileName);await M.changeFilePromise(a,`${JSON.stringify(o,null,2)}\n`,{automaticNewlines:!0});let l=x.join(this.context.cwd,\"README.md\");if(M.existsSync(l)||await M.writeFilePromise(l,`# ${P.stringifyIdent(n.name)}\n`),!i||i.cwd===this.context.cwd){let u=x.join(this.context.cwd,xt.lockfile);M.existsSync(u)||await M.writeFilePromise(u,\"\");let f=[\".yarn/*\",\"!.yarn/patches\",\"!.yarn/plugins\",\"!.yarn/releases\",\"!.yarn/sdks\",\"!.yarn/versions\",\"\",\"# Swap the comments on the following lines if you don't wish to use zero-installs\",\"# Documentation here: https://yarnpkg.com/features/zero-installs\",\"!.yarn/cache\",\"#.pnp.*\"].map(L=>`${L}\n`).join(\"\"),h=x.join(this.context.cwd,\".gitignore\");M.existsSync(h)||await M.writeFilePromise(h,f);let C=[\"/.yarn/**            linguist-vendored\",\"/.yarn/releases/*    binary\",\"/.yarn/plugins/**/*  binary\",\"/.pnp.*              binary linguist-generated\"].map(L=>`${L}\n`).join(\"\"),y=x.join(this.context.cwd,\".gitattributes\");M.existsSync(y)||await M.writeFilePromise(y,C);let B={[\"*\"]:{endOfLine:\"lf\",insertFinalNewline:!0},[\"*.{js,json,yml}\"]:{charset:\"utf-8\",indentStyle:\"space\",indentSize:2}};(0,Kae.default)(B,t.get(\"initEditorConfig\"));let v=`root = true\n`;for(let[L,H]of Object.entries(B)){v+=`\n[${L}]\n`;for(let[j,$]of Object.entries(H))v+=`${j.replace(/[A-Z]/g,W=>`_${W.toLowerCase()}`)} = ${$}\n`}let D=x.join(this.context.cwd,\".editorconfig\");M.existsSync(D)||await M.writeFilePromise(D,v),M.existsSync(x.join(this.context.cwd,\".git\"))||await Cr.execvp(\"git\",[\"init\"],{cwd:this.context.cwd})}}};Pu.paths=[[\"init\"]],Pu.usage=ve.Usage({description:\"create a new package\",details:\"\\n      This command will setup a new package in your local directory.\\n\\n      If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\\n\\n      If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\\n\\n      If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\\n\\n      The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\\n    \",examples:[[\"Create a new package in the local directory\",\"yarn init\"],[\"Create a new private package in the local directory\",\"yarn init -p\"],[\"Create a new package and store the Yarn release inside\",\"yarn init -i=latest\"],[\"Create a new private package and defines it as a workspace root\",\"yarn init -w\"]]});var h4e={configuration:{initScope:{description:\"Scope used when creating packages via the init command\",type:\"STRING\",default:null},initFields:{description:\"Additional fields to set when creating packages via the init command\",type:\"MAP\",valueDefinition:{description:\"\",type:\"ANY\"}},initEditorConfig:{description:\"Extra rules to define in the generator editorconfig\",type:\"MAP\",valueDefinition:{description:\"\",type:\"ANY\"}}},commands:[Pu]},p4e=h4e;var sO={};ut(sO,{default:()=>C4e});var eA=\"portal:\",tA=\"link:\";var SQ=class{supports(e,t){return!!e.reference.startsWith(eA)}getLocalPath(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:eA});if(x.isAbsolute(n))return n;let s=t.fetcher.getLocalPath(i,t);return s===null?null:x.resolve(s,n)}async fetch(e,t){var c;let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:eA}),s=x.isAbsolute(n)?{packageFs:new jt(Oe.root),prefixPath:Oe.dot,localPath:Oe.root}:await t.fetcher.fetch(i,t),o=s.localPath?{packageFs:new jt(Oe.root),prefixPath:x.relative(Oe.root,s.localPath),localPath:Oe.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new jt(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Oe.dot,localPath:l}:{packageFs:new wo(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Oe.dot}}};var vQ=class{supportsDescriptor(e,t){return!!e.range.startsWith(eA)}supportsLocator(e,t){return!!e.reference.startsWith(eA)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range.slice(eA.length);return[P.makeLocator(e,`${eA}${K.toPortablePath(n)}`)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error(\"Assertion failed: This resolver cannot be used unless a fetcher is configured\");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||\"0.0.0\",languageName:n.languageName||t.project.configuration.get(\"defaultLanguageName\"),linkType:\"SOFT\",conditions:n.getConditions(),dependencies:new Map([...n.dependencies]),peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var xQ=class{supports(e,t){return!!e.reference.startsWith(tA)}getLocalPath(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:tA});if(x.isAbsolute(n))return n;let s=t.fetcher.getLocalPath(i,t);return s===null?null:x.resolve(s,n)}async fetch(e,t){var c;let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:tA}),s=x.isAbsolute(n)?{packageFs:new jt(Oe.root),prefixPath:Oe.dot,localPath:Oe.root}:await t.fetcher.fetch(i,t),o=s.localPath?{packageFs:new jt(Oe.root),prefixPath:x.relative(Oe.root,s.localPath),localPath:Oe.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new jt(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Oe.dot,discardFromLookup:!0,localPath:l}:{packageFs:new wo(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Oe.dot,discardFromLookup:!0}}};var PQ=class{supportsDescriptor(e,t){return!!e.range.startsWith(tA)}supportsLocator(e,t){return!!e.reference.startsWith(tA)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range.slice(tA.length);return[P.makeLocator(e,`${tA}${K.toPortablePath(n)}`)]}async getSatisfying(e,t,i){return null}async resolve(e,t){return{...e,version:\"0.0.0\",languageName:t.project.configuration.get(\"defaultLanguageName\"),linkType:\"SOFT\",conditions:null,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map}}};var d4e={fetchers:[xQ,SQ],resolvers:[PQ,vQ]},C4e=d4e;var MO={};ut(MO,{default:()=>N8e});var aO=(r,e)=>`${r}@${e}`,Uae=(r,e)=>{let t=e.indexOf(\"#\"),i=t>=0?e.substring(t+1):e;return aO(r,i)};var Yae=(r,e={})=>{let t=e.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),i=e.check||t>=9,n=e.hoistingLimits||new Map,s={check:i,debugLevel:t,hoistingLimits:n,fastLookupPossible:!0},o;s.debugLevel>=0&&(o=Date.now());let a=Q4e(r,s),l=!1,c=0;do l=AO(a,[a],new Set([a.locator]),new Map,s).anotherRoundNeeded,s.fastLookupPossible=!1,c++;while(l);if(s.debugLevel>=0&&console.log(`hoist time: ${Date.now()-o}ms, rounds: ${c}`),s.debugLevel>=1){let u=jm(a);if(AO(a,[a],new Set([a.locator]),new Map,s).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree:\n${u}, next tree:\n${jm(a)}`);let f=jae(a);if(f)throw new Error(`${f}, after hoisting finished:\n${jm(a)}`)}return s.debugLevel>=2&&console.log(jm(a)),b4e(a)},m4e=r=>{let e=r[r.length-1],t=new Map,i=new Set,n=s=>{if(!i.has(s)){i.add(s);for(let o of s.hoistedDependencies.values())t.set(o.name,o);for(let o of s.dependencies.values())s.peerNames.has(o.name)||n(o)}};return n(e),t},E4e=r=>{let e=r[r.length-1],t=new Map,i=new Set,n=new Set,s=(o,a)=>{if(i.has(o))return;i.add(o);for(let c of o.hoistedDependencies.values())if(!a.has(c.name)){let u;for(let g of r)u=g.dependencies.get(c.name),u&&t.set(u.name,u)}let l=new Set;for(let c of o.dependencies.values())l.add(c.name);for(let c of o.dependencies.values())o.peerNames.has(c.name)||s(c,l)};return s(e,n),t},Hae=(r,e)=>{if(e.decoupled)return e;let{name:t,references:i,ident:n,locator:s,dependencies:o,originalDependencies:a,hoistedDependencies:l,peerNames:c,reasons:u,isHoistBorder:g,hoistPriority:f,dependencyKind:h,hoistedFrom:p,hoistedTo:C}=e,y={name:t,references:new Set(i),ident:n,locator:s,dependencies:new Map(o),originalDependencies:new Map(a),hoistedDependencies:new Map(l),peerNames:new Set(c),reasons:new Map(u),decoupled:!0,isHoistBorder:g,hoistPriority:f,dependencyKind:h,hoistedFrom:new Map(p),hoistedTo:new Map(C)},B=y.dependencies.get(t);return B&&B.ident==y.ident&&y.dependencies.set(t,y),r.dependencies.set(y.name,y),y},I4e=(r,e)=>{let t=new Map([[r.name,[r.ident]]]);for(let n of r.dependencies.values())r.peerNames.has(n.name)||t.set(n.name,[n.ident]);let i=Array.from(e.keys());i.sort((n,s)=>{let o=e.get(n),a=e.get(s);return a.hoistPriority!==o.hoistPriority?a.hoistPriority-o.hoistPriority:a.peerDependents.size!==o.peerDependents.size?a.peerDependents.size-o.peerDependents.size:a.dependents.size-o.dependents.size});for(let n of i){let s=n.substring(0,n.indexOf(\"@\",1)),o=n.substring(s.length+1);if(!r.peerNames.has(s)){let a=t.get(s);a||(a=[],t.set(s,a)),a.indexOf(o)<0&&a.push(o)}}return t},oO=r=>{let e=new Set,t=(i,n=new Set)=>{if(!n.has(i)){n.add(i);for(let s of i.peerNames)if(!r.peerNames.has(s)){let o=r.dependencies.get(s);o&&!e.has(o)&&t(o,n)}e.add(i)}};for(let i of r.dependencies.values())r.peerNames.has(i.name)||t(i);return e},AO=(r,e,t,i,n,s=new Set)=>{let o=e[e.length-1];if(s.has(o))return{anotherRoundNeeded:!1,isGraphChanged:!1};s.add(o);let a=S4e(o),l=I4e(o,a),c=r==o?new Map:n.fastLookupPossible?m4e(e):E4e(e),u,g=!1,f=!1,h=new Map(Array.from(l.entries()).map(([C,y])=>[C,y[0]])),p=new Map;do{let C=B4e(r,e,t,c,h,l,i,p,n);C.isGraphChanged&&(f=!0),C.anotherRoundNeeded&&(g=!0),u=!1;for(let[y,B]of l)B.length>1&&!o.dependencies.has(y)&&(h.delete(y),B.shift(),h.set(y,B[0]),u=!0)}while(u);for(let C of o.dependencies.values())if(!o.peerNames.has(C.name)&&!t.has(C.locator)){t.add(C.locator);let y=AO(r,[...e,C],t,p,n);y.isGraphChanged&&(f=!0),y.anotherRoundNeeded&&(g=!0),t.delete(C.locator)}return{anotherRoundNeeded:g,isGraphChanged:f}},y4e=r=>{for(let[e,t]of r.dependencies)if(!r.peerNames.has(e)&&t.ident!==r.ident)return!0;return!1},w4e=(r,e,t,i,n,s,o,a,{outputReason:l,fastLookupPossible:c})=>{let u,g=null,f=new Set;l&&(u=`${Array.from(e).map(y=>Di(y)).join(\"\\u2192\")}`);let h=t[t.length-1],C=!(i.ident===h.ident);if(l&&!C&&(g=\"- self-reference\"),C&&(C=i.dependencyKind!==1,l&&!C&&(g=\"- workspace\")),C&&i.dependencyKind===2&&(C=!y4e(i),l&&!C&&(g=\"- external soft link with unhoisted dependencies\")),C&&(C=h.dependencyKind!==1||h.hoistedFrom.has(i.name)||e.size===1,l&&!C&&(g=h.reasons.get(i.name))),C&&(C=!r.peerNames.has(i.name),l&&!C&&(g=`- cannot shadow peer: ${Di(r.originalDependencies.get(i.name).locator)} at ${u}`)),C){let y=!1,B=n.get(i.name);if(y=!B||B.ident===i.ident,l&&!y&&(g=`- filled by: ${Di(B.locator)} at ${u}`),y)for(let v=t.length-1;v>=1;v--){let L=t[v].dependencies.get(i.name);if(L&&L.ident!==i.ident){y=!1;let H=a.get(h);H||(H=new Set,a.set(h,H)),H.add(i.name),l&&(g=`- filled by ${Di(L.locator)} at ${t.slice(0,v).map(j=>Di(j.locator)).join(\"\\u2192\")}`);break}}C=y}if(C&&(C=s.get(i.name)===i.ident,l&&!C&&(g=`- filled by: ${Di(o.get(i.name)[0])} at ${u}`)),C){let y=!0,B=new Set(i.peerNames);for(let v=t.length-1;v>=1;v--){let D=t[v];for(let L of B){if(D.peerNames.has(L)&&D.originalDependencies.has(L))continue;let H=D.dependencies.get(L);H&&r.dependencies.get(L)!==H&&(v===t.length-1?f.add(H):(f=null,y=!1,l&&(g=`- peer dependency ${Di(H.locator)} from parent ${Di(D.locator)} was not hoisted to ${u}`))),B.delete(L)}if(!y)break}C=y}if(C&&!c)for(let y of i.hoistedDependencies.values()){let B=n.get(y.name)||r.dependencies.get(y.name);if(!B||y.ident!==B.ident){C=!1,l&&(g=`- previously hoisted dependency mismatch, needed: ${Di(y.locator)}, available: ${Di(B==null?void 0:B.locator)}`);break}}return f!==null&&f.size>0?{isHoistable:2,dependsOn:f,reason:g}:{isHoistable:C?0:1,reason:g}},DQ=r=>`${r.name}@${r.locator}`,B4e=(r,e,t,i,n,s,o,a,l)=>{let c=e[e.length-1],u=new Set,g=!1,f=!1,h=(B,v,D,L,H)=>{if(u.has(L))return;let j=[...v,DQ(L)],$=[...D,DQ(L)],V=new Map,W=new Map;for(let re of oO(L)){let O=w4e(c,t,[c,...B,L],re,i,n,s,a,{outputReason:l.debugLevel>=2,fastLookupPossible:l.fastLookupPossible});if(W.set(re,O),O.isHoistable===2)for(let F of O.dependsOn){let ue=V.get(F.name)||new Set;ue.add(re.name),V.set(F.name,ue)}}let Z=new Set,A=(re,O,F)=>{if(!Z.has(re)){Z.add(re),W.set(re,{isHoistable:1,reason:F});for(let ue of V.get(re.name)||[])A(L.dependencies.get(ue),O,l.debugLevel>=2?`- peer dependency ${Di(re.locator)} from parent ${Di(L.locator)} was not hoisted`:\"\")}};for(let[re,O]of W)O.isHoistable===1&&A(re,O,O.reason);let ae=!1;for(let re of W.keys())if(!Z.has(re)){f=!0;let O=o.get(L);O&&O.has(re.name)&&(g=!0),ae=!0,L.dependencies.delete(re.name),L.hoistedDependencies.set(re.name,re),L.reasons.delete(re.name);let F=c.dependencies.get(re.name);if(l.debugLevel>=2){let ue=Array.from(v).concat([L.locator]).map(ke=>Di(ke)).join(\"\\u2192\"),he=c.hoistedFrom.get(re.name);he||(he=[],c.hoistedFrom.set(re.name,he)),he.push(ue),L.hoistedTo.set(re.name,Array.from(e).map(ke=>Di(ke.locator)).join(\"\\u2192\"))}if(!F)c.ident!==re.ident&&(c.dependencies.set(re.name,re),H.add(re));else for(let ue of re.references)F.references.add(ue)}if(L.dependencyKind===2&&ae&&(g=!0),l.check){let re=jae(r);if(re)throw new Error(`${re}, after hoisting dependencies of ${[c,...B,L].map(O=>Di(O.locator)).join(\"\\u2192\")}:\n${jm(r)}`)}let ge=oO(L);for(let re of ge)if(Z.has(re)){let O=W.get(re);if((n.get(re.name)===re.ident||!L.reasons.has(re.name))&&O.isHoistable!==0&&L.reasons.set(re.name,O.reason),!re.isHoistBorder&&$.indexOf(DQ(re))<0){u.add(L);let ue=Hae(L,re);h([...B,L],j,$,ue,C),u.delete(L)}}},p,C=new Set(oO(c)),y=Array.from(e).map(B=>DQ(B));do{p=C,C=new Set;for(let B of p){if(B.locator===c.locator||B.isHoistBorder)continue;let v=Hae(c,B);h([],Array.from(t),y,v,C)}}while(C.size>0);return{anotherRoundNeeded:g,isGraphChanged:f}},jae=r=>{let e=[],t=new Set,i=new Set,n=(s,o,a)=>{if(t.has(s)||(t.add(s),i.has(s)))return;let l=new Map(o);for(let c of s.dependencies.values())s.peerNames.has(c.name)||l.set(c.name,c);for(let c of s.originalDependencies.values()){let u=l.get(c.name),g=()=>`${Array.from(i).concat([s]).map(f=>Di(f.locator)).join(\"\\u2192\")}`;if(s.peerNames.has(c.name)){let f=o.get(c.name);(f!==u||!f||f.ident!==c.ident)&&e.push(`${g()} - broken peer promise: expected ${c.ident} but found ${f&&f.ident}`)}else{let f=a.hoistedFrom.get(s.name),h=s.hoistedTo.get(c.name),p=`${f?` hoisted from ${f.join(\", \")}`:\"\"}`,C=`${h?` hoisted to ${h}`:\"\"}`,y=`${g()}${p}`;u?u.ident!==c.ident&&e.push(`${y} - broken require promise for ${c.name}${C}: expected ${c.ident}, but found: ${u.ident}`):e.push(`${y} - broken require promise: no required dependency ${c.name}${C} found`)}}i.add(s);for(let c of s.dependencies.values())s.peerNames.has(c.name)||n(c,l,s);i.delete(s)};return n(r,r.dependencies,r),e.join(`\n`)},Q4e=(r,e)=>{let{identName:t,name:i,reference:n,peerNames:s}=r,o={name:i,references:new Set([n]),locator:aO(t,n),ident:Uae(t,n),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(s),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistPriority:0,dependencyKind:1,hoistedFrom:new Map,hoistedTo:new Map},a=new Map([[r,o]]),l=(c,u)=>{let g=a.get(c),f=!!g;if(!g){let{name:h,identName:p,reference:C,peerNames:y,hoistPriority:B,dependencyKind:v}=c,D=e.hoistingLimits.get(u.locator);g={name:h,references:new Set([C]),locator:aO(p,C),ident:Uae(p,C),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(y),reasons:new Map,decoupled:!0,isHoistBorder:D?D.has(h):!1,hoistPriority:B||0,dependencyKind:v||0,hoistedFrom:new Map,hoistedTo:new Map},a.set(c,g)}if(u.dependencies.set(c.name,g),u.originalDependencies.set(c.name,g),f){let h=new Set,p=C=>{if(!h.has(C)){h.add(C),C.decoupled=!1;for(let y of C.dependencies.values())C.peerNames.has(y.name)||p(y)}};p(g)}else for(let h of c.dependencies)l(h,g)};for(let c of r.dependencies)l(c,o);return o},lO=r=>r.substring(0,r.indexOf(\"@\",1)),b4e=r=>{let e={name:r.name,identName:lO(r.locator),references:new Set(r.references),dependencies:new Set},t=new Set([r]),i=(n,s,o)=>{let a=t.has(n),l;if(s===n)l=o;else{let{name:c,references:u,locator:g}=n;l={name:c,identName:lO(g),references:u,dependencies:new Set}}if(o.dependencies.add(l),!a){t.add(n);for(let c of n.dependencies.values())n.peerNames.has(c.name)||i(c,n,l);t.delete(n)}};for(let n of r.dependencies.values())i(n,r,e);return e},S4e=r=>{let e=new Map,t=new Set([r]),i=o=>`${o.name}@${o.ident}`,n=o=>{let a=i(o),l=e.get(a);return l||(l={dependents:new Set,peerDependents:new Set,hoistPriority:0},e.set(a,l)),l},s=(o,a)=>{let l=!!t.has(a);if(n(a).dependents.add(o.ident),!l){t.add(a);for(let u of a.dependencies.values()){let g=n(u);g.hoistPriority=Math.max(g.hoistPriority,u.hoistPriority),a.peerNames.has(u.name)?g.peerDependents.add(a.ident):s(a,u)}}};for(let o of r.dependencies.values())r.peerNames.has(o.name)||s(r,o);return e},Di=r=>{if(!r)return\"none\";let e=r.indexOf(\"@\",1),t=r.substring(0,e);t.endsWith(\"$wsroot$\")&&(t=`wh:${t.replace(\"$wsroot$\",\"\")}`);let i=r.substring(e+1);if(i===\"workspace:.\")return\".\";if(i){let n=(i.indexOf(\"#\")>0?i.split(\"#\")[1]:i).replace(\"npm:\",\"\");return i.startsWith(\"virtual\")&&(t=`v:${t}`),n.startsWith(\"workspace\")&&(t=`w:${t}`,n=\"\"),`${t}${n?`@${n}`:\"\"}`}else return`${t}`},Gae=5e4,jm=r=>{let e=0,t=(n,s,o=\"\")=>{if(e>Gae||s.has(n))return\"\";e++;let a=Array.from(n.dependencies.values()).sort((c,u)=>c.name===u.name?0:c.name>u.name?1:-1),l=\"\";s.add(n);for(let c=0;c<a.length;c++){let u=a[c];if(!n.peerNames.has(u.name)&&u!==n){let g=n.reasons.get(u.name),f=lO(u.locator);l+=`${o}${c<a.length-1?\"\\u251C\\u2500\":\"\\u2514\\u2500\"}${(s.has(u)?\">\":\"\")+(f!==u.name?`a:${u.name}:`:\"\")+Di(u.locator)+(g?` ${g}`:\"\")}\n`,l+=t(u,s,`${o}${c<a.length-1?\"\\u2502 \":\"  \"}`)}}return s.delete(n),l};return t(r,new Set)+(e>Gae?`\nTree is too large, part of the tree has been dunped\n`:\"\")};var qm=(i=>(i.WORKSPACES=\"workspaces\",i.DEPENDENCIES=\"dependencies\",i.NONE=\"none\",i))(qm||{}),qae=\"node_modules\",Du=\"$wsroot$\";var Jm=(r,e)=>{let{packageTree:t,hoistingLimits:i,errors:n,preserveSymlinksRequired:s}=x4e(r,e),o=null;if(n.length===0){let a=Yae(t,{hoistingLimits:i});o=D4e(r,a,e)}return{tree:o,errors:n,preserveSymlinksRequired:s}},ea=r=>`${r.name}@${r.reference}`,uO=r=>{let e=new Map;for(let[t,i]of r.entries())if(!i.dirList){let n=e.get(i.locator);n||(n={target:i.target,linkType:i.linkType,locations:[],aliases:i.aliases},e.set(i.locator,n)),n.locations.push(t)}for(let t of e.values())t.locations=t.locations.sort((i,n)=>{let s=i.split(x.delimiter).length,o=n.split(x.delimiter).length;return n===i?0:s!==o?o-s:n>i?1:-1});return e},Jae=(r,e)=>{let t=P.isVirtualLocator(r)?P.devirtualizeLocator(r):r,i=P.isVirtualLocator(e)?P.devirtualizeLocator(e):e;return P.areLocatorsEqual(t,i)},cO=(r,e,t,i)=>{if(r.linkType!==\"SOFT\")return!1;let n=K.toPortablePath(t.resolveVirtual&&e.reference&&e.reference.startsWith(\"virtual:\")?t.resolveVirtual(r.packageLocation):r.packageLocation);return x.contains(i,n)===null},v4e=r=>{let e=r.getPackageInformation(r.topLevel);if(e===null)throw new Error(\"Assertion failed: Expected the top-level package to have been registered\");if(r.findPackageLocator(e.packageLocation)===null)throw new Error(\"Assertion failed: Expected the top-level package to have a physical locator\");let i=K.toPortablePath(e.packageLocation.slice(0,-1)),n=new Map,s={children:new Map},o=r.getDependencyTreeRoots(),a=new Map,l=new Set,c=(f,h)=>{let p=ea(f);if(l.has(p))return;l.add(p);let C=r.getPackageInformation(f);if(C){let y=h?ea(h):\"\";if(ea(f)!==y&&C.linkType===\"SOFT\"&&!cO(C,f,r,i)){let B=Wae(C,f,r);(!a.get(B)||f.reference.startsWith(\"workspace:\"))&&a.set(B,f)}for(let[B,v]of C.packageDependencies)v!==null&&(C.packagePeers.has(B)||c(r.getLocator(B,v),f))}};for(let f of o)c(f,null);let u=i.split(x.sep);for(let f of a.values()){let h=r.getPackageInformation(f),C=K.toPortablePath(h.packageLocation.slice(0,-1)).split(x.sep).slice(u.length),y=s;for(let B of C){let v=y.children.get(B);v||(v={children:new Map},y.children.set(B,v)),y=v}y.workspaceLocator=f}let g=(f,h)=>{if(f.workspaceLocator){let p=ea(h),C=n.get(p);C||(C=new Set,n.set(p,C)),C.add(f.workspaceLocator)}for(let p of f.children.values())g(p,f.workspaceLocator||h)};for(let f of s.children.values())g(f,s.workspaceLocator);return n},x4e=(r,e)=>{let t=[],i=!1,n=new Map,s=v4e(r),o=r.getPackageInformation(r.topLevel);if(o===null)throw new Error(\"Assertion failed: Expected the top-level package to have been registered\");let a=r.findPackageLocator(o.packageLocation);if(a===null)throw new Error(\"Assertion failed: Expected the top-level package to have a physical locator\");let l=K.toPortablePath(o.packageLocation.slice(0,-1)),c={name:a.name,identName:a.name,reference:a.reference,peerNames:o.packagePeers,dependencies:new Set,dependencyKind:1},u=new Map,g=(h,p)=>`${ea(p)}:${h}`,f=(h,p,C,y,B,v,D,L)=>{var re,O;let H=g(h,C),j=u.get(H),$=!!j;!$&&C.name===a.name&&C.reference===a.reference&&(j=c,u.set(H,c));let V=cO(p,C,r,l);if(!j){let F=0;V?F=2:p.linkType===\"SOFT\"&&C.name.endsWith(Du)&&(F=1),j={name:h,identName:C.name,reference:C.reference,dependencies:new Set,peerNames:F===1?new Set:p.packagePeers,dependencyKind:F},u.set(H,j)}let W;if(V?W=2:B.linkType===\"SOFT\"?W=1:W=0,j.hoistPriority=Math.max(j.hoistPriority||0,W),L&&!V){let F=ea({name:y.identName,reference:y.reference}),ue=n.get(F)||new Set;n.set(F,ue),ue.add(j.name)}let Z=new Map(p.packageDependencies);if(e.project){let F=e.project.workspacesByCwd.get(K.toPortablePath(p.packageLocation.slice(0,-1)));if(F){let ue=new Set([...Array.from(F.manifest.peerDependencies.values(),he=>P.stringifyIdent(he)),...Array.from(F.manifest.peerDependenciesMeta.keys())]);for(let he of ue)Z.has(he)||(Z.set(he,v.get(he)||null),j.peerNames.add(he))}}let A=ea({name:C.name.replace(Du,\"\"),reference:C.reference}),ae=s.get(A);if(ae)for(let F of ae)Z.set(`${F.name}${Du}`,F.reference);(p!==B||p.linkType!==\"SOFT\"||!V&&(!e.selfReferencesByCwd||e.selfReferencesByCwd.get(D)))&&y.dependencies.add(j);let ge=C!==a&&p.linkType===\"SOFT\"&&!C.name.endsWith(Du)&&!V;if(!$&&!ge){let F=new Map;for(let[ue,he]of Z)if(he!==null){let ke=r.getLocator(ue,he),Fe=r.getLocator(ue.replace(Du,\"\"),he),Ne=r.getPackageInformation(Fe);if(Ne===null)throw new Error(\"Assertion failed: Expected the package to have been registered\");let oe=cO(Ne,ke,r,l);if(e.validateExternalSoftLinks&&e.project&&oe){Ne.packageDependencies.size>0&&(i=!0);for(let[qe,ne]of Ne.packageDependencies)if(ne!==null){let Y=P.parseLocator(Array.isArray(ne)?`${ne[0]}@${ne[1]}`:`${qe}@${ne}`);if(ea(Y)!==ea(ke)){let pe=Z.get(qe);if(pe){let ie=P.parseLocator(Array.isArray(pe)?`${pe[0]}@${pe[1]}`:`${qe}@${pe}`);Jae(ie,Y)||t.push({messageName:71,text:`Cannot link ${P.prettyIdent(e.project.configuration,P.parseIdent(ke.name))} into ${P.prettyLocator(e.project.configuration,P.parseLocator(`${C.name}@${C.reference}`))} dependency ${P.prettyLocator(e.project.configuration,Y)} conflicts with parent dependency ${P.prettyLocator(e.project.configuration,ie)}`})}else{let ie=F.get(qe);if(ie){let de=ie.target,tt=P.parseLocator(Array.isArray(de)?`${de[0]}@${de[1]}`:`${qe}@${de}`);Jae(tt,Y)||t.push({messageName:71,text:`Cannot link ${P.prettyIdent(e.project.configuration,P.parseIdent(ke.name))} into ${P.prettyLocator(e.project.configuration,P.parseLocator(`${C.name}@${C.reference}`))} dependency ${P.prettyLocator(e.project.configuration,Y)} conflicts with dependency ${P.prettyLocator(e.project.configuration,tt)} from sibling portal ${P.prettyIdent(e.project.configuration,P.parseIdent(ie.portal.name))}`})}else F.set(qe,{target:Y.reference,portal:ke})}}}}let le=(re=e.hoistingLimitsByCwd)==null?void 0:re.get(D),we=oe?D:x.relative(l,K.toPortablePath(Ne.packageLocation))||Oe.dot,fe=(O=e.hoistingLimitsByCwd)==null?void 0:O.get(we);f(ue,Ne,ke,j,p,Z,we,le===\"dependencies\"||fe===\"dependencies\"||fe===\"workspaces\")}}};return f(a.name,o,a,c,o,o.packageDependencies,Oe.dot,!1),{packageTree:c,hoistingLimits:n,errors:t,preserveSymlinksRequired:i}};function Wae(r,e,t){let i=t.resolveVirtual&&e.reference&&e.reference.startsWith(\"virtual:\")?t.resolveVirtual(r.packageLocation):r.packageLocation;return K.toPortablePath(i||r.packageLocation)}function P4e(r,e,t){let i=e.getLocator(r.name.replace(Du,\"\"),r.reference),n=e.getPackageInformation(i);if(n===null)throw new Error(\"Assertion failed: Expected the package to be registered\");let s,o;return t.pnpifyFs?(o=K.toPortablePath(n.packageLocation),s=\"SOFT\"):(o=Wae(n,r,e),s=n.linkType),{linkType:s,target:o}}var D4e=(r,e,t)=>{let i=new Map,n=(u,g,f)=>{let{linkType:h,target:p}=P4e(u,r,t);return{locator:ea(u),nodePath:g,target:p,linkType:h,aliases:f}},s=u=>{let[g,f]=u.split(\"/\");return f?{scope:Ur(g),name:Ur(f)}:{scope:null,name:Ur(g)}},o=new Set,a=(u,g,f)=>{if(o.has(u))return;o.add(u);let h=Array.from(u.references).sort().join(\"#\");for(let p of u.dependencies){let C=Array.from(p.references).sort().join(\"#\");if(p.identName===u.identName&&C===h)continue;let y=Array.from(p.references).sort(),B={name:p.identName,reference:y[0]},{name:v,scope:D}=s(p.name),L=D?[D,v]:[v],H=x.join(g,qae),j=x.join(H,...L),$=`${f}/${B.name}`,V=n(B,f,y.slice(1)),W=!1;if(V.linkType===\"SOFT\"&&t.project){let A=t.project.workspacesByCwd.get(V.target.slice(0,-1));W=!!(A&&!A.manifest.name)}let Z=V.linkType===\"SOFT\"&&j.startsWith(V.target);if(!p.name.endsWith(Du)&&!W&&!Z){let A=i.get(j);if(A){if(A.dirList)throw new Error(`Assertion failed: ${j} cannot merge dir node with leaf node`);{let O=P.parseLocator(A.locator),F=P.parseLocator(V.locator);if(A.linkType!==V.linkType)throw new Error(`Assertion failed: ${j} cannot merge nodes with different link types ${A.nodePath}/${P.stringifyLocator(O)} and ${f}/${P.stringifyLocator(F)}`);if(O.identHash!==F.identHash)throw new Error(`Assertion failed: ${j} cannot merge nodes with different idents ${A.nodePath}/${P.stringifyLocator(O)} and ${f}/s${P.stringifyLocator(F)}`);V.aliases=[...V.aliases,...A.aliases,P.parseLocator(A.locator).reference]}}i.set(j,V);let ae=j.split(\"/\"),ge=ae.indexOf(qae),re=ae.length-1;for(;ge>=0&&re>ge;){let O=K.toPortablePath(ae.slice(0,re).join(x.sep)),F=Ur(ae[re]),ue=i.get(O);if(!ue)i.set(O,{dirList:new Set([F])});else if(ue.dirList){if(ue.dirList.has(F))break;ue.dirList.add(F)}re--}}a(p,V.linkType===\"SOFT\"?V.target:j,$)}},l=n({name:e.name,reference:Array.from(e.references)[0]},\"\",[]),c=l.target;return i.set(c,l),a(e,c,\"\"),i};var vO={};ut(vO,{PnpInstaller:()=>Fu,PnpLinker:()=>ll,default:()=>a8e,getPnpPath:()=>cl,jsInstallUtils:()=>uo,pnpUtils:()=>rE,quotePathIfNeeded:()=>TAe});var NAe=Pe(Xr()),LAe=J(\"url\");var zae={[\"DEFAULT\"]:{collapsed:!1,next:{[\"*\"]:\"DEFAULT\"}},[\"TOP_LEVEL\"]:{collapsed:!1,next:{fallbackExclusionList:\"FALLBACK_EXCLUSION_LIST\",packageRegistryData:\"PACKAGE_REGISTRY_DATA\",[\"*\"]:\"DEFAULT\"}},[\"FALLBACK_EXCLUSION_LIST\"]:{collapsed:!1,next:{[\"*\"]:\"FALLBACK_EXCLUSION_ENTRIES\"}},[\"FALLBACK_EXCLUSION_ENTRIES\"]:{collapsed:!0,next:{[\"*\"]:\"FALLBACK_EXCLUSION_DATA\"}},[\"FALLBACK_EXCLUSION_DATA\"]:{collapsed:!0,next:{[\"*\"]:\"DEFAULT\"}},[\"PACKAGE_REGISTRY_DATA\"]:{collapsed:!1,next:{[\"*\"]:\"PACKAGE_REGISTRY_ENTRIES\"}},[\"PACKAGE_REGISTRY_ENTRIES\"]:{collapsed:!0,next:{[\"*\"]:\"PACKAGE_STORE_DATA\"}},[\"PACKAGE_STORE_DATA\"]:{collapsed:!1,next:{[\"*\"]:\"PACKAGE_STORE_ENTRIES\"}},[\"PACKAGE_STORE_ENTRIES\"]:{collapsed:!0,next:{[\"*\"]:\"PACKAGE_INFORMATION_DATA\"}},[\"PACKAGE_INFORMATION_DATA\"]:{collapsed:!1,next:{packageDependencies:\"PACKAGE_DEPENDENCIES\",[\"*\"]:\"DEFAULT\"}},[\"PACKAGE_DEPENDENCIES\"]:{collapsed:!1,next:{[\"*\"]:\"PACKAGE_DEPENDENCY\"}},[\"PACKAGE_DEPENDENCY\"]:{collapsed:!0,next:{[\"*\"]:\"DEFAULT\"}}};function k4e(r,e,t){let i=\"\";i+=\"[\";for(let n=0,s=r.length;n<s;++n)i+=kQ(String(n),r[n],e,t).replace(/^ +/g,\"\"),n+1<s&&(i+=\", \");return i+=\"]\",i}function R4e(r,e,t){let i=`${t}  `,n=\"\";n+=t,n+=`[\n`;for(let s=0,o=r.length;s<o;++s)n+=i+kQ(String(s),r[s],e,i).replace(/^ +/,\"\"),s+1<o&&(n+=\",\"),n+=`\n`;return n+=t,n+=\"]\",n}function F4e(r,e,t){let i=Object.keys(r),n=\"\";n+=\"{\";for(let s=0,o=i.length,a=0;s<o;++s){let l=i[s],c=r[l];typeof c>\"u\"||(a!==0&&(n+=\", \"),n+=JSON.stringify(l),n+=\": \",n+=kQ(l,c,e,t).replace(/^ +/g,\"\"),a+=1)}return n+=\"}\",n}function N4e(r,e,t){let i=Object.keys(r),n=`${t}  `,s=\"\";s+=t,s+=`{\n`;let o=0;for(let a=0,l=i.length;a<l;++a){let c=i[a],u=r[c];typeof u>\"u\"||(o!==0&&(s+=\",\",s+=`\n`),s+=n,s+=JSON.stringify(c),s+=\": \",s+=kQ(c,u,e,n).replace(/^ +/g,\"\"),o+=1)}return o!==0&&(s+=`\n`),s+=t,s+=\"}\",s}function kQ(r,e,t,i){let{next:n}=zae[t],s=n[r]||n[\"*\"];return Vae(e,s,i)}function Vae(r,e,t){let{collapsed:i}=zae[e];return Array.isArray(r)?i?k4e(r,e,t):R4e(r,e,t):typeof r==\"object\"&&r!==null?i?F4e(r,e,t):N4e(r,e,t):JSON.stringify(r)}function Xae(r){return Vae(r,\"TOP_LEVEL\",\"\")}function Wm(r,e){let t=Array.from(r);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(t.map(o=>s(o)));let n=t.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]<a[o]?-1:a[s]>a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>t[s])}function L4e(r){let e=new Map,t=Wm(r.fallbackExclusionList||[],[({name:i,reference:n})=>i,({name:i,reference:n})=>n]);for(let{name:i,reference:n}of t){let s=e.get(i);typeof s>\"u\"&&e.set(i,s=new Set),s.add(n)}return Array.from(e).map(([i,n])=>[i,Array.from(n)])}function T4e(r){return Wm(r.fallbackPool||[],([e])=>e)}function O4e(r){let e=[];for(let[t,i]of Wm(r.packageRegistry,([n])=>n===null?\"0\":`1${n}`)){let n=[];e.push([t,n]);for(let[s,{packageLocation:o,packageDependencies:a,packagePeers:l,linkType:c,discardFromLookup:u}]of Wm(i,([g])=>g===null?\"0\":`1${g}`)){let g=[];t!==null&&s!==null&&!a.has(t)&&g.push([t,s]);for(let[p,C]of Wm(a.entries(),([y])=>y))g.push([p,C]);let f=l&&l.size>0?Array.from(l):void 0,h=u||void 0;n.push([s,{packageLocation:o,packageDependencies:g,packagePeers:f,linkType:c,discardFromLookup:h}])}}return e}function zm(r){return{__info:[\"This file is automatically generated. Do not touch it, or risk\",\"your modifications being lost. We also recommend you not to read\",\"it either without using the @yarnpkg/pnp package, as the data layout\",\"is entirely unspecified and WILL change from a version to another.\"],dependencyTreeRoots:r.dependencyTreeRoots,enableTopLevelFallback:r.enableTopLevelFallback||!1,ignorePatternData:r.ignorePattern||null,fallbackExclusionList:L4e(r),fallbackPool:T4e(r),packageRegistryData:O4e(r)}}var $ae=Pe(Zae());function eAe(r,e){return[r?`${r}\n`:\"\",`/* eslint-disable */\n`,`\"use strict\";\n`,`\n`,`function $$SETUP_STATE(hydrateRuntimeState, basePath) {\n`,e.replace(/^/gm,\"  \"),`}\n`,`\n`,(0,$ae.default)()].join(\"\")}function M4e(r){return JSON.stringify(r,null,2)}function K4e(r){return`'${r.replace(/\\\\/g,\"\\\\\\\\\").replace(/'/g,\"\\\\'\").replace(/\\n/g,`\\\\\n`)}'`}function U4e(r){return[`return hydrateRuntimeState(JSON.parse(${K4e(Xae(r))}), {basePath: basePath || __dirname});\n`].join(\"\")}function H4e(r){return[`var path = require('path');\n`,`var dataLocation = path.resolve(__dirname, ${JSON.stringify(r)});\n`,`return hydrateRuntimeState(require(dataLocation), {basePath: basePath || path.dirname(dataLocation)});\n`].join(\"\")}function tAe(r){let e=zm(r),t=U4e(e);return eAe(r.shebang,t)}function rAe(r){let e=zm(r),t=H4e(r.dataLocation),i=eAe(r.shebang,t);return{dataFile:M4e(e),loaderFile:i}}var SAe=J(\"fs\");var vAe=J(\"util\");function fO(r,{basePath:e}){let t=K.toPortablePath(e),i=x.resolve(t),n=r.ignorePatternData!==null?new RegExp(r.ignorePatternData):null,s=new Map,o=new Map(r.packageRegistryData.map(([g,f])=>[g,new Map(f.map(([h,p])=>{var D;if(g===null!=(h===null))throw new Error(\"Assertion failed: The name and reference should be null, or neither should\");let C=(D=p.discardFromLookup)!=null?D:!1,y={name:g,reference:h},B=s.get(p.packageLocation);B?(B.discardFromLookup=B.discardFromLookup&&C,C||(B.locator=y)):s.set(p.packageLocation,{locator:y,discardFromLookup:C});let v=null;return[h,{packageDependencies:new Map(p.packageDependencies),packagePeers:new Set(p.packagePeers),linkType:p.linkType,discardFromLookup:C,get packageLocation(){return v||(v=x.join(i,p.packageLocation))}}]}))])),a=new Map(r.fallbackExclusionList.map(([g,f])=>[g,new Set(f)])),l=new Map(r.fallbackPool),c=r.dependencyTreeRoots,u=r.enableTopLevelFallback;return{basePath:t,dependencyTreeRoots:c,enableTopLevelFallback:u,fallbackExclusionList:a,fallbackPool:l,ignorePattern:n,packageLocatorsByLocations:s,packageRegistry:o}}var eE=J(\"module\");function qh(r,e){if(typeof r==\"string\")return r;if(r){let t,i;if(Array.isArray(r)){for(t=0;t<r.length;t++)if(i=qh(r[t],e))return i}else for(t in r)if(e.has(t))return qh(r[t],e)}}function ku(r,e,t){throw new Error(t?`No known conditions for \"${e}\" entry in \"${r}\" package`:`Missing \"${e}\" export in \"${r}\" package`)}function G4e(r,e){return e===r?\".\":e[0]===\".\"?e:e.replace(new RegExp(\"^\"+r+\"/\"),\"./\")}function iAe(r,e=\".\",t={}){let{name:i,exports:n}=r;if(n){let{browser:s,require:o,unsafe:a,conditions:l=[]}=t,c=G4e(i,e);if(c[0]!==\".\"&&(c=\"./\"+c),typeof n==\"string\")return c===\".\"?n:ku(i,c);let u=new Set([\"default\",...l]);a||u.add(o?\"require\":\"import\"),a||u.add(s?\"browser\":\"node\");let g,f,h=!1;for(g in n){h=g[0]!==\".\";break}if(h)return c===\".\"?qh(n,u)||ku(i,c,1):ku(i,c);if(f=n[c])return qh(f,u)||ku(i,c,1);for(g in n){if(f=g[g.length-1],f===\"/\"&&c.startsWith(g))return(f=qh(n[g],u))?f+c.substring(g.length):ku(i,c,1);if(f===\"*\"&&c.startsWith(g.slice(0,-1))&&c.substring(g.length-1).length>0)return(f=qh(n[g],u))?f.replace(\"*\",c.substring(g.length-1)):ku(i,c,1)}return ku(i,c)}}var KQ=J(\"url\"),IO=J(\"util\");var Ao=J(\"url\");var cAe=Pe(J(\"assert\"));var nAe=Array.isArray,Vm=JSON.stringify,hO=Object.getOwnPropertyNames,Jh=(r,e)=>Object.prototype.hasOwnProperty.call(r,e),pO=(r,e)=>RegExp.prototype.exec.call(r,e),dO=(r,...e)=>RegExp.prototype[Symbol.replace].apply(r,e),Xm=(r,...e)=>String.prototype.endsWith.apply(r,e),sAe=(r,...e)=>String.prototype.includes.apply(r,e),oAe=(r,...e)=>String.prototype.lastIndexOf.apply(r,e),RQ=(r,...e)=>String.prototype.indexOf.apply(r,e),aAe=(r,...e)=>String.prototype.replace.apply(r,e),_m=(r,...e)=>String.prototype.slice.apply(r,e),rA=(r,...e)=>String.prototype.startsWith.apply(r,e),AAe=Map,lAe=JSON.parse;function FQ(r,e,t){return class extends t{constructor(...i){super(e(...i)),this.code=r,this.name=`${t.name} [${r}]`}}}var uAe=FQ(\"ERR_PACKAGE_IMPORT_NOT_DEFINED\",(r,e,t)=>`Package import specifier \"${r}\" is not defined${e?` in package ${e}package.json`:\"\"} imported from ${t}`,TypeError),CO=FQ(\"ERR_INVALID_MODULE_SPECIFIER\",(r,e,t=void 0)=>`Invalid module \"${r}\" ${e}${t?` imported from ${t}`:\"\"}`,TypeError),gAe=FQ(\"ERR_INVALID_PACKAGE_TARGET\",(r,e,t,i=!1,n=void 0)=>{let s=typeof t==\"string\"&&!i&&t.length&&!rA(t,\"./\");return e===\".\"?((0,cAe.default)(i===!1),`Invalid \"exports\" main target ${Vm(t)} defined in the package config ${r}package.json${n?` imported from ${n}`:\"\"}${s?'; targets must start with \"./\"':\"\"}`):`Invalid \"${i?\"imports\":\"exports\"}\" target ${Vm(t)} defined for '${e}' in the package config ${r}package.json${n?` imported from ${n}`:\"\"}${s?'; targets must start with \"./\"':\"\"}`},Error),NQ=FQ(\"ERR_INVALID_PACKAGE_CONFIG\",(r,e,t)=>`Invalid package config ${r}${e?` while importing ${e}`:\"\"}${t?`. ${t}`:\"\"}`,Error);var TQ=J(\"url\");function fAe(r,e){let t=Object.create(null);for(let i=0;i<e.length;i++){let n=e[i];Jh(r,n)&&(t[n]=r[n])}return t}var LQ=new AAe;function Y4e(r,e,t,i){let n=LQ.get(r);if(n!==void 0)return n;let s=i(r);if(s===void 0){let h={pjsonPath:r,exists:!1,main:void 0,name:void 0,type:\"none\",exports:void 0,imports:void 0};return LQ.set(r,h),h}let o;try{o=lAe(s)}catch(h){throw new NQ(r,(t?`\"${e}\" from `:\"\")+(0,TQ.fileURLToPath)(t||e),h.message)}let{imports:a,main:l,name:c,type:u}=fAe(o,[\"imports\",\"main\",\"name\",\"type\"]),g=Jh(o,\"exports\")?o.exports:void 0;(typeof a!=\"object\"||a===null)&&(a=void 0),typeof l!=\"string\"&&(l=void 0),typeof c!=\"string\"&&(c=void 0),u!==\"module\"&&u!==\"commonjs\"&&(u=\"none\");let f={pjsonPath:r,exists:!0,main:l,name:c,type:u,exports:g,imports:a};return LQ.set(r,f),f}function hAe(r,e){let t=new URL(\"./package.json\",r);for(;;){let s=t.pathname;if(Xm(s,\"node_modules/package.json\"))break;let o=Y4e((0,TQ.fileURLToPath)(t),r,void 0,e);if(o.exists)return o;let a=t;if(t=new URL(\"../package.json\",t),t.pathname===a.pathname)break}let i=(0,TQ.fileURLToPath)(t),n={pjsonPath:i,exists:!1,main:void 0,name:void 0,type:\"none\",exports:void 0,imports:void 0};return LQ.set(i,n),n}function j4e(r,e,t){throw new uAe(r,e&&(0,Ao.fileURLToPath)(new URL(\".\",e)),(0,Ao.fileURLToPath)(t))}function q4e(r,e,t,i){let n=`request is not a valid subpath for the \"${t?\"imports\":\"exports\"}\" resolution of ${(0,Ao.fileURLToPath)(e)}`;throw new CO(r,n,i&&(0,Ao.fileURLToPath)(i))}function Zm(r,e,t,i,n){throw typeof e==\"object\"&&e!==null?e=Vm(e,null,\"\"):e=`${e}`,new gAe((0,Ao.fileURLToPath)(new URL(\".\",t)),r,e,i,n&&(0,Ao.fileURLToPath)(n))}var pAe=/(^|\\\\|\\/)((\\.|%2e)(\\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\\\|\\/|$)/i,dAe=/\\*/g;function J4e(r,e,t,i,n,s,o,a){if(e!==\"\"&&!s&&r[r.length-1]!==\"/\"&&Zm(t,r,i,o,n),!rA(r,\"./\")){if(o&&!rA(r,\"../\")&&!rA(r,\"/\")){let g=!1;try{new URL(r),g=!0}catch{}if(!g)return s?dO(dAe,r,()=>e):r+e}Zm(t,r,i,o,n)}pO(pAe,_m(r,2))!==null&&Zm(t,r,i,o,n);let l=new URL(r,i),c=l.pathname,u=new URL(\".\",i).pathname;if(rA(c,u)||Zm(t,r,i,o,n),e===\"\")return l;if(pO(pAe,e)!==null){let g=s?aAe(t,\"*\",()=>e):t+e;q4e(g,i,o,n)}return s?new URL(dO(dAe,l.href,()=>e)):new URL(e,l)}function W4e(r){let e=+r;return`${e}`!==r?!1:e>=0&&e<4294967295}function OQ(r,e,t,i,n,s,o,a){if(typeof e==\"string\")return J4e(e,t,i,r,n,s,o,a);if(nAe(e)){if(e.length===0)return null;let l;for(let c=0;c<e.length;c++){let u=e[c],g;try{g=OQ(r,u,t,i,n,s,o,a)}catch(f){if(l=f,f.code===\"ERR_INVALID_PACKAGE_TARGET\")continue;throw f}if(g!==void 0){if(g===null){l=null;continue}return g}}if(l==null)return l;throw l}else if(typeof e==\"object\"&&e!==null){let l=hO(e);for(let c=0;c<l.length;c++){let u=l[c];if(W4e(u))throw new NQ((0,Ao.fileURLToPath)(r),n,'\"exports\" cannot contain numeric property keys.')}for(let c=0;c<l.length;c++){let u=l[c];if(u===\"default\"||a.has(u)){let g=e[u],f=OQ(r,g,t,i,n,s,o,a);if(f===void 0)continue;return f}}return}else if(e===null)return null;Zm(i,e,r,o,n)}function z4e(r,e){let t=RQ(r,\"*\"),i=RQ(e,\"*\"),n=t===-1?r.length:t+1,s=i===-1?e.length:i+1;return n>s?-1:s>n||t===-1?1:i===-1||r.length>e.length?-1:e.length>r.length?1:0}function CAe({name:r,base:e,conditions:t,readFileSyncFn:i}){if(r===\"#\"||rA(r,\"#/\")||Xm(r,\"/\")){let o=\"is not a valid internal imports specifier name\";throw new CO(r,o,(0,Ao.fileURLToPath)(e))}let n,s=hAe(e,i);if(s.exists){n=(0,Ao.pathToFileURL)(s.pjsonPath);let o=s.imports;if(o)if(Jh(o,r)&&!sAe(r,\"*\")){let a=OQ(n,o[r],\"\",r,e,!1,!0,t);if(a!=null)return a}else{let a=\"\",l,c=hO(o);for(let u=0;u<c.length;u++){let g=c[u],f=RQ(g,\"*\");if(f!==-1&&rA(r,_m(g,0,f))){let h=_m(g,f+1);r.length>=g.length&&Xm(r,h)&&z4e(a,g)===1&&oAe(g,\"*\")===f&&(a=g,l=_m(r,f,r.length-h.length))}}if(a){let u=o[a],g=OQ(n,u,l,a,e,!0,!0,t);if(g!=null)return g}}}j4e(r,n,e)}var V4e=new Set([\"BUILTIN_NODE_RESOLUTION_FAILED\",\"MISSING_DEPENDENCY\",\"MISSING_PEER_DEPENDENCY\",\"QUALIFIED_PATH_RESOLUTION_FAILED\",\"UNDECLARED_DEPENDENCY\"]);function ri(r,e,t={},i){i!=null||(i=V4e.has(r)?\"MODULE_NOT_FOUND\":r);let n={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:{...n,value:i},pnpCode:{...n,value:r},data:{...n,value:t}})}function lo(r){return K.normalize(K.fromPortablePath(r))}var yAe=Pe(EAe());function wAe(r){return X4e(),EO[r]}var EO;function X4e(){EO||(EO={\"--conditions\":[],...IAe(_4e()),...IAe(process.execArgv)})}function IAe(r){return(0,yAe.default)({\"--conditions\":[String],\"-C\":\"--conditions\"},{argv:r,permissive:!0})}function _4e(){let r=[],e=Z4e(process.env.NODE_OPTIONS||\"\",r);return r.length,e}function Z4e(r,e){let t=[],i=!1,n=!0;for(let s=0;s<r.length;++s){let o=r[s];if(o===\"\\\\\"&&i){if(s+1===r.length)return e.push(`invalid value for NODE_OPTIONS (invalid escape)\n`),t;o=r[++s]}else if(o===\" \"&&!i){n=!0;continue}else if(o==='\"'){i=!i;continue}n?(t.push(o),n=!1):t[t.length-1]+=o}return i&&e.push(`invalid value for NODE_OPTIONS (unterminated string)\n`),t}var QAe=J(\"module\");var[co,Ru]=process.versions.node.split(\".\").map(r=>parseInt(r,10)),cwt=co>16||co===16&&Ru>=12,uwt=co>17||co===17&&Ru>=5||co===16&&Ru>=15,gwt=co>17||co===17&&Ru>=1||co===16&&Ru>14,BAe=co>19||co===19&&Ru>=2||co===18&&Ru>=13;var $4e=new Set(QAe.Module.builtinModules||Object.keys(process.binding(\"natives\"))),MQ=r=>r.startsWith(\"node:\")||$4e.has(r);function bAe(r){if(process.env.WATCH_REPORT_DEPENDENCIES&&process.send)if(r=r.map(e=>K.fromPortablePath(Br.resolveVirtual(K.toPortablePath(e)))),BAe)process.send({\"watch:require\":r});else for(let e of r)process.send({\"watch:require\":e})}function yO(r,e){let t=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,i=Number(process.env.PNP_DEBUG_LEVEL),n=/^(?![a-zA-Z]:[\\\\/]|\\\\\\\\|\\.{0,2}(?:\\/|$))((?:node:)?(?:@[^/]+\\/)?[^/]+)\\/*(.*|)$/,s=/^(\\/|\\.{1,2}(\\/|$))/,o=/\\/$/,a=/^\\.{0,2}\\//,l={name:null,reference:null},c=[],u=new Set;if(r.enableTopLevelFallback===!0&&c.push(l),e.compatibilityMode!==!1)for(let oe of[\"react-scripts\",\"gatsby\"]){let le=r.packageRegistry.get(oe);if(le)for(let we of le.keys()){if(we===null)throw new Error(\"Assertion failed: This reference shouldn't be null\");c.push({name:oe,reference:we})}}let{ignorePattern:g,packageRegistry:f,packageLocatorsByLocations:h}=r;function p(oe,le){return{fn:oe,args:le,error:null,result:null}}function C(oe){var qe,ne,Y,pe,ie,de;let le=(Y=(ne=(qe=process.stderr)==null?void 0:qe.hasColors)==null?void 0:ne.call(qe))!=null?Y:process.stdout.isTTY,we=(tt,Pt)=>`\\x1B[${tt}m${Pt}\\x1B[0m`,fe=oe.error;console.error(fe?we(\"31;1\",`\\u2716 ${(pe=oe.error)==null?void 0:pe.message.replace(/\\n.*/s,\"\")}`):we(\"33;1\",\"\\u203C Resolution\")),oe.args.length>0&&console.error();for(let tt of oe.args)console.error(`  ${we(\"37;1\",\"In \\u2190\")} ${(0,IO.inspect)(tt,{colors:le,compact:!0})}`);oe.result&&(console.error(),console.error(`  ${we(\"37;1\",\"Out \\u2192\")} ${(0,IO.inspect)(oe.result,{colors:le,compact:!0})}`));let Ae=(de=(ie=new Error().stack.match(/(?<=^ +)at.*/gm))==null?void 0:ie.slice(2))!=null?de:[];if(Ae.length>0){console.error();for(let tt of Ae)console.error(`  ${we(\"38;5;244\",tt)}`)}console.error()}function y(oe,le){if(e.allowDebug===!1)return le;if(Number.isFinite(i)){if(i>=2)return(...we)=>{let fe=p(oe,we);try{return fe.result=le(...we)}catch(Ae){throw fe.error=Ae}finally{C(fe)}};if(i>=1)return(...we)=>{try{return le(...we)}catch(fe){let Ae=p(oe,we);throw Ae.error=fe,C(Ae),fe}}}return le}function B(oe){let le=A(oe);if(!le)throw ri(\"INTERNAL\",\"Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)\");return le}function v(oe){if(oe.name===null)return!0;for(let le of r.dependencyTreeRoots)if(le.name===oe.name&&le.reference===oe.reference)return!0;return!1}let D=new Set([\"default\",\"node\",\"require\",...wAe(\"--conditions\")]);function L(oe,le=D){let we=re(x.join(oe,\"internal.js\"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(we===null)throw ri(\"INTERNAL\",`The locator that owns the \"${oe}\" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:fe}=B(we),Ae=x.join(fe,xt.manifest);if(!e.fakeFs.existsSync(Ae))return null;let qe=JSON.parse(e.fakeFs.readFileSync(Ae,\"utf8\")),ne=x.contains(fe,oe);if(ne===null)throw ri(\"INTERNAL\",\"unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)\");a.test(ne)||(ne=`./${ne}`);let Y;try{Y=iAe(qe,x.normalize(ne),{conditions:le,unsafe:!0})}catch(pe){throw ri(\"EXPORTS_RESOLUTION_FAILED\",pe.message,{unqualifiedPath:lo(oe),locator:we,pkgJson:qe,subpath:lo(ne),conditions:le},\"ERR_PACKAGE_PATH_NOT_EXPORTED\")}return typeof Y==\"string\"?x.join(fe,Y):null}function H(oe,le,{extensions:we}){let fe;try{le.push(oe),fe=e.fakeFs.statSync(oe)}catch{}if(fe&&!fe.isDirectory())return e.fakeFs.realpathSync(oe);if(fe&&fe.isDirectory()){let Ae;try{Ae=JSON.parse(e.fakeFs.readFileSync(x.join(oe,xt.manifest),\"utf8\"))}catch{}let qe;if(Ae&&Ae.main&&(qe=x.resolve(oe,Ae.main)),qe&&qe!==oe){let ne=H(qe,le,{extensions:we});if(ne!==null)return ne}}for(let Ae=0,qe=we.length;Ae<qe;Ae++){let ne=`${oe}${we[Ae]}`;if(le.push(ne),e.fakeFs.existsSync(ne))return ne}if(fe&&fe.isDirectory())for(let Ae=0,qe=we.length;Ae<qe;Ae++){let ne=x.format({dir:oe,name:\"index\",ext:we[Ae]});if(le.push(ne),e.fakeFs.existsSync(ne))return ne}return null}function j(oe){let le=new eE.Module(oe,null);return le.filename=oe,le.paths=eE.Module._nodeModulePaths(oe),le}function $(oe,le){return le.endsWith(\"/\")&&(le=x.join(le,\"internal.js\")),eE.Module._resolveFilename(K.fromPortablePath(oe),j(K.fromPortablePath(le)),!1,{plugnplay:!1})}function V(oe){if(g===null)return!1;let le=x.contains(r.basePath,oe);return le===null?!1:!!g.test(le.replace(/\\/$/,\"\"))}let W={std:3,resolveVirtual:1,getAllLocators:1},Z=l;function A({name:oe,reference:le}){let we=f.get(oe);if(!we)return null;let fe=we.get(le);return fe||null}function ae({name:oe,reference:le}){let we=[];for(let[fe,Ae]of f)if(fe!==null)for(let[qe,ne]of Ae)qe===null||ne.packageDependencies.get(oe)!==le||fe===oe&&qe===le||we.push({name:fe,reference:qe});return we}function ge(oe,le){let we=new Map,fe=new Set,Ae=ne=>{let Y=JSON.stringify(ne.name);if(fe.has(Y))return;fe.add(Y);let pe=ae(ne);for(let ie of pe)if(B(ie).packagePeers.has(oe))Ae(ie);else{let tt=we.get(ie.name);typeof tt>\"u\"&&we.set(ie.name,tt=new Set),tt.add(ie.reference)}};Ae(le);let qe=[];for(let ne of[...we.keys()].sort())for(let Y of[...we.get(ne)].sort())qe.push({name:ne,reference:Y});return qe}function re(oe,{resolveIgnored:le=!1,includeDiscardFromLookup:we=!1}={}){if(V(oe)&&!le)return null;let fe=x.relative(r.basePath,oe);fe.match(s)||(fe=`./${fe}`),fe.endsWith(\"/\")||(fe=`${fe}/`);do{let Ae=h.get(fe);if(typeof Ae>\"u\"||Ae.discardFromLookup&&!we){fe=fe.substring(0,fe.lastIndexOf(\"/\",fe.length-2)+1);continue}return Ae.locator}while(fe!==\"\");return null}function O(oe){try{return e.fakeFs.readFileSync(K.toPortablePath(oe),\"utf8\")}catch(le){if(le.code===\"ENOENT\")return;throw le}}function F(oe,le,{considerBuiltins:we=!0}={}){if(oe.startsWith(\"#\"))throw new Error(\"resolveToUnqualified can not handle private import mappings\");if(oe===\"pnpapi\")return K.toPortablePath(e.pnpapiResolution);if(we&&MQ(oe))return null;let fe=lo(oe),Ae=le&&lo(le);if(le&&V(le)&&(!x.isAbsolute(oe)||re(oe)===null)){let Y=$(oe,le);if(Y===!1)throw ri(\"BUILTIN_NODE_RESOLUTION_FAILED\",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp)\n\nRequire request: \"${fe}\"\nRequired by: ${Ae}\n`,{request:fe,issuer:Ae});return K.toPortablePath(Y)}let qe,ne=oe.match(n);if(ne){if(!le)throw ri(\"API_ERROR\",\"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute\",{request:fe,issuer:Ae});let[,Y,pe]=ne,ie=re(le);if(!ie){let hr=$(oe,le);if(hr===!1)throw ri(\"BUILTIN_NODE_RESOLUTION_FAILED\",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree).\n\nRequire path: \"${fe}\"\nRequired by: ${Ae}\n`,{request:fe,issuer:Ae});return K.toPortablePath(hr)}let tt=B(ie).packageDependencies.get(Y),Pt=null;if(tt==null&&ie.name!==null){let hr=r.fallbackExclusionList.get(ie.name);if(!hr||!hr.has(ie.reference)){for(let ni=0,Ls=c.length;ni<Ls;++ni){let Ei=B(c[ni]).packageDependencies.get(Y);if(Ei!=null){t?Pt=Ei:tt=Ei;break}}if(r.enableTopLevelFallback&&tt==null&&Pt===null){let ni=r.fallbackPool.get(Y);ni!=null&&(Pt=ni)}}}let It=null;if(tt===null)if(v(ie))It=ri(\"MISSING_PEER_DEPENDENCY\",`Your application tried to access ${Y} (a peer dependency); this isn't allowed as there is no ancestor to satisfy the requirement. Use a devDependency if needed.\n\nRequired package: ${Y}${Y!==fe?` (via \"${fe}\")`:\"\"}\nRequired by: ${Ae}\n`,{request:fe,issuer:Ae,dependencyName:Y});else{let hr=ge(Y,ie);hr.every(fi=>v(fi))?It=ri(\"MISSING_PEER_DEPENDENCY\",`${ie.name} tried to access ${Y} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound.\n\nRequired package: ${Y}${Y!==fe?` (via \"${fe}\")`:\"\"}\nRequired by: ${ie.name}@${ie.reference} (via ${Ae})\n${hr.map(fi=>`Ancestor breaking the chain: ${fi.name}@${fi.reference}\n`).join(\"\")}\n`,{request:fe,issuer:Ae,issuerLocator:Object.assign({},ie),dependencyName:Y,brokenAncestors:hr}):It=ri(\"MISSING_PEER_DEPENDENCY\",`${ie.name} tried to access ${Y} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound.\n\nRequired package: ${Y}${Y!==fe?` (via \"${fe}\")`:\"\"}\nRequired by: ${ie.name}@${ie.reference} (via ${Ae})\n\n${hr.map(fi=>`Ancestor breaking the chain: ${fi.name}@${fi.reference}\n`).join(\"\")}\n`,{request:fe,issuer:Ae,issuerLocator:Object.assign({},ie),dependencyName:Y,brokenAncestors:hr})}else tt===void 0&&(!we&&MQ(oe)?v(ie)?It=ri(\"UNDECLARED_DEPENDENCY\",`Your application tried to access ${Y}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${Y} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound.\n\nRequired package: ${Y}${Y!==fe?` (via \"${fe}\")`:\"\"}\nRequired by: ${Ae}\n`,{request:fe,issuer:Ae,dependencyName:Y}):It=ri(\"UNDECLARED_DEPENDENCY\",`${ie.name} tried to access ${Y}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${Y} isn't otherwise declared in ${ie.name}'s dependencies, this makes the require call ambiguous and unsound.\n\nRequired package: ${Y}${Y!==fe?` (via \"${fe}\")`:\"\"}\nRequired by: ${Ae}\n`,{request:fe,issuer:Ae,issuerLocator:Object.assign({},ie),dependencyName:Y}):v(ie)?It=ri(\"UNDECLARED_DEPENDENCY\",`Your application tried to access ${Y}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound.\n\nRequired package: ${Y}${Y!==fe?` (via \"${fe}\")`:\"\"}\nRequired by: ${Ae}\n`,{request:fe,issuer:Ae,dependencyName:Y}):It=ri(\"UNDECLARED_DEPENDENCY\",`${ie.name} tried to access ${Y}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound.\n\nRequired package: ${Y}${Y!==fe?` (via \"${fe}\")`:\"\"}\nRequired by: ${ie.name}@${ie.reference} (via ${Ae})\n`,{request:fe,issuer:Ae,issuerLocator:Object.assign({},ie),dependencyName:Y}));if(tt==null){if(Pt===null||It===null)throw It||new Error(\"Assertion failed: Expected an error to have been set\");tt=Pt;let hr=It.message.replace(/\\n.*/g,\"\");It.message=hr,!u.has(hr)&&i!==0&&(u.add(hr),process.emitWarning(It))}let Or=Array.isArray(tt)?{name:tt[0],reference:tt[1]}:{name:Y,reference:tt},ii=B(Or);if(!ii.packageLocation)throw ri(\"MISSING_DEPENDENCY\",`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod.\n\nRequired package: ${Or.name}@${Or.reference}${Or.name!==fe?` (via \"${fe}\")`:\"\"}\nRequired by: ${ie.name}@${ie.reference} (via ${Ae})\n`,{request:fe,issuer:Ae,dependencyLocator:Object.assign({},Or)});let gi=ii.packageLocation;pe?qe=x.join(gi,pe):qe=gi}else if(x.isAbsolute(oe))qe=x.normalize(oe);else{if(!le)throw ri(\"API_ERROR\",\"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute\",{request:fe,issuer:Ae});let Y=x.resolve(le);le.match(o)?qe=x.normalize(x.join(Y,oe)):qe=x.normalize(x.join(x.dirname(Y),oe))}return x.normalize(qe)}function ue(oe,le,we=D){if(s.test(oe))return le;let fe=L(le,we);return fe?x.normalize(fe):le}function he(oe,{extensions:le=Object.keys(eE.Module._extensions)}={}){var Ae,qe;let we=[],fe=H(oe,we,{extensions:le});if(fe)return x.normalize(fe);{bAe(we.map(pe=>K.fromPortablePath(pe)));let ne=lo(oe),Y=re(oe);if(Y){let{packageLocation:pe}=B(Y),ie=!0;try{e.fakeFs.accessSync(pe)}catch(de){if((de==null?void 0:de.code)===\"ENOENT\")ie=!1;else{let tt=((qe=(Ae=de==null?void 0:de.message)!=null?Ae:de)!=null?qe:\"empty exception thrown\").replace(/^[A-Z]/,Pt=>Pt.toLowerCase());throw ri(\"QUALIFIED_PATH_RESOLUTION_FAILED\",`Required package exists but could not be accessed (${tt}).\n\nMissing package: ${Y.name}@${Y.reference}\nExpected package location: ${lo(pe)}\n`,{unqualifiedPath:ne,extensions:le})}}if(!ie){let de=pe.includes(\"/unplugged/\")?\"Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).\":\"Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.\";throw ri(\"QUALIFIED_PATH_RESOLUTION_FAILED\",`${de}\n\nMissing package: ${Y.name}@${Y.reference}\nExpected package location: ${lo(pe)}\n`,{unqualifiedPath:ne,extensions:le})}}throw ri(\"QUALIFIED_PATH_RESOLUTION_FAILED\",`Qualified path resolution failed: we looked for the following paths, but none could be accessed.\n\nSource path: ${ne}\n${we.map(pe=>`Not found: ${lo(pe)}\n`).join(\"\")}`,{unqualifiedPath:ne,extensions:le})}}function ke(oe,le,we){var Ae;if(!le)throw new Error(\"Assertion failed: An issuer is required to resolve private import mappings\");let fe=CAe({name:oe,base:(0,KQ.pathToFileURL)(K.fromPortablePath(le)),conditions:(Ae=we.conditions)!=null?Ae:D,readFileSyncFn:O});if(fe instanceof URL)return he(K.toPortablePath((0,KQ.fileURLToPath)(fe)),{extensions:we.extensions});if(fe.startsWith(\"#\"))throw new Error(\"Mapping from one private import to another isn't allowed\");return Fe(fe,le,we)}function Fe(oe,le,we={}){try{if(oe.startsWith(\"#\"))return ke(oe,le,we);let{considerBuiltins:fe,extensions:Ae,conditions:qe}=we,ne=F(oe,le,{considerBuiltins:fe});if(oe===\"pnpapi\")return ne;if(ne===null)return null;let Y=()=>le!==null?V(le):!1,pe=(!fe||!MQ(oe))&&!Y()?ue(oe,ne,qe):ne;return he(pe,{extensions:Ae})}catch(fe){throw Object.prototype.hasOwnProperty.call(fe,\"pnpCode\")&&Object.assign(fe.data,{request:lo(oe),issuer:le&&lo(le)}),fe}}function Ne(oe){let le=x.normalize(oe),we=Br.resolveVirtual(le);return we!==le?we:null}return{VERSIONS:W,topLevel:Z,getLocator:(oe,le)=>Array.isArray(le)?{name:le[0],reference:le[1]}:{name:oe,reference:le},getDependencyTreeRoots:()=>[...r.dependencyTreeRoots],getAllLocators(){let oe=[];for(let[le,we]of f)for(let fe of we.keys())le!==null&&fe!==null&&oe.push({name:le,reference:fe});return oe},getPackageInformation:oe=>{let le=A(oe);if(le===null)return null;let we=K.fromPortablePath(le.packageLocation);return{...le,packageLocation:we}},findPackageLocator:oe=>re(K.toPortablePath(oe)),resolveToUnqualified:y(\"resolveToUnqualified\",(oe,le,we)=>{let fe=le!==null?K.toPortablePath(le):null,Ae=F(K.toPortablePath(oe),fe,we);return Ae===null?null:K.fromPortablePath(Ae)}),resolveUnqualified:y(\"resolveUnqualified\",(oe,le)=>K.fromPortablePath(he(K.toPortablePath(oe),le))),resolveRequest:y(\"resolveRequest\",(oe,le,we)=>{let fe=le!==null?K.toPortablePath(le):null,Ae=Fe(K.toPortablePath(oe),fe,we);return Ae===null?null:K.fromPortablePath(Ae)}),resolveVirtual:y(\"resolveVirtual\",oe=>{let le=Ne(K.toPortablePath(oe));return le!==null?K.fromPortablePath(le):null})}}var Dwt=(0,vAe.promisify)(SAe.readFile);var xAe=(r,e,t)=>{let i=zm(r),n=fO(i,{basePath:e}),s=K.join(e,xt.pnpCjs);return yO(n,{fakeFs:t,pnpapiResolution:s})};var BO=Pe(DAe());var uo={};ut(uo,{checkAndReportManifestCompatibility:()=>RAe,checkManifestCompatibility:()=>kAe,extractBuildScripts:()=>UQ,getExtractHint:()=>QO,hasBindingGyp:()=>bO});function kAe(r){return P.isPackageCompatible(r,Cs.getArchitectureSet())}function RAe(r,e,{configuration:t,report:i}){return kAe(r)?!0:(i==null||i.reportWarningOnce(76,`${P.prettyLocator(t,r)} The ${Cs.getArchitectureName()} architecture is incompatible with this package, ${e} skipped.`),!1)}function UQ(r,e,t,{configuration:i,report:n}){let s=[];for(let a of[\"preinstall\",\"install\",\"postinstall\"])e.manifest.scripts.has(a)&&s.push([0,a]);return!e.manifest.scripts.has(\"install\")&&e.misc.hasBindingGyp&&s.push([1,\"node-gyp rebuild\"]),s.length===0?[]:r.linkType!==\"HARD\"?(n==null||n.reportWarningOnce(6,`${P.prettyLocator(i,r)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`),[]):t&&t.built===!1?(n==null||n.reportInfoOnce(5,`${P.prettyLocator(i,r)} lists build scripts, but its build has been explicitly disabled through configuration.`),[]):!i.get(\"enableScripts\")&&!t.built?(n==null||n.reportWarningOnce(4,`${P.prettyLocator(i,r)} lists build scripts, but all build scripts have been disabled.`),[]):RAe(r,\"build\",{configuration:i,report:n})?s:[]}var t8e=new Set([\".exe\",\".h\",\".hh\",\".hpp\",\".c\",\".cc\",\".cpp\",\".java\",\".jar\",\".node\"]);function QO(r){return r.packageFs.getExtractHint({relevantExtensions:t8e})}function bO(r){let e=x.join(r.prefixPath,\"binding.gyp\");return r.packageFs.existsSync(e)}var rE={};ut(rE,{getUnpluggedPath:()=>tE});function tE(r,{configuration:e}){return x.resolve(e.get(\"pnpUnpluggedFolder\"),P.slugifyLocator(r))}var r8e=new Set([P.makeIdent(null,\"open\").identHash,P.makeIdent(null,\"opn\").identHash]),ll=class{constructor(){this.mode=\"strict\";this.pnpCache=new Map}supportsPackage(e,t){return this.isEnabled(t)}async findPackageLocation(e,t){if(!this.isEnabled(t))throw new Error(\"Assertion failed: Expected the PnP linker to be enabled\");let i=cl(t.project).cjs;if(!M.existsSync(i))throw new be(`The project in ${ee.pretty(t.project.configuration,`${t.project.cwd}/package.json`,ee.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=Ie.getFactoryWithDefault(this.pnpCache,i,()=>Ie.dynamicRequire(i,{cachingStrategy:Ie.CachingStrategy.FsTime})),s={name:P.stringifyIdent(e),reference:e.reference},o=n.getPackageInformation(s);if(!o)throw new be(`Couldn't find ${P.prettyLocator(t.project.configuration,e)} in the currently installed PnP map - running an install might help`);return K.toPortablePath(o.packageLocation)}async findPackageLocator(e,t){if(!this.isEnabled(t))return null;let i=cl(t.project).cjs;if(!M.existsSync(i))return null;let s=Ie.getFactoryWithDefault(this.pnpCache,i,()=>Ie.dynamicRequire(i,{cachingStrategy:Ie.CachingStrategy.FsTime})).findPackageLocator(K.fromPortablePath(e));return s?P.makeLocator(P.parseIdent(s.name),s.reference):null}makeInstaller(e){return new Fu(e)}isEnabled(e){return!(e.project.configuration.get(\"nodeLinker\")!==\"pnp\"||e.project.configuration.get(\"pnpMode\")!==this.mode)}},Fu=class{constructor(e){this.opts=e;this.mode=\"strict\";this.asyncActions=new Ie.AsyncActions(10);this.packageRegistry=new Map;this.virtualTemplates=new Map;this.isESMLoaderRequired=!1;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=e}getCustomDataKey(){return JSON.stringify({name:\"PnpInstaller\",version:2})}attachCustomData(e){this.customData=e}async installPackage(e,t,i){let n=P.stringifyIdent(e),s=e.reference,o=!!this.opts.project.tryWorkspaceByLocator(e),a=P.isVirtualLocator(e),l=e.peerDependencies.size>0&&!a,c=!l&&!o,u=!l&&e.linkType!==\"SOFT\",g,f;if(c||u){let D=a?P.devirtualizeLocator(e):e;g=this.customData.store.get(D.locatorHash),typeof g>\"u\"&&(g=await i8e(t),e.linkType===\"HARD\"&&this.customData.store.set(D.locatorHash,g)),g.manifest.type===\"module\"&&(this.isESMLoaderRequired=!0),f=this.opts.project.getDependencyMeta(D,e.version)}let h=c?UQ(e,g,f,{configuration:this.opts.project.configuration,report:this.opts.report}):[],p=u?await this.unplugPackageIfNeeded(e,g,t,f,i):t.packageFs;if(x.isAbsolute(t.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${t.prefixPath}) to be relative to the parent`);let C=x.resolve(p.getRealPath(),t.prefixPath),y=SO(this.opts.project.cwd,C),B=new Map,v=new Set;if(a){for(let D of e.peerDependencies.values())B.set(P.stringifyIdent(D),null),v.add(P.stringifyIdent(D));if(!o){let D=P.devirtualizeLocator(e);this.virtualTemplates.set(D.locatorHash,{location:SO(this.opts.project.cwd,Br.resolveVirtual(C)),locator:D})}}return Ie.getMapWithDefault(this.packageRegistry,n).set(s,{packageLocation:y,packageDependencies:B,packagePeers:v,linkType:e.linkType,discardFromLookup:t.discardFromLookup||!1}),{packageLocation:C,buildDirective:h.length>0?h:null}}async attachInternalDependencies(e,t){let i=this.getPackageInformation(e);for(let[n,s]of t){let o=P.areIdentsEqual(n,s)?s.reference:[P.stringifyIdent(s),s.reference];i.packageDependencies.set(P.stringifyIdent(n),o)}}async attachExternalDependents(e,t){for(let i of t)this.getDiskInformation(i).packageDependencies.set(P.stringifyIdent(e),e.reference)}async finalizeInstall(){if(this.opts.project.configuration.get(\"pnpMode\")!==this.mode)return;let e=cl(this.opts.project);if(M.existsSync(e.cjsLegacy)&&(this.opts.report.reportWarning(0,`Removing the old ${ee.pretty(this.opts.project.configuration,xt.pnpJs,ee.Type.PATH)} file. You might need to manually update existing references to reference the new ${ee.pretty(this.opts.project.configuration,xt.pnpCjs,ee.Type.PATH)} file. If you use Editor SDKs, you'll have to rerun ${ee.pretty(this.opts.project.configuration,\"yarn sdks\",ee.Type.CODE)}.`),await M.removePromise(e.cjsLegacy)),this.isEsmEnabled()||await M.removePromise(e.esmLoader),this.opts.project.configuration.get(\"nodeLinker\")!==\"pnp\"){await M.removePromise(e.cjs),await M.removePromise(this.opts.project.configuration.get(\"pnpDataPath\")),await M.removePromise(e.esmLoader),await M.removePromise(this.opts.project.configuration.get(\"pnpUnpluggedFolder\"));return}for(let{locator:u,location:g}of this.virtualTemplates.values())Ie.getMapWithDefault(this.packageRegistry,P.stringifyIdent(u)).set(u.reference,{packageLocation:g,packageDependencies:new Map,packagePeers:new Set,linkType:\"SOFT\",discardFromLookup:!1});this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));let t=this.opts.project.configuration.get(\"pnpFallbackMode\"),i=this.opts.project.workspaces.map(({anchoredLocator:u})=>({name:P.stringifyIdent(u),reference:u.reference})),n=t!==\"none\",s=[],o=new Map,a=Ie.buildIgnorePattern([\".yarn/sdks/**\",...this.opts.project.configuration.get(\"pnpIgnorePatterns\")]),l=this.packageRegistry,c=this.opts.project.configuration.get(\"pnpShebang\");if(t===\"dependencies-only\")for(let u of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(u)&&s.push({name:P.stringifyIdent(u),reference:u.reference});return await this.asyncActions.wait(),await this.finalizeInstallWithPnp({dependencyTreeRoots:i,enableTopLevelFallback:n,fallbackExclusionList:s,fallbackPool:o,ignorePattern:a,packageRegistry:l,shebang:c}),{customData:this.customData}}async transformPnpSettings(e){}isEsmEnabled(){if(this.opts.project.configuration.sources.has(\"pnpEnableEsmLoader\"))return this.opts.project.configuration.get(\"pnpEnableEsmLoader\");if(this.isESMLoaderRequired)return!0;for(let e of this.opts.project.workspaces)if(e.manifest.type===\"module\")return!0;return!1}async finalizeInstallWithPnp(e){let t=cl(this.opts.project),i=this.opts.project.configuration.get(\"pnpDataPath\"),n=await this.locateNodeModules(e.ignorePattern);if(n.length>0){this.opts.report.reportWarning(31,\"One or more node_modules have been detected and will be removed. This operation may take some time.\");for(let o of n)await M.removePromise(o)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get(\"pnpEnableInlining\")){let o=tAe(e);await M.changeFilePromise(t.cjs,o,{automaticNewlines:!0,mode:493}),await M.removePromise(i)}else{let o=x.relative(x.dirname(t.cjs),i),{dataFile:a,loaderFile:l}=rAe({...e,dataLocation:o});await M.changeFilePromise(t.cjs,l,{automaticNewlines:!0,mode:493}),await M.changeFilePromise(i,a,{automaticNewlines:!0,mode:420})}this.isEsmEnabled()&&(this.opts.report.reportWarning(0,\"ESM support for PnP uses the experimental loader API and is therefore experimental\"),await M.changeFilePromise(t.esmLoader,(0,BO.default)(),{automaticNewlines:!0,mode:420}));let s=this.opts.project.configuration.get(\"pnpUnpluggedFolder\");if(this.unpluggedPaths.size===0)await M.removePromise(s);else for(let o of await M.readdirPromise(s)){let a=x.resolve(s,o);this.unpluggedPaths.has(a)||await M.removePromise(a)}}async locateNodeModules(e){let t=[],i=e?new RegExp(e):null;for(let n of this.opts.project.workspaces){let s=x.join(n.cwd,\"node_modules\");if(i&&i.test(x.relative(this.opts.project.cwd,n.cwd))||!M.existsSync(s))continue;let o=await M.readdirPromise(s,{withFileTypes:!0}),a=o.filter(l=>!l.isDirectory()||l.name===\".bin\"||!l.name.startsWith(\".\"));if(a.length===o.length)t.push(s);else for(let l of a)t.push(x.join(s,l.name))}return t}async unplugPackageIfNeeded(e,t,i,n,s){return this.shouldBeUnplugged(e,t,n)?this.unplugPackage(e,i,s):i.packageFs}shouldBeUnplugged(e,t,i){return typeof i.unplugged<\"u\"?i.unplugged:r8e.has(e.identHash)||e.conditions!=null?!0:t.manifest.preferUnplugged!==null?t.manifest.preferUnplugged:!!(UQ(e,t,i,{configuration:this.opts.project.configuration}).length>0||t.misc.extractHint)}async unplugPackage(e,t,i){let n=tE(e,{configuration:this.opts.project.configuration});return this.opts.project.disabledLocators.has(e.locatorHash)?new yo(n,{baseFs:t.packageFs,pathUtils:x}):(this.unpluggedPaths.add(n),i.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{let s=x.join(n,t.prefixPath,\".ready\");await M.existsPromise(s)||(this.opts.project.storedBuildState.delete(e.locatorHash),await M.mkdirPromise(n,{recursive:!0}),await M.copyPromise(n,Oe.dot,{baseFs:t.packageFs,overwrite:!1}),await M.writeFilePromise(s,\"\"))})),new jt(n))}getPackageInformation(e){let t=P.stringifyIdent(e),i=e.reference,n=this.packageRegistry.get(t);if(!n)throw new Error(`Assertion failed: The package information store should have been available (for ${P.prettyIdent(this.opts.project.configuration,e)})`);let s=n.get(i);if(!s)throw new Error(`Assertion failed: The package information should have been available (for ${P.prettyLocator(this.opts.project.configuration,e)})`);return s}getDiskInformation(e){let t=Ie.getMapWithDefault(this.packageRegistry,\"@@disk\"),i=SO(this.opts.project.cwd,e);return Ie.getFactoryWithDefault(t,i,()=>({packageLocation:i,packageDependencies:new Map,packagePeers:new Set,linkType:\"SOFT\",discardFromLookup:!1}))}};function SO(r,e){let t=x.relative(r,e);return t.match(/^\\.{0,2}\\//)||(t=`./${t}`),t.replace(/\\/?$/,\"/\")}async function i8e(r){var i;let e=(i=await ot.tryFind(r.prefixPath,{baseFs:r.packageFs}))!=null?i:new ot,t=new Set([\"preinstall\",\"install\",\"postinstall\"]);for(let n of e.scripts.keys())t.has(n)||e.scripts.delete(n);return{manifest:{scripts:e.scripts,preferUnplugged:e.preferUnplugged,type:e.type},misc:{extractHint:QO(r),hasBindingGyp:bO(r)}}}var FAe=Pe(yn());var Nu=class extends De{constructor(){super(...arguments);this.all=z.Boolean(\"-A,--all\",!1,{description:\"Unplug direct dependencies from the entire project\"});this.recursive=z.Boolean(\"-R,--recursive\",!1,{description:\"Unplug both direct and transitive dependencies\"});this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);if(t.get(\"nodeLinker\")!==\"pnp\")throw new be(\"This command can only be used if the `nodeLinker` option is set to `pnp`\");await i.restoreInstallState();let o=new Set(this.patterns),a=this.patterns.map(h=>{let p=P.parseDescriptor(h),C=p.range!==\"unknown\"?p:P.makeDescriptor(p,\"*\");if(!vt.validRange(C.range))throw new be(`The range of the descriptor patterns must be a valid semver range (${P.prettyDescriptor(t,C)})`);return y=>{let B=P.stringifyIdent(y);return!FAe.default.isMatch(B,P.stringifyIdent(C))||y.version&&!vt.satisfiesWithPrereleases(y.version,C.range)?!1:(o.delete(h),!0)}}),l=()=>{let h=[];for(let p of i.storedPackages.values())!i.tryWorkspaceByLocator(p)&&!P.isVirtualLocator(p)&&a.some(C=>C(p))&&h.push(p);return h},c=h=>{let p=new Set,C=[],y=(B,v)=>{if(!p.has(B.locatorHash)&&(p.add(B.locatorHash),!i.tryWorkspaceByLocator(B)&&a.some(D=>D(B))&&C.push(B),!(v>0&&!this.recursive)))for(let D of B.dependencies.values()){let L=i.storedResolutions.get(D.descriptorHash);if(!L)throw new Error(\"Assertion failed: The resolution should have been registered\");let H=i.storedPackages.get(L);if(!H)throw new Error(\"Assertion failed: The package should have been registered\");y(H,v+1)}};for(let B of h){let v=i.storedPackages.get(B.anchoredLocator.locatorHash);if(!v)throw new Error(\"Assertion failed: The package should have been registered\");y(v,0)}return C},u,g;if(this.all&&this.recursive?(u=l(),g=\"the project\"):this.all?(u=c(i.workspaces),g=\"any workspace\"):(u=c([n]),g=\"this workspace\"),o.size>1)throw new be(`Patterns ${ee.prettyList(t,o,ee.Type.CODE)} don't match any packages referenced by ${g}`);if(o.size>0)throw new be(`Pattern ${ee.prettyList(t,o,ee.Type.CODE)} doesn't match any packages referenced by ${g}`);return u=Ie.sortMap(u,h=>P.stringifyLocator(h)),(await Ge.start({configuration:t,stdout:this.context.stdout,json:this.json},async h=>{var p;for(let C of u){let y=(p=C.version)!=null?p:\"unknown\",B=i.topLevelWorkspace.manifest.ensureDependencyMeta(P.makeDescriptor(C,y));B.unplugged=!0,h.reportInfo(0,`Will unpack ${P.prettyLocator(t,C)} to ${ee.pretty(t,tE(C,{configuration:t}),ee.Type.PATH)}`),h.reportJson({locator:P.stringifyLocator(C),version:y})}await i.topLevelWorkspace.persistManifest(),h.reportSeparator(),await i.install({cache:s,report:h})})).exitCode()}};Nu.paths=[[\"unplug\"]],Nu.usage=ve.Usage({description:\"force the unpacking of a list of packages\",details:\"\\n      This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\\n\\n      A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\\n\\n      Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\\n\\n      By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\\n\\n      This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\\n    \",examples:[[\"Unplug the lodash dependency from the active workspace\",\"yarn unplug lodash\"],[\"Unplug all instances of lodash referenced by any workspace\",\"yarn unplug lodash -A\"],[\"Unplug all instances of lodash referenced by the active workspace and its dependencies\",\"yarn unplug lodash -R\"],[\"Unplug all instances of lodash, anywhere\",\"yarn unplug lodash -AR\"],[\"Unplug one specific version of lodash\",\"yarn unplug lodash@1.2.3\"],[\"Unplug all packages with the `@babel` scope\",\"yarn unplug '@babel/*'\"],[\"Unplug all packages (only for testing, not recommended)\",\"yarn unplug -R '*'\"]]});var cl=r=>({cjs:x.join(r.cwd,xt.pnpCjs),cjsLegacy:x.join(r.cwd,xt.pnpJs),esmLoader:x.join(r.cwd,\".pnp.loader.mjs\")}),TAe=r=>/\\s/.test(r)?JSON.stringify(r):r;async function n8e(r,e,t){let i=cl(r),n=`--require ${TAe(K.fromPortablePath(i.cjs))}`;if(M.existsSync(i.esmLoader)&&(n=`${n} --experimental-loader ${(0,LAe.pathToFileURL)(K.fromPortablePath(i.esmLoader)).href}`),i.cjs.includes(\" \")&&NAe.default.lt(process.versions.node,\"12.0.0\"))throw new Error(`Expected the build location to not include spaces when using Node < 12.0.0 (${process.versions.node})`);if(M.existsSync(i.cjs)){let s=e.NODE_OPTIONS||\"\",o=/\\s*--require\\s+\\S*\\.pnp\\.c?js\\s*/g,a=/\\s*--experimental-loader\\s+\\S*\\.pnp\\.loader\\.mjs\\s*/;s=s.replace(o,\" \").replace(a,\" \").trim(),s=s?`${n} ${s}`:n,e.NODE_OPTIONS=s}}async function s8e(r,e){let t=cl(r);e(t.cjs),e(t.esmLoader),e(r.configuration.get(\"pnpDataPath\")),e(r.configuration.get(\"pnpUnpluggedFolder\"))}var o8e={hooks:{populateYarnPaths:s8e,setupScriptEnvironment:n8e},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: \"pnp\", \"node-modules\"',type:\"STRING\",default:\"pnp\"},pnpMode:{description:\"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.\",type:\"STRING\",default:\"strict\"},pnpShebang:{description:\"String to prepend to the generated PnP script\",type:\"STRING\",default:\"#!/usr/bin/env node\"},pnpIgnorePatterns:{description:\"Array of glob patterns; files matching them will use the classic resolution\",type:\"STRING\",default:[],isArray:!0},pnpEnableEsmLoader:{description:\"If true, Yarn will generate an ESM loader (`.pnp.loader.mjs`). If this is not explicitly set Yarn tries to automatically detect whether ESM support is required.\",type:\"BOOLEAN\",default:!1},pnpEnableInlining:{description:\"If true, the PnP data will be inlined along with the generated loader\",type:\"BOOLEAN\",default:!0},pnpFallbackMode:{description:\"If true, the generated PnP loader will follow the top-level fallback rule\",type:\"STRING\",default:\"dependencies-only\"},pnpUnpluggedFolder:{description:\"Folder where the unplugged packages must be stored\",type:\"ABSOLUTE_PATH\",default:\"./.yarn/unplugged\"},pnpDataPath:{description:\"Path of the file where the PnP data (used by the loader) must be written\",type:\"ABSOLUTE_PATH\",default:\"./.pnp.data.json\"}},linkers:[ll],commands:[Nu]},a8e=o8e;var jAe=Pe(HAe());var NO=Pe(J(\"crypto\")),qAe=Pe(J(\"fs\")),JAe=1,kr=\"node_modules\",HQ=\".bin\",WAe=\".yarn-state.yml\",Q8e=1e3;var GQ=class{constructor(){this.installStateCache=new Map}supportsPackage(e,t){return this.isEnabled(t)}async findPackageLocation(e,t){if(!this.isEnabled(t))throw new Error(\"Assertion failed: Expected the node-modules linker to be enabled\");let i=t.project.tryWorkspaceByLocator(e);if(i)return i.cwd;let n=await Ie.getFactoryWithDefault(this.installStateCache,t.project.cwd,async()=>await FO(t.project,{unrollAliases:!0}));if(n===null)throw new be(\"Couldn't find the node_modules state file - running an install might help (findPackageLocation)\");let s=n.locatorMap.get(P.stringifyLocator(e));if(!s){let l=new be(`Couldn't find ${P.prettyLocator(t.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw l.code=\"LOCATOR_NOT_INSTALLED\",l}let o=s.locations.sort((l,c)=>l.split(x.sep).length-c.split(x.sep).length),a=x.join(t.project.configuration.startingCwd,kr);return o.find(l=>x.contains(a,l))||s.locations[0]}async findPackageLocator(e,t){if(!this.isEnabled(t))return null;let i=await Ie.getFactoryWithDefault(this.installStateCache,t.project.cwd,async()=>await FO(t.project,{unrollAliases:!0}));if(i===null)return null;let{locationRoot:n,segments:s}=YQ(x.resolve(e),{skipPrefix:t.project.cwd}),o=i.locationTree.get(n);if(!o)return null;let a=o.locator;for(let l of s){if(o=o.children.get(l),!o)break;a=o.locator||a}return P.parseLocator(a)}makeInstaller(e){return new RO(e)}isEnabled(e){return e.project.configuration.get(\"nodeLinker\")===\"node-modules\"}},RO=class{constructor(e){this.opts=e;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}getCustomDataKey(){return JSON.stringify({name:\"NodeModulesInstaller\",version:2})}attachCustomData(e){this.customData=e}async installPackage(e,t){var u;let i=x.resolve(t.packageFs.getRealPath(),t.prefixPath),n=this.customData.store.get(e.locatorHash);if(typeof n>\"u\"&&(n=await b8e(e,t),e.linkType===\"HARD\"&&this.customData.store.set(e.locatorHash,n)),!P.isPackageCompatible(e,this.opts.project.configuration.getSupportedArchitectures()))return{packageLocation:null,buildDirective:null};let s=new Map,o=new Set;s.has(P.stringifyIdent(e))||s.set(P.stringifyIdent(e),e.reference);let a=e;if(P.isVirtualLocator(e)){a=P.devirtualizeLocator(e);for(let g of e.peerDependencies.values())s.set(P.stringifyIdent(g),null),o.add(P.stringifyIdent(g))}let l={packageLocation:`${K.fromPortablePath(i)}/`,packageDependencies:s,packagePeers:o,linkType:e.linkType,discardFromLookup:(u=t.discardFromLookup)!=null?u:!1};this.localStore.set(e.locatorHash,{pkg:e,customPackageData:n,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:l});let c=t.checksum?t.checksum.substring(t.checksum.indexOf(\"/\")+1):null;return this.realLocatorChecksums.set(a.locatorHash,c),{packageLocation:i,buildDirective:null}}async attachInternalDependencies(e,t){let i=this.localStore.get(e.locatorHash);if(typeof i>\"u\")throw new Error(\"Assertion failed: Expected information object to have been registered\");for(let[n,s]of t){let o=P.areIdentsEqual(n,s)?s.reference:[P.stringifyIdent(s),s.reference];i.pnpNode.packageDependencies.set(P.stringifyIdent(n),o)}}async attachExternalDependents(e,t){throw new Error(\"External dependencies haven't been implemented for the node-modules linker\")}async finalizeInstall(){if(this.opts.project.configuration.get(\"nodeLinker\")!==\"node-modules\")return;let e=new Br({baseFs:new Tn({libzip:await rn(),maxOpenFiles:80,readOnlyArchives:!0})}),t=await FO(this.opts.project),i=this.opts.project.configuration.get(\"nmMode\");(t===null||i!==t.nmMode)&&(this.opts.project.storedBuildState.clear(),t={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:i,mtimeMs:0});let n=new Map(this.opts.project.workspaces.map(f=>{var p,C;let h=this.opts.project.configuration.get(\"nmHoistingLimits\");try{h=Ie.validateEnum(qm,(C=(p=f.manifest.installConfig)==null?void 0:p.hoistingLimits)!=null?C:h)}catch{let B=P.prettyWorkspace(this.opts.project.configuration,f);this.opts.report.reportWarning(57,`${B}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(qm).join(\", \")}, using default: \"${h}\"`)}return[f.relativeCwd,h]})),s=new Map(this.opts.project.workspaces.map(f=>{var p,C;let h=this.opts.project.configuration.get(\"nmSelfReferences\");return h=(C=(p=f.manifest.installConfig)==null?void 0:p.selfReferences)!=null?C:h,[f.relativeCwd,h]})),o={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(f,h)=>Array.isArray(h)?{name:h[0],reference:h[1]}:{name:f,reference:h},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(f=>{let h=f.anchoredLocator;return{name:P.stringifyIdent(f.locator),reference:h.reference}}),getPackageInformation:f=>{let h=f.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:P.makeLocator(P.parseIdent(f.name),f.reference),p=this.localStore.get(h.locatorHash);if(typeof p>\"u\")throw new Error(\"Assertion failed: Expected the package reference to have been registered\");return p.pnpNode},findPackageLocator:f=>{let h=this.opts.project.tryWorkspaceByCwd(K.toPortablePath(f));if(h!==null){let p=h.anchoredLocator;return{name:P.stringifyIdent(p),reference:p.reference}}throw new Error(\"Assertion failed: Unimplemented\")},resolveToUnqualified:()=>{throw new Error(\"Assertion failed: Unimplemented\")},resolveUnqualified:()=>{throw new Error(\"Assertion failed: Unimplemented\")},resolveRequest:()=>{throw new Error(\"Assertion failed: Unimplemented\")},resolveVirtual:f=>K.fromPortablePath(Br.resolveVirtual(K.toPortablePath(f)))},{tree:a,errors:l,preserveSymlinksRequired:c}=Jm(o,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:n,project:this.opts.project,selfReferencesByCwd:s});if(!a){for(let{messageName:f,text:h}of l)this.opts.report.reportError(f,h);return}let u=uO(a);await k8e(t,u,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async f=>{let h=P.parseLocator(f),p=this.localStore.get(h.locatorHash);if(typeof p>\"u\")throw new Error(\"Assertion failed: Expected the slot to exist\");return p.customPackageData.manifest}});let g=[];for(let[f,h]of u.entries()){if(_Ae(f))continue;let p=P.parseLocator(f),C=this.localStore.get(p.locatorHash);if(typeof C>\"u\")throw new Error(\"Assertion failed: Expected the slot to exist\");if(this.opts.project.tryWorkspaceByLocator(C.pkg))continue;let y=uo.extractBuildScripts(C.pkg,C.customPackageData,C.dependencyMeta,{configuration:this.opts.project.configuration,report:this.opts.report});y.length!==0&&g.push({buildLocations:h.locations,locatorHash:p.locatorHash,buildDirective:y})}return c&&this.opts.report.reportWarning(72,`The application uses portals and that's why ${ee.pretty(this.opts.project.configuration,\"--preserve-symlinks\",ee.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:g}}};async function b8e(r,e){var n;let t=(n=await ot.tryFind(e.prefixPath,{baseFs:e.packageFs}))!=null?n:new ot,i=new Set([\"preinstall\",\"install\",\"postinstall\"]);for(let s of t.scripts.keys())i.has(s)||t.scripts.delete(s);return{manifest:{bin:t.bin,scripts:t.scripts},misc:{extractHint:uo.getExtractHint(e),hasBindingGyp:uo.hasBindingGyp(e)}}}async function S8e(r,e,t,i,{installChangedByUser:n}){let s=\"\";s+=`# Warning: This file is automatically generated. Removing it is fine, but will\n`,s+=`# cause your node_modules installation to become invalidated.\n`,s+=`\n`,s+=`__metadata:\n`,s+=`  version: ${JAe}\n`,s+=`  nmMode: ${i.value}\n`;let o=Array.from(e.keys()).sort(),a=P.stringifyLocator(r.topLevelWorkspace.anchoredLocator);for(let u of o){let g=e.get(u);s+=`\n`,s+=`${JSON.stringify(u)}:\n`,s+=`  locations:\n`;for(let f of g.locations){let h=x.contains(r.cwd,f);if(h===null)throw new Error(`Assertion failed: Expected the path to be within the project (${f})`);s+=`    - ${JSON.stringify(h)}\n`}if(g.aliases.length>0){s+=`  aliases:\n`;for(let f of g.aliases)s+=`    - ${JSON.stringify(f)}\n`}if(u===a&&t.size>0){s+=`  bin:\n`;for(let[f,h]of t){let p=x.contains(r.cwd,f);if(p===null)throw new Error(`Assertion failed: Expected the path to be within the project (${f})`);s+=`    ${JSON.stringify(p)}:\n`;for(let[C,y]of h){let B=x.relative(x.join(f,kr),y);s+=`      ${JSON.stringify(C)}: ${JSON.stringify(B)}\n`}}}}let l=r.cwd,c=x.join(l,kr,WAe);n&&await M.removePromise(c),await M.changeFilePromise(c,s,{automaticNewlines:!0})}async function FO(r,{unrollAliases:e=!1}={}){let t=r.cwd,i=x.join(t,kr,WAe),n;try{n=await M.statPromise(i)}catch{}if(!n)return null;let s=Ii(await M.readFilePromise(i,\"utf8\"));if(s.__metadata.version>JAe)return null;let o=s.__metadata.nmMode||\"classic\",a=new Map,l=new Map;delete s.__metadata;for(let[c,u]of Object.entries(s)){let g=u.locations.map(h=>x.join(t,h)),f=u.bin;if(f)for(let[h,p]of Object.entries(f)){let C=x.join(t,K.toPortablePath(h)),y=Ie.getMapWithDefault(l,C);for(let[B,v]of Object.entries(p))y.set(Ur(B),K.toPortablePath([C,kr,v].join(x.sep)))}if(a.set(c,{target:Oe.dot,linkType:\"HARD\",locations:g,aliases:u.aliases||[]}),e&&u.aliases)for(let h of u.aliases){let{scope:p,name:C}=P.parseLocator(c),y=P.makeLocator(P.makeIdent(p,C),h),B=P.stringifyLocator(y);a.set(B,{target:Oe.dot,linkType:\"HARD\",locations:g,aliases:[]})}}return{locatorMap:a,binSymlinks:l,locationTree:zAe(a,{skipPrefix:r.cwd}),nmMode:o,mtimeMs:n.mtimeMs}}var zh=async(r,e)=>{if(r.split(x.sep).indexOf(kr)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${r}`);try{if(!e.innerLoop){let i=e.allowSymlink?await M.statPromise(r):await M.lstatPromise(r);if(e.allowSymlink&&!i.isDirectory()||!e.allowSymlink&&i.isSymbolicLink()){await M.unlinkPromise(r);return}}let t=await M.readdirPromise(r,{withFileTypes:!0});for(let i of t){let n=x.join(r,Ur(i.name));i.isDirectory()?(i.name!==kr||e&&e.innerLoop)&&await zh(n,{innerLoop:!0,contentsOnly:!1}):await M.unlinkPromise(n)}e.contentsOnly||await M.rmdirPromise(r)}catch(t){if(t.code!==\"ENOENT\"&&t.code!==\"ENOTEMPTY\")throw t}},GAe=4,YQ=(r,{skipPrefix:e})=>{let t=x.contains(e,r);if(t===null)throw new Error(`Assertion failed: Writing attempt prevented to ${r} which is outside project root: ${e}`);let i=t.split(x.sep).filter(l=>l!==\"\"),n=i.indexOf(kr),s=i.slice(0,n).join(x.sep),o=x.join(e,s),a=i.slice(n);return{locationRoot:o,segments:a}},zAe=(r,{skipPrefix:e})=>{let t=new Map;if(r===null)return t;let i=()=>({children:new Map,linkType:\"HARD\"});for(let[n,s]of r.entries()){if(s.linkType===\"SOFT\"&&x.contains(e,s.target)!==null){let a=Ie.getFactoryWithDefault(t,s.target,i);a.locator=n,a.linkType=s.linkType}for(let o of s.locations){let{locationRoot:a,segments:l}=YQ(o,{skipPrefix:e}),c=Ie.getFactoryWithDefault(t,a,i);for(let u=0;u<l.length;++u){let g=l[u];if(g!==\".\"){let f=Ie.getFactoryWithDefault(c.children,g,i);c.children.set(g,f),c=f}u===l.length-1&&(c.locator=n,c.linkType=s.linkType)}}}return t},LO=async(r,e)=>{let t;try{process.platform===\"win32\"&&(t=await M.lstatPromise(r))}catch{}process.platform==\"win32\"&&(!t||t.isDirectory())?await M.symlinkPromise(r,e,\"junction\"):await M.symlinkPromise(x.relative(x.dirname(e),r),e)};async function VAe(r,e,t){let i=x.join(r,Ur(`${NO.default.randomBytes(16).toString(\"hex\")}.tmp`));try{await M.writeFilePromise(i,t);try{await M.linkPromise(i,e)}catch{}}finally{await M.unlinkPromise(i)}}async function v8e({srcPath:r,dstPath:e,entry:t,globalHardlinksStore:i,baseFs:n,nmMode:s}){if(t.kind===XAe.FILE){if(s.value===\"hardlinks-global\"&&i&&t.digest){let a=x.join(i,t.digest.substring(0,2),`${t.digest.substring(2)}.dat`),l;try{let c=await M.statPromise(a);if(c&&(!t.mtimeMs||c.mtimeMs>t.mtimeMs||c.mtimeMs<t.mtimeMs-Q8e))if(await li.checksumFile(a,{baseFs:M,algorithm:\"sha1\"})!==t.digest){let g=x.join(i,Ur(`${NO.default.randomBytes(16).toString(\"hex\")}.tmp`));await M.renamePromise(a,g);let f=await n.readFilePromise(r);await M.writeFilePromise(g,f);try{await M.linkPromise(g,a),t.mtimeMs=new Date().getTime(),await M.unlinkPromise(g)}catch{}}else t.mtimeMs||(t.mtimeMs=Math.ceil(c.mtimeMs));await M.linkPromise(a,e),l=!0}catch{l=!1}if(!l){let c=await n.readFilePromise(r);await VAe(i,a,c),t.mtimeMs=new Date().getTime();try{await M.linkPromise(a,e)}catch(u){u&&u.code&&u.code==\"EXDEV\"&&(s.value=\"hardlinks-local\",await n.copyFilePromise(r,e))}}}else await n.copyFilePromise(r,e);let o=t.mode&511;o!==420&&await M.chmodPromise(e,o)}}var XAe=(i=>(i.FILE=\"file\",i.DIRECTORY=\"directory\",i.SYMLINK=\"symlink\",i))(XAe||{}),x8e=async(r,e,{baseFs:t,globalHardlinksStore:i,nmMode:n,packageChecksum:s})=>{await M.mkdirPromise(r,{recursive:!0});let o=async(c=Oe.dot)=>{let u=x.join(e,c),g=await t.readdirPromise(u,{withFileTypes:!0}),f=new Map;for(let h of g){let p=x.join(c,h.name),C,y=x.join(u,h.name);if(h.isFile()){if(C={kind:\"file\",mode:(await t.lstatPromise(y)).mode},n.value===\"hardlinks-global\"){let B=await li.checksumFile(y,{baseFs:t,algorithm:\"sha1\"});C.digest=B}}else if(h.isDirectory())C={kind:\"directory\"};else if(h.isSymbolicLink())C={kind:\"symlink\",symlinkTo:await t.readlinkPromise(y)};else throw new Error(`Unsupported file type (file: ${y}, mode: 0o${await t.statSync(y).mode.toString(8).padStart(6,\"0\")})`);if(f.set(p,C),h.isDirectory()&&p!==kr){let B=await o(p);for(let[v,D]of B)f.set(v,D)}}return f},a;if(n.value===\"hardlinks-global\"&&i&&s){let c=x.join(i,s.substring(0,2),`${s.substring(2)}.json`);try{a=new Map(Object.entries(JSON.parse(await M.readFilePromise(c,\"utf8\"))))}catch{a=await o()}}else a=await o();let l=!1;for(let[c,u]of a){let g=x.join(e,c),f=x.join(r,c);if(u.kind===\"directory\")await M.mkdirPromise(f,{recursive:!0});else if(u.kind===\"file\"){let h=u.mtimeMs;await v8e({srcPath:g,dstPath:f,entry:u,nmMode:n,baseFs:t,globalHardlinksStore:i}),u.mtimeMs!==h&&(l=!0)}else u.kind===\"symlink\"&&await LO(x.resolve(x.dirname(f),u.symlinkTo),f)}if(n.value===\"hardlinks-global\"&&i&&l&&s){let c=x.join(i,s.substring(0,2),`${s.substring(2)}.json`);await M.removePromise(c),await VAe(i,c,Buffer.from(JSON.stringify(Object.fromEntries(a))))}};function P8e(r,e,t,i){let n=new Map,s=new Map,o=new Map,a=!1,l=(c,u,g,f,h)=>{let p=!0,C=x.join(c,u),y=new Set;if(u===kr||u.startsWith(\"@\")){let v;try{v=M.statSync(C)}catch{}p=!!v,v?v.mtimeMs>t?(a=!0,y=new Set(M.readdirSync(C))):y=new Set(g.children.get(u).children.keys()):a=!0;let D=e.get(c);if(D){let L=x.join(c,kr,HQ),H;try{H=M.statSync(L)}catch{}if(!H)a=!0;else if(H.mtimeMs>t){a=!0;let j=new Set(M.readdirSync(L)),$=new Map;s.set(c,$);for(let[V,W]of D)j.has(V)&&$.set(V,W)}else s.set(c,D)}}else p=h.has(u);let B=g.children.get(u);if(p){let{linkType:v,locator:D}=B,L={children:new Map,linkType:v,locator:D};if(f.children.set(u,L),D){let H=Ie.getSetWithDefault(o,D);H.add(C),o.set(D,H)}for(let H of B.children.keys())l(C,H,B,L,y)}else B.locator&&i.storedBuildState.delete(P.parseLocator(B.locator).locatorHash)};for(let[c,u]of r){let{linkType:g,locator:f}=u,h={children:new Map,linkType:g,locator:f};if(n.set(c,h),f){let p=Ie.getSetWithDefault(o,u.locator);p.add(c),o.set(u.locator,p)}u.children.has(kr)&&l(c,kr,u,h,new Set)}return{locationTree:n,binSymlinks:s,locatorLocations:o,installChangedByUser:a}}function _Ae(r){let e=P.parseDescriptor(r);return P.isVirtualDescriptor(e)&&(e=P.devirtualizeDescriptor(e)),e.range.startsWith(\"link:\")}async function D8e(r,e,t,{loadManifest:i}){let n=new Map;for(let[a,{locations:l}]of r){let c=_Ae(a)?null:await i(a,l[0]),u=new Map;if(c)for(let[g,f]of c.bin){let h=x.join(l[0],f);f!==\"\"&&M.existsSync(h)&&u.set(g,f)}n.set(a,u)}let s=new Map,o=(a,l,c)=>{let u=new Map,g=x.contains(t,a);if(c.locator&&g!==null){let f=n.get(c.locator);for(let[h,p]of f){let C=x.join(a,K.toPortablePath(p));u.set(Ur(h),C)}for(let[h,p]of c.children){let C=x.join(a,h),y=o(C,C,p);y.size>0&&s.set(a,new Map([...s.get(a)||new Map,...y]))}}else for(let[f,h]of c.children){let p=o(x.join(a,f),l,h);for(let[C,y]of p)u.set(C,y)}return u};for(let[a,l]of e){let c=o(a,a,l);c.size>0&&s.set(a,new Map([...s.get(a)||new Map,...c]))}return s}var YAe=(r,e)=>{if(!r||!e)return r===e;let t=P.parseLocator(r);P.isVirtualLocator(t)&&(t=P.devirtualizeLocator(t));let i=P.parseLocator(e);return P.isVirtualLocator(i)&&(i=P.devirtualizeLocator(i)),P.areLocatorsEqual(t,i)};function TO(r){return x.join(r.get(\"globalFolder\"),\"store\")}async function k8e(r,e,{baseFs:t,project:i,report:n,loadManifest:s,realLocatorChecksums:o}){let a=x.join(i.cwd,kr),{locationTree:l,binSymlinks:c,locatorLocations:u,installChangedByUser:g}=P8e(r.locationTree,r.binSymlinks,r.mtimeMs,i),f=zAe(e,{skipPrefix:i.cwd}),h=[],p=async({srcDir:V,dstDir:W,linkType:Z,globalHardlinksStore:A,nmMode:ae,packageChecksum:ge})=>{let re=(async()=>{try{Z===\"SOFT\"?(await M.mkdirPromise(x.dirname(W),{recursive:!0}),await LO(x.resolve(V),W)):await x8e(W,V,{baseFs:t,globalHardlinksStore:A,nmMode:ae,packageChecksum:ge})}catch(O){throw O.message=`While persisting ${V} -> ${W} ${O.message}`,O}finally{L.tick()}})().then(()=>h.splice(h.indexOf(re),1));h.push(re),h.length>GAe&&await Promise.race(h)},C=async(V,W,Z)=>{let A=(async()=>{let ae=async(ge,re,O)=>{try{O.innerLoop||await M.mkdirPromise(re,{recursive:!0});let F=await M.readdirPromise(ge,{withFileTypes:!0});for(let ue of F){if(!O.innerLoop&&ue.name===HQ)continue;let he=x.join(ge,ue.name),ke=x.join(re,ue.name);ue.isDirectory()?(ue.name!==kr||O&&O.innerLoop)&&(await M.mkdirPromise(ke,{recursive:!0}),await ae(he,ke,{...O,innerLoop:!0})):$.value===\"hardlinks-local\"||$.value===\"hardlinks-global\"?await M.linkPromise(he,ke):await M.copyFilePromise(he,ke,qAe.default.constants.COPYFILE_FICLONE)}}catch(F){throw O.innerLoop||(F.message=`While cloning ${ge} -> ${re} ${F.message}`),F}finally{O.innerLoop||L.tick()}};await ae(V,W,Z)})().then(()=>h.splice(h.indexOf(A),1));h.push(A),h.length>GAe&&await Promise.race(h)},y=async(V,W,Z)=>{if(Z)for(let[A,ae]of W.children){let ge=Z.children.get(A);await y(x.join(V,A),ae,ge)}else{W.children.has(kr)&&await zh(x.join(V,kr),{contentsOnly:!1});let A=x.basename(V)===kr&&f.has(x.join(x.dirname(V),x.sep));await zh(V,{contentsOnly:V===a,allowSymlink:A})}};for(let[V,W]of l){let Z=f.get(V);for(let[A,ae]of W.children){if(A===\".\")continue;let ge=Z&&Z.children.get(A),re=x.join(V,A);await y(re,ae,ge)}}let B=async(V,W,Z)=>{if(Z){YAe(W.locator,Z.locator)||await zh(V,{contentsOnly:W.linkType===\"HARD\"});for(let[A,ae]of W.children){let ge=Z.children.get(A);await B(x.join(V,A),ae,ge)}}else{W.children.has(kr)&&await zh(x.join(V,kr),{contentsOnly:!0});let A=x.basename(V)===kr&&f.has(x.join(x.dirname(V),x.sep));await zh(V,{contentsOnly:W.linkType===\"HARD\",allowSymlink:A})}};for(let[V,W]of f){let Z=l.get(V);for(let[A,ae]of W.children){if(A===\".\")continue;let ge=Z&&Z.children.get(A);await B(x.join(V,A),ae,ge)}}let v=new Map,D=[];for(let[V,W]of u)for(let Z of W){let{locationRoot:A,segments:ae}=YQ(Z,{skipPrefix:i.cwd}),ge=f.get(A),re=A;if(ge){for(let O of ae)if(re=x.join(re,O),ge=ge.children.get(O),!ge)break;if(ge){let O=YAe(ge.locator,V),F=e.get(ge.locator),ue=F.target,he=re,ke=F.linkType;if(O)v.has(ue)||v.set(ue,he);else if(ue!==he){let Fe=P.parseLocator(ge.locator);P.isVirtualLocator(Fe)&&(Fe=P.devirtualizeLocator(Fe)),D.push({srcDir:ue,dstDir:he,linkType:ke,realLocatorHash:Fe.locatorHash})}}}}for(let[V,{locations:W}]of e.entries())for(let Z of W){let{locationRoot:A,segments:ae}=YQ(Z,{skipPrefix:i.cwd}),ge=l.get(A),re=f.get(A),O=A,F=e.get(V),ue=P.parseLocator(V);P.isVirtualLocator(ue)&&(ue=P.devirtualizeLocator(ue));let he=ue.locatorHash,ke=F.target,Fe=Z;if(ke===Fe)continue;let Ne=F.linkType;for(let oe of ae)re=re.children.get(oe);if(!ge)D.push({srcDir:ke,dstDir:Fe,linkType:Ne,realLocatorHash:he});else for(let oe of ae)if(O=x.join(O,oe),ge=ge.children.get(oe),!ge){D.push({srcDir:ke,dstDir:Fe,linkType:Ne,realLocatorHash:he});break}}let L=Si.progressViaCounter(D.length),H=n.reportProgress(L),j=i.configuration.get(\"nmMode\"),$={value:j};try{let V=$.value===\"hardlinks-global\"?`${TO(i.configuration)}/v1`:null;if(V&&!await M.existsPromise(V)){await M.mkdirpPromise(V);for(let Z=0;Z<256;Z++)await M.mkdirPromise(x.join(V,Z.toString(16).padStart(2,\"0\")))}for(let Z of D)(Z.linkType===\"SOFT\"||!v.has(Z.srcDir))&&(v.set(Z.srcDir,Z.dstDir),await p({...Z,globalHardlinksStore:V,nmMode:$,packageChecksum:o.get(Z.realLocatorHash)||null}));await Promise.all(h),h.length=0;for(let Z of D){let A=v.get(Z.srcDir);Z.linkType!==\"SOFT\"&&Z.dstDir!==A&&await C(A,Z.dstDir,{nmMode:$})}await Promise.all(h),await M.mkdirPromise(a,{recursive:!0});let W=await D8e(e,f,i.cwd,{loadManifest:s});await R8e(c,W,i.cwd),await S8e(i,e,W,$,{installChangedByUser:g}),j==\"hardlinks-global\"&&$.value==\"hardlinks-local\"&&n.reportWarningOnce(74,\"'nmMode' has been downgraded to 'hardlinks-local' due to global cache and install folder being on different devices\")}finally{H.stop()}}async function R8e(r,e,t){for(let i of r.keys()){if(x.contains(t,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);if(!e.has(i)){let n=x.join(i,kr,HQ);await M.removePromise(n)}}for(let[i,n]of e){if(x.contains(t,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);let s=x.join(i,kr,HQ),o=r.get(i)||new Map;await M.mkdirPromise(s,{recursive:!0});for(let a of o.keys())n.has(a)||(await M.removePromise(x.join(s,a)),process.platform===\"win32\"&&await M.removePromise(x.join(s,Ur(`${a}.cmd`))));for(let[a,l]of n){let c=o.get(a),u=x.join(s,a);c!==l&&(process.platform===\"win32\"?await(0,jAe.default)(K.fromPortablePath(l),K.fromPortablePath(u),{createPwshFile:!1}):(await M.removePromise(u),await LO(l,u),x.contains(t,await M.realpathPromise(l))!==null&&await M.chmodPromise(l,493)))}}}var jQ=class extends ll{constructor(){super(...arguments);this.mode=\"loose\"}makeInstaller(t){return new OO(t)}},OO=class extends Fu{constructor(){super(...arguments);this.mode=\"loose\"}async transformPnpSettings(t){let i=new Br({baseFs:new Tn({libzip:await rn(),maxOpenFiles:80,readOnlyArchives:!0})}),n=xAe(t,this.opts.project.cwd,i),{tree:s,errors:o}=Jm(n,{pnpifyFs:!1,project:this.opts.project});if(!s){for(let{messageName:g,text:f}of o)this.opts.report.reportError(g,f);return}let a=new Map;t.fallbackPool=a;let l=(g,f)=>{let h=P.parseLocator(f.locator),p=P.stringifyIdent(h);p===g?a.set(g,h.reference):a.set(g,[p,h.reference])},c=x.join(this.opts.project.cwd,xt.nodeModules),u=s.get(c);if(!(typeof u>\"u\")){if(\"target\"in u)throw new Error(\"Assertion failed: Expected the root junction point to be a directory\");for(let g of u.dirList){let f=x.join(c,g),h=s.get(f);if(typeof h>\"u\")throw new Error(\"Assertion failed: Expected the child to have been registered\");if(\"target\"in h)l(g,h);else for(let p of h.dirList){let C=x.join(f,p),y=s.get(C);if(typeof y>\"u\")throw new Error(\"Assertion failed: Expected the subchild to have been registered\");if(\"target\"in y)l(`${g}/${p}`,y);else throw new Error(\"Assertion failed: Expected the leaf junction to be a package\")}}}}};var F8e={hooks:{cleanGlobalArtifacts:async r=>{let e=TO(r);await M.removePromise(e)}},configuration:{nmHoistingLimits:{description:\"Prevent packages to be hoisted past specific levels\",type:\"STRING\",values:[\"workspaces\",\"dependencies\",\"none\"],default:\"none\"},nmMode:{description:'If set to \"hardlinks-local\" Yarn will utilize hardlinks to reduce disk space consumption inside \"node_modules\" directories. With \"hardlinks-global\" Yarn will use global content addressable storage to reduce \"node_modules\" size across all the projects using this option.',type:\"STRING\",values:[\"classic\",\"hardlinks-local\",\"hardlinks-global\"],default:\"classic\"},nmSelfReferences:{description:\"If set to 'false' the workspace will not be allowed to require itself and corresponding self-referencing symlink will not be created\",type:\"BOOLEAN\",default:!0}},linkers:[GQ,jQ]},N8e=F8e;var LM={};ut(LM,{default:()=>GVe,npmConfigUtils:()=>or,npmHttpUtils:()=>Mt,npmPublishUtils:()=>op});var ile=Pe(Xr());var gr=\"npm:\";var Mt={};ut(Mt,{AuthType:()=>rle,customPackageError:()=>T8e,del:()=>K8e,get:()=>fo,getIdentUrl:()=>gl,handleInvalidAuthenticationError:()=>ul,post:()=>O8e,put:()=>M8e});var HO=Pe(Pm()),tle=J(\"url\");var or={};ut(or,{RegistryType:()=>ZAe,getAuditRegistry:()=>L8e,getAuthConfiguration:()=>UO,getDefaultRegistry:()=>qQ,getPublishRegistry:()=>$Ae,getRegistryConfiguration:()=>ele,getScopeConfiguration:()=>KO,getScopeRegistry:()=>iA,normalizeRegistry:()=>go});var ZAe=(i=>(i.AUDIT_REGISTRY=\"npmAuditRegistry\",i.FETCH_REGISTRY=\"npmRegistryServer\",i.PUBLISH_REGISTRY=\"npmPublishRegistry\",i))(ZAe||{});function go(r){return r.replace(/\\/$/,\"\")}function L8e(r,{configuration:e}){let t=e.get(\"npmAuditRegistry\");return t!==null?go(t):$Ae(r,{configuration:e})}function $Ae(r,{configuration:e}){var t;return(t=r.publishConfig)!=null&&t.registry?go(r.publishConfig.registry):r.name?iA(r.name.scope,{configuration:e,type:\"npmPublishRegistry\"}):qQ({configuration:e,type:\"npmPublishRegistry\"})}function iA(r,{configuration:e,type:t=\"npmRegistryServer\"}){let i=KO(r,{configuration:e});if(i===null)return qQ({configuration:e,type:t});let n=i.get(t);return n===null?qQ({configuration:e,type:t}):go(n)}function qQ({configuration:r,type:e=\"npmRegistryServer\"}){let t=r.get(e);return go(t!==null?t:r.get(\"npmRegistryServer\"))}function ele(r,{configuration:e}){let t=e.get(\"npmRegistries\"),i=go(r),n=t.get(i);if(typeof n<\"u\")return n;let s=t.get(i.replace(/^[a-z]+:/,\"\"));return typeof s<\"u\"?s:null}function KO(r,{configuration:e}){if(r===null)return null;let i=e.get(\"npmScopes\").get(r);return i||null}function UO(r,{configuration:e,ident:t}){let i=t&&KO(t.scope,{configuration:e});return(i==null?void 0:i.get(\"npmAuthIdent\"))||(i==null?void 0:i.get(\"npmAuthToken\"))?i:ele(r,{configuration:e})||e}var rle=(n=>(n[n.NO_AUTH=0]=\"NO_AUTH\",n[n.BEST_EFFORT=1]=\"BEST_EFFORT\",n[n.CONFIGURATION=2]=\"CONFIGURATION\",n[n.ALWAYS_AUTH=3]=\"ALWAYS_AUTH\",n))(rle||{});async function ul(r,{attemptedAs:e,registry:t,headers:i,configuration:n}){var s,o;if(WQ(r))throw new at(41,\"Invalid OTP token\");if(((s=r.originalError)==null?void 0:s.name)===\"HTTPError\"&&((o=r.originalError)==null?void 0:o.response.statusCode)===401)throw new at(41,`Invalid authentication (${typeof e!=\"string\"?`as ${await H8e(t,i,{configuration:n})}`:`attempted as ${e}`})`)}function T8e(r){var e;return((e=r.response)==null?void 0:e.statusCode)===404?\"Package not found\":null}function gl(r){return r.scope?`/@${r.scope}%2f${r.name}`:`/${r.name}`}async function fo(r,{configuration:e,headers:t,ident:i,authType:n,registry:s,...o}){if(i&&typeof s>\"u\"&&(s=iA(i.scope,{configuration:e})),i&&i.scope&&typeof n>\"u\"&&(n=1),typeof s!=\"string\")throw new Error(\"Assertion failed: The registry should be a string\");let a=await JQ(s,{authType:n,configuration:e,ident:i});a&&(t={...t,authorization:a});try{return await Vt.get(r.charAt(0)===\"/\"?`${s}${r}`:r,{configuration:e,headers:t,...o})}catch(l){throw await ul(l,{registry:s,configuration:e,headers:t}),l}}async function O8e(r,e,{attemptedAs:t,configuration:i,headers:n,ident:s,authType:o=3,registry:a,otp:l,...c}){if(s&&typeof a>\"u\"&&(a=iA(s.scope,{configuration:i})),typeof a!=\"string\")throw new Error(\"Assertion failed: The registry should be a string\");let u=await JQ(a,{authType:o,configuration:i,ident:s});u&&(n={...n,authorization:u}),l&&(n={...n,...Vh(l)});try{return await Vt.post(a+r,e,{configuration:i,headers:n,...c})}catch(g){if(!WQ(g)||l)throw await ul(g,{attemptedAs:t,registry:a,configuration:i,headers:n}),g;l=await GO(g,{configuration:i});let f={...n,...Vh(l)};try{return await Vt.post(`${a}${r}`,e,{configuration:i,headers:f,...c})}catch(h){throw await ul(h,{attemptedAs:t,registry:a,configuration:i,headers:n}),h}}}async function M8e(r,e,{attemptedAs:t,configuration:i,headers:n,ident:s,authType:o=3,registry:a,otp:l,...c}){if(s&&typeof a>\"u\"&&(a=iA(s.scope,{configuration:i})),typeof a!=\"string\")throw new Error(\"Assertion failed: The registry should be a string\");let u=await JQ(a,{authType:o,configuration:i,ident:s});u&&(n={...n,authorization:u}),l&&(n={...n,...Vh(l)});try{return await Vt.put(a+r,e,{configuration:i,headers:n,...c})}catch(g){if(!WQ(g))throw await ul(g,{attemptedAs:t,registry:a,configuration:i,headers:n}),g;l=await GO(g,{configuration:i});let f={...n,...Vh(l)};try{return await Vt.put(`${a}${r}`,e,{configuration:i,headers:f,...c})}catch(h){throw await ul(h,{attemptedAs:t,registry:a,configuration:i,headers:n}),h}}}async function K8e(r,{attemptedAs:e,configuration:t,headers:i,ident:n,authType:s=3,registry:o,otp:a,...l}){if(n&&typeof o>\"u\"&&(o=iA(n.scope,{configuration:t})),typeof o!=\"string\")throw new Error(\"Assertion failed: The registry should be a string\");let c=await JQ(o,{authType:s,configuration:t,ident:n});c&&(i={...i,authorization:c}),a&&(i={...i,...Vh(a)});try{return await Vt.del(o+r,{configuration:t,headers:i,...l})}catch(u){if(!WQ(u)||a)throw await ul(u,{attemptedAs:e,registry:o,configuration:t,headers:i}),u;a=await GO(u,{configuration:t});let g={...i,...Vh(a)};try{return await Vt.del(`${o}${r}`,{configuration:t,headers:g,...l})}catch(f){throw await ul(f,{attemptedAs:e,registry:o,configuration:t,headers:i}),f}}}async function JQ(r,{authType:e=2,configuration:t,ident:i}){let n=UO(r,{configuration:t,ident:i}),s=U8e(n,e);if(!s)return null;let o=await t.reduceHook(a=>a.getNpmAuthenticationHeader,void 0,r,{configuration:t,ident:i});if(o)return o;if(n.get(\"npmAuthToken\"))return`Bearer ${n.get(\"npmAuthToken\")}`;if(n.get(\"npmAuthIdent\")){let a=n.get(\"npmAuthIdent\");return a.includes(\":\")?`Basic ${Buffer.from(a).toString(\"base64\")}`:`Basic ${a}`}if(s&&e!==1)throw new at(33,\"No authentication configured for request\");return null}function U8e(r,e){switch(e){case 2:return r.get(\"npmAlwaysAuth\");case 1:case 3:return!0;case 0:return!1;default:throw new Error(\"Unreachable\")}}async function H8e(r,e,{configuration:t}){var i;if(typeof e>\"u\"||typeof e.authorization>\"u\")return\"an anonymous user\";try{return(i=(await Vt.get(new tle.URL(`${r}/-/whoami`).href,{configuration:t,headers:e,jsonResponse:!0})).username)!=null?i:\"an unknown user\"}catch{return\"an unknown user\"}}async function GO(r,{configuration:e}){var n;let t=(n=r.originalError)==null?void 0:n.response.headers[\"npm-notice\"];if(t&&(await Ge.start({configuration:e,stdout:process.stdout,includeFooter:!1},async s=>{if(s.reportInfo(0,t.replace(/(https?:\\/\\/\\S+)/g,ee.pretty(e,\"$1\",ee.Type.URL))),!process.env.YARN_IS_TEST_ENV){let o=t.match(/open (https?:\\/\\/\\S+)/i);if(o&&Cs.openUrl){let{openNow:a}=await(0,HO.prompt)({type:\"confirm\",name:\"openNow\",message:\"Do you want to try to open this url now?\",required:!0,initial:!0,onCancel:()=>process.exit(130)});a&&(await Cs.openUrl(o[1])||(s.reportSeparator(),s.reportWarning(0,\"We failed to automatically open the url; you'll have to open it yourself in your browser of choice.\")))}}}),process.stdout.write(`\n`)),process.env.YARN_IS_TEST_ENV)return process.env.YARN_INJECT_NPM_2FA_TOKEN||\"\";let{otp:i}=await(0,HO.prompt)({type:\"password\",name:\"otp\",message:\"One-time password:\",required:!0,onCancel:()=>process.exit(130)});return process.stdout.write(`\n`),i}function WQ(r){var e,t;if(((e=r.originalError)==null?void 0:e.name)!==\"HTTPError\")return!1;try{return((t=r.originalError)==null?void 0:t.response.headers[\"www-authenticate\"].split(/,\\s*/).map(n=>n.toLowerCase())).includes(\"otp\")}catch{return!1}}function Vh(r){return{[\"npm-otp\"]:r}}var zQ=class{supports(e,t){if(!e.reference.startsWith(gr))return!1;let{selector:i,params:n}=P.parseRange(e.reference);return!(!ile.default.valid(i)||n===null||typeof n.__archiveUrl!=\"string\")}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let{params:i}=P.parseRange(e.reference);if(i===null||typeof i.__archiveUrl!=\"string\")throw new Error(\"Assertion failed: The archiveUrl querystring parameter should have been available\");let n=await fo(i.__archiveUrl,{configuration:t.project.configuration,ident:e});return await Ci.convertToZip(n,{compressionLevel:t.project.configuration.get(\"compressionLevel\"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}};var VQ=class{supportsDescriptor(e,t){return!(!e.range.startsWith(gr)||!P.tryParseDescriptor(e.range.slice(gr.length),!0))}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error(\"Unreachable\")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){let i=P.parseDescriptor(e.range.slice(gr.length),!0);return t.resolver.getResolutionDependencies(i,t)}async getCandidates(e,t,i){let n=P.parseDescriptor(e.range.slice(gr.length),!0);return await i.resolver.getCandidates(n,t,i)}async getSatisfying(e,t,i){let n=P.parseDescriptor(e.range.slice(gr.length),!0);return i.resolver.getSatisfying(n,t,i)}resolve(e,t){throw new Error(\"Unreachable\")}};var nle=Pe(Xr()),sle=J(\"url\");var Rs=class{supports(e,t){if(!e.reference.startsWith(gr))return!1;let i=new sle.URL(e.reference);return!(!nle.default.valid(i.pathname)||i.searchParams.has(\"__archiveUrl\"))}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let i;try{i=await fo(Rs.getLocatorUrl(e),{configuration:t.project.configuration,ident:e})}catch{i=await fo(Rs.getLocatorUrl(e).replace(/%2f/g,\"/\"),{configuration:t.project.configuration,ident:e})}return await Ci.convertToZip(i,{compressionLevel:t.project.configuration.get(\"compressionLevel\"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,t,{configuration:i}){let n=iA(e.scope,{configuration:i}),s=Rs.getLocatorUrl(e);return t=t.replace(/^https?:(\\/\\/(?:[^/]+\\.)?npmjs.org(?:$|\\/))/,\"https:$1\"),n=n.replace(/^https:\\/\\/registry\\.npmjs\\.org($|\\/)/,\"https://registry.yarnpkg.com$1\"),t=t.replace(/^https:\\/\\/registry\\.npmjs\\.org($|\\/)/,\"https://registry.yarnpkg.com$1\"),t===n+s||t===n+s.replace(/%2f/g,\"/\")}static getLocatorUrl(e){let t=vt.clean(e.reference.slice(gr.length));if(t===null)throw new at(10,\"The npm semver resolver got selected, but the version isn't semver\");return`${gl(e)}/-/${e.name}-${t}.tgz`}};var ole=Pe(Xr());var XQ=P.makeIdent(null,\"node-gyp\"),G8e=/\\b(node-gyp|prebuild-install)\\b/,_Q=class{supportsDescriptor(e,t){return e.range.startsWith(gr)?!!vt.validRange(e.range.slice(gr.length)):!1}supportsLocator(e,t){if(!e.reference.startsWith(gr))return!1;let{selector:i}=P.parseRange(e.reference);return!!ole.default.valid(i)}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=vt.validRange(e.range.slice(gr.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(gr.length)}`);let s=await fo(gl(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0}),o=Ie.mapAndFilter(Object.keys(s.versions),c=>{try{let u=new vt.SemVer(c);if(n.test(u))return u}catch{}return Ie.mapAndFilter.skip}),a=o.filter(c=>!s.versions[c.raw].deprecated),l=a.length>0?a:o;return l.sort((c,u)=>-c.compare(u)),l.map(c=>{let u=P.makeLocator(e,`${gr}${c.raw}`),g=s.versions[c.raw].dist.tarball;return Rs.isConventionalTarballUrl(u,g,{configuration:i.project.configuration})?u:P.bindLocator(u,{__archiveUrl:g})})}async getSatisfying(e,t,i){let n=vt.validRange(e.range.slice(gr.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(gr.length)}`);return Ie.mapAndFilter(t,s=>{try{let{selector:o}=P.parseRange(s,{requireProtocol:gr}),a=new vt.SemVer(o);if(n.test(a))return{reference:s,version:a}}catch{}return Ie.mapAndFilter.skip}).sort((s,o)=>-s.version.compare(o.version)).map(({reference:s})=>P.makeLocator(e,s))}async resolve(e,t){let{selector:i}=P.parseRange(e.reference),n=vt.clean(i);if(n===null)throw new at(10,\"The npm semver resolver got selected, but the version isn't semver\");let s=await fo(gl(e),{configuration:t.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,\"versions\"))throw new at(15,'Registry returned invalid data for - missing \"versions\" field');if(!Object.prototype.hasOwnProperty.call(s.versions,n))throw new at(16,`Registry failed to return reference \"${n}\"`);let o=new ot;if(o.load(s.versions[n]),!o.dependencies.has(XQ.identHash)&&!o.peerDependencies.has(XQ.identHash)){for(let a of o.scripts.values())if(a.match(G8e)){o.dependencies.set(XQ.identHash,P.makeDescriptor(XQ,\"latest\")),t.report.reportWarningOnce(32,`${P.prettyLocator(t.project.configuration,e)}: Implicit dependencies on node-gyp are discouraged`);break}}if(typeof o.raw.deprecated==\"string\"&&o.raw.deprecated!==\"\"){let a=P.prettyLocator(t.project.configuration,e),l=o.raw.deprecated.match(/\\S/)?`${a} is deprecated: ${o.raw.deprecated}`:`${a} is deprecated`;t.report.reportWarningOnce(61,l)}return{...e,version:n,languageName:\"node\",linkType:\"HARD\",conditions:o.getConditions(),dependencies:o.dependencies,peerDependencies:o.peerDependencies,dependenciesMeta:o.dependenciesMeta,peerDependenciesMeta:o.peerDependenciesMeta,bin:o.bin}}};var ZQ=class{supportsDescriptor(e,t){return!(!e.range.startsWith(gr)||!wf.test(e.range.slice(gr.length)))}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error(\"Unreachable\")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range.slice(gr.length),s=await fo(gl(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,\"dist-tags\"))throw new at(15,'Registry returned invalid data - missing \"dist-tags\" field');let o=s[\"dist-tags\"];if(!Object.prototype.hasOwnProperty.call(o,n))throw new at(16,`Registry failed to return tag \"${n}\"`);let a=o[n],l=P.makeLocator(e,`${gr}${a}`),c=s.versions[a].dist.tarball;return Rs.isConventionalTarballUrl(l,c,{configuration:i.project.configuration})?[l]:[P.bindLocator(l,{__archiveUrl:c})]}async getSatisfying(e,t,i){return null}async resolve(e,t){throw new Error(\"Unreachable\")}};var op={};ut(op,{getGitHead:()=>UVe,makePublishBody:()=>KVe});var DM={};ut(DM,{default:()=>yVe,packUtils:()=>ia});var ia={};ut(ia,{genPackList:()=>yb,genPackStream:()=>PM,genPackageManifest:()=>Oce,hasPackScripts:()=>vM,prepareForPack:()=>xM});var SM=Pe(yn()),Lce=Pe(kce()),Tce=J(\"zlib\"),cVe=[\"/package.json\",\"/readme\",\"/readme.*\",\"/license\",\"/license.*\",\"/licence\",\"/licence.*\",\"/changelog\",\"/changelog.*\"],uVe=[\"/package.tgz\",\".github\",\".git\",\".hg\",\"node_modules\",\".npmignore\",\".gitignore\",\".#*\",\".DS_Store\"];async function vM(r){return!!(Jt.hasWorkspaceScript(r,\"prepack\")||Jt.hasWorkspaceScript(r,\"postpack\"))}async function xM(r,{report:e},t){await Jt.maybeExecuteWorkspaceLifecycleScript(r,\"prepack\",{report:e});try{let i=x.join(r.cwd,ot.fileName);await M.existsPromise(i)&&await r.manifest.loadFile(i,{baseFs:M}),await t()}finally{await Jt.maybeExecuteWorkspaceLifecycleScript(r,\"postpack\",{report:e})}}async function PM(r,e){var s,o;typeof e>\"u\"&&(e=await yb(r));let t=new Set;for(let a of(o=(s=r.manifest.publishConfig)==null?void 0:s.executableFiles)!=null?o:new Set)t.add(x.normalize(a));for(let a of r.manifest.bin.values())t.add(x.normalize(a));let i=Lce.default.pack();process.nextTick(async()=>{for(let a of e){let l=x.normalize(a),c=x.resolve(r.cwd,l),u=x.join(\"package\",l),g=await M.lstatPromise(c),f={name:u,mtime:new Date(xr.SAFE_TIME*1e3)},h=t.has(l)?493:420,p,C,y=new Promise((v,D)=>{p=v,C=D}),B=v=>{v?C(v):p()};if(g.isFile()){let v;l===\"package.json\"?v=Buffer.from(JSON.stringify(await Oce(r),null,2)):v=await M.readFilePromise(c),i.entry({...f,mode:h,type:\"file\"},v,B)}else g.isSymbolicLink()?i.entry({...f,mode:h,type:\"symlink\",linkname:await M.readlinkPromise(c)},B):B(new Error(`Unsupported file type ${g.mode} for ${K.fromPortablePath(l)}`));await y}i.finalize()});let n=(0,Tce.createGzip)();return i.pipe(n),n}async function Oce(r){let e=JSON.parse(JSON.stringify(r.manifest.raw));return await r.project.configuration.triggerHook(t=>t.beforeWorkspacePacking,r,e),e}async function yb(r){var g,f,h,p,C,y,B,v;let e=r.project,t=e.configuration,i={accept:[],reject:[]};for(let D of uVe)i.reject.push(D);for(let D of cVe)i.accept.push(D);i.reject.push(t.get(\"rcFilename\"));let n=D=>{if(D===null||!D.startsWith(`${r.cwd}/`))return;let L=x.relative(r.cwd,D),H=x.resolve(Oe.root,L);i.reject.push(H)};n(x.resolve(e.cwd,t.get(\"lockfileFilename\"))),n(t.get(\"cacheFolder\")),n(t.get(\"globalFolder\")),n(t.get(\"installStatePath\")),n(t.get(\"virtualFolder\")),n(t.get(\"yarnPath\")),await t.triggerHook(D=>D.populateYarnPaths,e,D=>{n(D)});for(let D of e.workspaces){let L=x.relative(r.cwd,D.cwd);L!==\"\"&&!L.match(/^(\\.\\.)?\\//)&&i.reject.push(`/${L}`)}let s={accept:[],reject:[]},o=(f=(g=r.manifest.publishConfig)==null?void 0:g.main)!=null?f:r.manifest.main,a=(p=(h=r.manifest.publishConfig)==null?void 0:h.module)!=null?p:r.manifest.module,l=(y=(C=r.manifest.publishConfig)==null?void 0:C.browser)!=null?y:r.manifest.browser,c=(v=(B=r.manifest.publishConfig)==null?void 0:B.bin)!=null?v:r.manifest.bin;o!=null&&s.accept.push(x.resolve(Oe.root,o)),a!=null&&s.accept.push(x.resolve(Oe.root,a)),typeof l==\"string\"&&s.accept.push(x.resolve(Oe.root,l));for(let D of c.values())s.accept.push(x.resolve(Oe.root,D));if(l instanceof Map)for(let[D,L]of l.entries())s.accept.push(x.resolve(Oe.root,D)),typeof L==\"string\"&&s.accept.push(x.resolve(Oe.root,L));let u=r.manifest.files!==null;if(u){s.reject.push(\"/*\");for(let D of r.manifest.files)Mce(s.accept,D,{cwd:Oe.root})}return await gVe(r.cwd,{hasExplicitFileList:u,globalList:i,ignoreList:s})}async function gVe(r,{hasExplicitFileList:e,globalList:t,ignoreList:i}){let n=[],s=new wo(r),o=[[Oe.root,[i]]];for(;o.length>0;){let[a,l]=o.pop(),c=await s.lstatPromise(a);if(!Fce(a,{globalList:t,ignoreLists:c.isDirectory()?null:l}))if(c.isDirectory()){let u=await s.readdirPromise(a),g=!1,f=!1;if(!e||a!==Oe.root)for(let C of u)g=g||C===\".gitignore\",f=f||C===\".npmignore\";let h=f?await Rce(s,a,\".npmignore\"):g?await Rce(s,a,\".gitignore\"):null,p=h!==null?[h].concat(l):l;Fce(a,{globalList:t,ignoreLists:l})&&(p=[...l,{accept:[],reject:[\"**/*\"]}]);for(let C of u)o.push([x.resolve(a,C),p])}else(c.isFile()||c.isSymbolicLink())&&n.push(x.relative(Oe.root,a))}return n.sort()}async function Rce(r,e,t){let i={accept:[],reject:[]},n=await r.readFilePromise(x.join(e,t),\"utf8\");for(let s of n.split(/\\n/g))Mce(i.reject,s,{cwd:e});return i}function fVe(r,{cwd:e}){let t=r[0]===\"!\";return t&&(r=r.slice(1)),r.match(/\\.{0,1}\\//)&&(r=x.resolve(e,r)),t&&(r=`!${r}`),r}function Mce(r,e,{cwd:t}){let i=e.trim();i===\"\"||i[0]===\"#\"||r.push(fVe(i,{cwd:t}))}function Fce(r,{globalList:e,ignoreLists:t}){let i=Ib(r,e.accept);if(i!==0)return i===2;let n=Ib(r,e.reject);if(n!==0)return n===1;if(t!==null)for(let s of t){let o=Ib(r,s.accept);if(o!==0)return o===2;let a=Ib(r,s.reject);if(a!==0)return a===1}return!1}function Ib(r,e){let t=e,i=[];for(let n=0;n<e.length;++n)e[n][0]!==\"!\"?t!==e&&t.push(e[n]):(t===e&&(t=e.slice(0,n)),i.push(e[n].slice(1)));return Nce(r,i)?2:Nce(r,t)?1:0}function Nce(r,e){let t=e,i=[];for(let n=0;n<e.length;++n)e[n].includes(\"/\")?t!==e&&t.push(e[n]):(t===e&&(t=e.slice(0,n)),i.push(e[n]));return!!(SM.default.isMatch(r,t,{dot:!0,nocase:!0})||SM.default.isMatch(r,i,{dot:!0,basename:!0,nocase:!0}))}var Ku=class extends De{constructor(){super(...arguments);this.installIfNeeded=z.Boolean(\"--install-if-needed\",!1,{description:\"Run a preliminary `yarn install` if the package contains build scripts\"});this.dryRun=z.Boolean(\"-n,--dry-run\",!1,{description:\"Print the file paths without actually generating the package archive\"});this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.out=z.String(\"-o,--out\",{description:\"Create the archive at the specified path\"});this.filename=z.String(\"--filename\",{hidden:!0})}async execute(){var l;let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);await vM(n)&&(this.installIfNeeded?await i.install({cache:await Rt.find(t),report:new ti}):await i.restoreInstallState());let s=(l=this.out)!=null?l:this.filename,o=typeof s<\"u\"?x.resolve(this.context.cwd,hVe(s,{workspace:n})):x.resolve(n.cwd,\"package.tgz\");return(await Ge.start({configuration:t,stdout:this.context.stdout,json:this.json},async c=>{await xM(n,{report:c},async()=>{c.reportJson({base:K.fromPortablePath(n.cwd)});let u=await yb(n);for(let g of u)c.reportInfo(null,K.fromPortablePath(g)),c.reportJson({location:K.fromPortablePath(g)});if(!this.dryRun){let g=await PM(n,u),f=M.createWriteStream(o);g.pipe(f),await new Promise(h=>{f.on(\"finish\",h)})}}),this.dryRun||(c.reportInfo(0,`Package archive generated in ${ee.pretty(t,o,ee.Type.PATH)}`),c.reportJson({output:K.fromPortablePath(o)}))})).exitCode()}};Ku.paths=[[\"pack\"]],Ku.usage=ve.Usage({description:\"generate a tarball from the active workspace\",details:\"\\n      This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\\n\\n      If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\\n    \",examples:[[\"Create an archive from the active workspace\",\"yarn pack\"],[\"List the files that would be made part of the workspace's archive\",\"yarn pack --dry-run\"],[\"Name and output the archive in a dedicated folder\",\"yarn pack --out /artifacts/%s-%v.tgz\"]]});function hVe(r,{workspace:e}){let t=r.replace(\"%s\",pVe(e)).replace(\"%v\",dVe(e));return K.toPortablePath(t)}function pVe(r){return r.manifest.name!==null?P.slugifyIdent(r.manifest.name):\"package\"}function dVe(r){return r.manifest.version!==null?r.manifest.version:\"unknown\"}var CVe=[\"dependencies\",\"devDependencies\",\"peerDependencies\"],mVe=\"workspace:\",EVe=(r,e)=>{var i,n;e.publishConfig&&(e.publishConfig.main&&(e.main=e.publishConfig.main),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.module&&(e.module=e.publishConfig.module),e.publishConfig.exports&&(e.exports=e.publishConfig.exports),e.publishConfig.bin&&(e.bin=e.publishConfig.bin));let t=r.project;for(let s of CVe)for(let o of r.manifest.getForScope(s).values()){let a=t.tryWorkspaceByDescriptor(o),l=P.parseRange(o.range);if(l.protocol===mVe)if(a===null){if(t.tryWorkspaceByIdent(o)===null)throw new at(21,`${P.prettyDescriptor(t.configuration,o)}: No local workspace found for this range`)}else{let c;P.areDescriptorsEqual(o,a.anchoredDescriptor)||l.selector===\"*\"?c=(i=a.manifest.version)!=null?i:\"0.0.0\":l.selector===\"~\"||l.selector===\"^\"?c=`${l.selector}${(n=a.manifest.version)!=null?n:\"0.0.0\"}`:c=l.selector;let u=s===\"dependencies\"?P.makeDescriptor(o,\"unknown\"):null,g=u!==null&&r.manifest.ensureDependencyMeta(u).optional?\"optionalDependencies\":s;e[g][P.stringifyIdent(o)]=c}}},IVe={hooks:{beforeWorkspacePacking:EVe},commands:[Ku]},yVe=IVe;var Wce=J(\"crypto\"),zce=Pe(Jce()),Vce=J(\"url\");async function KVe(r,e,{access:t,tag:i,registry:n,gitHead:s}){let o=r.project.configuration,a=r.manifest.name,l=r.manifest.version,c=P.stringifyIdent(a),u=(0,Wce.createHash)(\"sha1\").update(e).digest(\"hex\"),g=zce.default.fromData(e).toString();typeof t>\"u\"&&(r.manifest.publishConfig&&typeof r.manifest.publishConfig.access==\"string\"?t=r.manifest.publishConfig.access:o.get(\"npmPublishAccess\")!==null?t=o.get(\"npmPublishAccess\"):a.scope?t=\"restricted\":t=\"public\");let f=await ia.genPackageManifest(r),h=`${c}-${l}.tgz`,p=new Vce.URL(`${go(n)}/${c}/-/${h}`);return{_id:c,_attachments:{[h]:{content_type:\"application/octet-stream\",data:e.toString(\"base64\"),length:e.length}},name:c,access:t,[\"dist-tags\"]:{[i]:l},versions:{[l]:{...f,_id:`${c}@${l}`,name:c,version:l,gitHead:s,dist:{shasum:u,integrity:g,tarball:p.toString()}}}}}async function UVe(r){try{let{stdout:e}=await Cr.execvp(\"git\",[\"rev-parse\",\"--revs-only\",\"HEAD\"],{cwd:r});return e.trim()===\"\"?void 0:e.trim()}catch{return}}var NM={npmAlwaysAuth:{description:\"URL of the selected npm registry (note: npm enterprise isn't supported)\",type:\"BOOLEAN\",default:!1},npmAuthIdent:{description:\"Authentication identity for the npm registry (_auth in npm and yarn v1)\",type:\"SECRET\",default:null},npmAuthToken:{description:\"Authentication token for the npm registry (_authToken in npm and yarn v1)\",type:\"SECRET\",default:null}},Xce={npmAuditRegistry:{description:\"Registry to query for audit reports\",type:\"STRING\",default:null},npmPublishRegistry:{description:\"Registry to push packages to\",type:\"STRING\",default:null},npmRegistryServer:{description:\"URL of the selected npm registry (note: npm enterprise isn't supported)\",type:\"STRING\",default:\"https://registry.yarnpkg.com\"}},HVe={configuration:{...NM,...Xce,npmScopes:{description:\"Settings per package scope\",type:\"MAP\",valueDefinition:{description:\"\",type:\"SHAPE\",properties:{...NM,...Xce}}},npmRegistries:{description:\"Settings per registry\",type:\"MAP\",normalizeKeys:go,valueDefinition:{description:\"\",type:\"SHAPE\",properties:{...NM}}}},fetchers:[zQ,Rs],resolvers:[VQ,_Q,ZQ]},GVe=HVe;var KM={};ut(KM,{default:()=>ZVe});var EE=Pe(yn());ns();var wb=(i=>(i.All=\"all\",i.Production=\"production\",i.Development=\"development\",i))(wb||{}),Bb=(s=>(s.Info=\"info\",s.Low=\"low\",s.Moderate=\"moderate\",s.High=\"high\",s.Critical=\"critical\",s))(Bb||{});var mE=[\"info\",\"low\",\"moderate\",\"high\",\"critical\"];function Zce(r,e){let t=[],i=new Set,n=o=>{i.has(o)||(i.add(o),t.push(o))};for(let o of e)n(o);let s=new Set;for(;t.length>0;){let o=t.shift(),a=r.storedResolutions.get(o);if(typeof a>\"u\")throw new Error(\"Assertion failed: Expected the resolution to have been registered\");let l=r.storedPackages.get(a);if(!!l){s.add(o);for(let c of l.dependencies.values())n(c.descriptorHash)}}return s}function YVe(r,e){return new Set([...r].filter(t=>!e.has(t)))}function jVe(r,e,{all:t}){let i=t?r.workspaces:[e],n=i.map(f=>f.manifest),s=new Set(n.map(f=>[...f.dependencies].map(([h,p])=>h)).flat()),o=new Set(n.map(f=>[...f.devDependencies].map(([h,p])=>h)).flat()),a=i.map(f=>[...f.dependencies.values()]).flat(),l=a.filter(f=>s.has(f.identHash)).map(f=>f.descriptorHash),c=a.filter(f=>o.has(f.identHash)).map(f=>f.descriptorHash),u=Zce(r,l),g=Zce(r,c);return YVe(g,u)}function $ce(r){let e={};for(let t of r)e[P.stringifyIdent(t)]=P.parseRange(t.range).selector;return e}function eue(r){if(typeof r>\"u\")return new Set(mE);let e=mE.indexOf(r),t=mE.slice(e);return new Set(t)}function qVe(r,e){let t=eue(e),i={};for(let n of t)i[n]=r[n];return i}function tue(r,e){var i;let t=qVe(r,e);for(let n of Object.keys(t))if((i=t[n])!=null?i:0>0)return!0;return!1}function rue(r,e){var s;let t={},i={children:t},n=Object.values(r.advisories);if(e!=null){let o=eue(e);n=n.filter(a=>o.has(a.severity))}for(let o of Ie.sortMap(n,a=>a.module_name))t[o.module_name]={label:o.module_name,value:ee.tuple(ee.Type.RANGE,o.findings.map(a=>a.version).join(\", \")),children:{ID:{label:\"ID\",value:ee.tuple(ee.Type.NUMBER,o.id)},Issue:{label:\"Issue\",value:ee.tuple(ee.Type.NO_HINT,o.title)},URL:{label:\"URL\",value:ee.tuple(ee.Type.URL,o.url)},Severity:{label:\"Severity\",value:ee.tuple(ee.Type.NO_HINT,o.severity)},[\"Vulnerable Versions\"]:{label:\"Vulnerable Versions\",value:ee.tuple(ee.Type.RANGE,o.vulnerable_versions)},[\"Patched Versions\"]:{label:\"Patched Versions\",value:ee.tuple(ee.Type.RANGE,o.patched_versions)},Via:{label:\"Via\",value:ee.tuple(ee.Type.NO_HINT,Array.from(new Set(o.findings.map(a=>a.paths).flat().map(a=>a.split(\">\")[0]))).join(\", \"))},Recommendation:{label:\"Recommendation\",value:ee.tuple(ee.Type.NO_HINT,(s=o.recommendation)==null?void 0:s.replace(/\\n/g,\" \"))}}};return i}function iue(r,e,{all:t,environment:i}){let n=t?r.workspaces:[e],s=[\"all\",\"production\"].includes(i),o=[];if(s)for(let c of n)for(let u of c.manifest.dependencies.values())o.push(u);let a=[\"all\",\"development\"].includes(i),l=[];if(a)for(let c of n)for(let u of c.manifest.devDependencies.values())l.push(u);return $ce([...o,...l].filter(c=>P.parseRange(c.range).protocol===null))}function nue(r,e,{all:t}){var s;let i=jVe(r,e,{all:t}),n={};for(let o of r.storedPackages.values())n[P.stringifyIdent(o)]={version:(s=o.version)!=null?s:\"0.0.0\",integrity:o.identHash,requires:$ce(o.dependencies.values()),dev:i.has(P.convertLocatorToDescriptor(o).descriptorHash)};return n}var Gu=class extends De{constructor(){super(...arguments);this.all=z.Boolean(\"-A,--all\",!1,{description:\"Audit dependencies from all workspaces\"});this.recursive=z.Boolean(\"-R,--recursive\",!1,{description:\"Audit transitive dependencies as well\"});this.environment=z.String(\"--environment\",\"all\",{description:\"Which environments to cover\",validator:Wi(wb)});this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.severity=z.String(\"--severity\",\"info\",{description:\"Minimal severity requested for packages to be displayed\",validator:Wi(Bb)});this.excludes=z.Array(\"--exclude\",[],{description:\"Array of glob patterns of packages to exclude from audit\"});this.ignores=z.Array(\"--ignore\",[],{description:\"Array of glob patterns of advisory ID's to ignore in the audit report\"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let s=iue(i,n,{all:this.all,environment:this.environment}),o=nue(i,n,{all:this.all});if(!this.recursive)for(let C of Object.keys(o))Object.prototype.hasOwnProperty.call(s,C)?o[C].requires={}:delete o[C];let a=Array.from(new Set([...t.get(\"npmAuditExcludePackages\"),...this.excludes]));if(a){for(let C of Object.keys(s))EE.default.isMatch(C,a)&&delete s[C];for(let C of Object.keys(o))EE.default.isMatch(C,a)&&delete o[C];for(let C of Object.keys(o))for(let y of Object.keys(o[C].requires))EE.default.isMatch(y,a)&&delete o[C].requires[y]}let l={requires:s,dependencies:o},c=or.getAuditRegistry(n.manifest,{configuration:t}),u,g=await _o.start({configuration:t,stdout:this.context.stdout},async()=>{u=await Mt.post(\"/-/npm/v1/security/audits/quick\",l,{authType:Mt.AuthType.BEST_EFFORT,configuration:t,jsonResponse:!0,registry:c})});if(g.hasErrors())return g.exitCode();let f=Array.from(new Set([...t.get(\"npmAuditIgnoreAdvisories\"),...this.ignores]));if(f){for(let C of Object.keys(u.advisories))if(EE.default.isMatch(C,f)){let y=u.advisories[C];u.metadata.vulnerabilities[y.severity]-=1,delete u.advisories[C]}}let h=tue(u.metadata.vulnerabilities,this.severity);return!this.json&&h?(Vn.emitTree(rue(u,this.severity),{configuration:t,json:this.json,stdout:this.context.stdout,separators:2}),1):(await Ge.start({configuration:t,includeFooter:!1,json:this.json,stdout:this.context.stdout},async C=>{C.reportJson(u),h||C.reportInfo(1,\"No audit suggestions\")})).exitCode()}};Gu.paths=[[\"npm\",\"audit\"]],Gu.usage=ve.Usage({description:\"perform a vulnerability audit against the installed packages\",details:`\n      This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths).\n\n      For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \\`-A,--all\\`. To extend this search to both direct and transitive dependencies, use \\`-R,--recursive\\`.\n\n      Applying the \\`--severity\\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${mE.map(t=>`\\`${t}\\``).join(\", \")}.\n\n      If the \\`--json\\` flag is set, Yarn will print the output exactly as received from the registry. Regardless of this flag, the process will exit with a non-zero exit code if a report is found for the selected packages.\n\n      If certain packages produce false positives for a particular environment, the \\`--exclude\\` flag can be used to exclude any number of packages from the audit. This can also be set in the configuration file with the \\`npmAuditExcludePackages\\` option.\n\n      If particular advisories are needed to be ignored, the \\`--ignore\\` flag can be used with Advisory ID's to ignore any number of advisories in the audit report. This can also be set in the configuration file with the \\`npmAuditIgnoreAdvisories\\` option.\n\n      To understand the dependency tree requiring vulnerable packages, check the raw report with the \\`--json\\` flag or use \\`yarn why <package>\\` to get more information as to who depends on them.\n    `,examples:[[\"Checks for known security issues with the installed packages. The output is a list of known issues.\",\"yarn npm audit\"],[\"Audit dependencies in all workspaces\",\"yarn npm audit --all\"],[\"Limit auditing to `dependencies` (excludes `devDependencies`)\",\"yarn npm audit --environment production\"],[\"Show audit report as valid JSON\",\"yarn npm audit --json\"],[\"Audit all direct and transitive dependencies\",\"yarn npm audit --recursive\"],[\"Output moderate (or more severe) vulnerabilities\",\"yarn npm audit --severity moderate\"],[\"Exclude certain packages\",\"yarn npm audit --exclude package1 --exclude package2\"],[\"Ignore specific advisories\",\"yarn npm audit --ignore 1234567 --ignore 7654321\"]]});var TM=Pe(Xr()),OM=J(\"util\"),Yu=class extends De{constructor(){super(...arguments);this.fields=z.String(\"-f,--fields\",{description:\"A comma-separated list of manifest fields that should be displayed\"});this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.packages=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd),n=typeof this.fields<\"u\"?new Set([\"name\",...this.fields.split(/\\s*,\\s*/)]):null,s=[],o=!1,a=await Ge.start({configuration:t,includeFooter:!1,json:this.json,stdout:this.context.stdout},async l=>{for(let c of this.packages){let u;if(c===\".\"){let L=i.topLevelWorkspace;if(!L.manifest.name)throw new be(`Missing ${ee.pretty(t,\"name\",ee.Type.CODE)} field in ${K.fromPortablePath(x.join(L.cwd,xt.manifest))}`);u=P.makeDescriptor(L.manifest.name,\"unknown\")}else u=P.parseDescriptor(c);let g=Mt.getIdentUrl(u),f=MM(await Mt.get(g,{configuration:t,ident:u,jsonResponse:!0,customErrorMessage:Mt.customPackageError})),h=Object.keys(f.versions).sort(TM.default.compareLoose),C=f[\"dist-tags\"].latest||h[h.length-1],y=vt.validRange(u.range);if(y){let L=TM.default.maxSatisfying(h,y);L!==null?C=L:(l.reportWarning(0,`Unmet range ${P.prettyRange(t,u.range)}; falling back to the latest version`),o=!0)}else Object.prototype.hasOwnProperty.call(f[\"dist-tags\"],u.range)?C=f[\"dist-tags\"][u.range]:u.range!==\"unknown\"&&(l.reportWarning(0,`Unknown tag ${P.prettyRange(t,u.range)}; falling back to the latest version`),o=!0);let B=f.versions[C],v={...f,...B,version:C,versions:h},D;if(n!==null){D={};for(let L of n){let H=v[L];if(typeof H<\"u\")D[L]=H;else{l.reportWarning(1,`The ${ee.pretty(t,L,ee.Type.CODE)} field doesn't exist inside ${P.prettyIdent(t,u)}'s information`),o=!0;continue}}}else this.json||(delete v.dist,delete v.readme,delete v.users),D=v;l.reportJson(D),this.json||s.push(D)}});OM.inspect.styles.name=\"cyan\";for(let l of s)(l!==s[0]||o)&&this.context.stdout.write(`\n`),this.context.stdout.write(`${(0,OM.inspect)(l,{depth:1/0,colors:!0,compact:!1})}\n`);return a.exitCode()}};Yu.paths=[[\"npm\",\"info\"]],Yu.usage=ve.Usage({category:\"Npm-related commands\",description:\"show information about a package\",details:\"\\n      This command fetches information about a package from the npm registry and prints it in a tree format.\\n\\n      The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\\n\\n      Append `@<range>` to the package argument to provide information specific to the latest version that satisfies the range or to the corresponding tagged version. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\\n\\n      If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package information.\\n\\n      By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\\n    \",examples:[[\"Show all available information about react (except the `dist`, `readme`, and `users` fields)\",\"yarn npm info react\"],[\"Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)\",\"yarn npm info react --json\"],[\"Show all available information about react@16.12.0\",\"yarn npm info react@16.12.0\"],[\"Show all available information about react@next\",\"yarn npm info react@next\"],[\"Show the description of react\",\"yarn npm info react --fields description\"],[\"Show all available versions of react\",\"yarn npm info react --fields versions\"],[\"Show the readme of react\",\"yarn npm info react --fields readme\"],[\"Show a few fields of react\",\"yarn npm info react --fields homepage,repository\"]]});function MM(r){if(Array.isArray(r)){let e=[];for(let t of r)t=MM(t),t&&e.push(t);return e}else if(typeof r==\"object\"&&r!==null){let e={};for(let t of Object.keys(r)){if(t.startsWith(\"_\"))continue;let i=MM(r[t]);i&&(e[t]=i)}return e}else return r||null}var sue=Pe(Pm()),ju=class extends De{constructor(){super(...arguments);this.scope=z.String(\"-s,--scope\",{description:\"Login to the registry configured for a given scope\"});this.publish=z.Boolean(\"--publish\",!1,{description:\"Login to the publish registry\"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=await Qb({configuration:t,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await Ge.start({configuration:t,stdout:this.context.stdout,includeFooter:!1},async s=>{let o=await zVe({configuration:t,registry:i,report:s,stdin:this.context.stdin,stdout:this.context.stdout}),a=`/-/user/org.couchdb.user:${encodeURIComponent(o.name)}`,l=await Mt.put(a,o,{attemptedAs:o.name,configuration:t,registry:i,jsonResponse:!0,authType:Mt.AuthType.NO_AUTH});return await WVe(i,l.token,{configuration:t,scope:this.scope}),s.reportInfo(0,\"Successfully logged in\")})).exitCode()}};ju.paths=[[\"npm\",\"login\"]],ju.usage=ve.Usage({category:\"Npm-related commands\",description:\"store new login info to access the npm registry\",details:\"\\n      This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\\n\\n      Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\\n\\n      Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\\n    \",examples:[[\"Login to the default registry\",\"yarn npm login\"],[\"Login to the registry linked to the @my-scope registry\",\"yarn npm login --scope my-scope\"],[\"Login to the publish registry for the current package\",\"yarn npm login --publish\"]]});async function Qb({scope:r,publish:e,configuration:t,cwd:i}){return r&&e?or.getScopeRegistry(r,{configuration:t,type:or.RegistryType.PUBLISH_REGISTRY}):r?or.getScopeRegistry(r,{configuration:t}):e?or.getPublishRegistry((await Ph(t,i)).manifest,{configuration:t}):or.getDefaultRegistry({configuration:t})}async function WVe(r,e,{configuration:t,scope:i}){let n=o=>a=>{let l=Ie.isIndexableObject(a)?a:{},c=l[o],u=Ie.isIndexableObject(c)?c:{};return{...l,[o]:{...u,npmAuthToken:e}}},s=i?{npmScopes:n(i)}:{npmRegistries:n(r)};return await ye.updateHomeConfiguration(s)}async function zVe({configuration:r,registry:e,report:t,stdin:i,stdout:n}){t.reportInfo(0,`Logging in to ${ee.pretty(r,e,ee.Type.URL)}`);let s=!1;if(e.match(/^https:\\/\\/npm\\.pkg\\.github\\.com(\\/|$)/)&&(t.reportInfo(0,\"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions.\"),s=!0),t.reportSeparator(),process.env.YARN_IS_TEST_ENV)return{name:process.env.YARN_INJECT_NPM_USER||\"\",password:process.env.YARN_INJECT_NPM_PASSWORD||\"\"};let{username:o,password:a}=await(0,sue.prompt)([{type:\"input\",name:\"username\",message:\"Username:\",required:!0,onCancel:()=>process.exit(130),stdin:i,stdout:n},{type:\"password\",name:\"password\",message:s?\"Token:\":\"Password:\",required:!0,onCancel:()=>process.exit(130),stdin:i,stdout:n}]);return t.reportSeparator(),{name:o,password:a}}var ap=new Set([\"npmAuthIdent\",\"npmAuthToken\"]),qu=class extends De{constructor(){super(...arguments);this.scope=z.String(\"-s,--scope\",{description:\"Logout of the registry configured for a given scope\"});this.publish=z.Boolean(\"--publish\",!1,{description:\"Logout of the publish registry\"});this.all=z.Boolean(\"-A,--all\",!1,{description:\"Logout of all registries\"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=async()=>{var c;let s=await Qb({configuration:t,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),o=await ye.find(this.context.cwd,this.context.plugins),a=P.makeIdent((c=this.scope)!=null?c:null,\"pkg\");return!or.getAuthConfiguration(s,{configuration:o,ident:a}).get(\"npmAuthToken\")};return(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{if(this.all&&(await XVe(),s.reportInfo(0,\"Successfully logged out from everything\")),this.scope){await oue(\"npmScopes\",this.scope),await i()?s.reportInfo(0,`Successfully logged out from ${this.scope}`):s.reportWarning(0,\"Scope authentication settings removed, but some other ones settings still apply to it\");return}let o=await Qb({configuration:t,cwd:this.context.cwd,publish:this.publish});await oue(\"npmRegistries\",o),await i()?s.reportInfo(0,`Successfully logged out from ${o}`):s.reportWarning(0,\"Registry authentication settings removed, but some other ones settings still apply to it\")})).exitCode()}};qu.paths=[[\"npm\",\"logout\"]],qu.usage=ve.Usage({category:\"Npm-related commands\",description:\"logout of the npm registry\",details:\"\\n      This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\\n\\n      Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\\n\\n      Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\\n\\n      Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\\n    \",examples:[[\"Logout of the default registry\",\"yarn npm logout\"],[\"Logout of the @my-scope scope\",\"yarn npm logout --scope my-scope\"],[\"Logout of the publish registry for the current package\",\"yarn npm logout --publish\"],[\"Logout of all registries\",\"yarn npm logout --all\"]]});function VVe(r,e){let t=r[e];if(!Ie.isIndexableObject(t))return!1;let i=new Set(Object.keys(t));if([...ap].every(s=>!i.has(s)))return!1;for(let s of ap)i.delete(s);if(i.size===0)return r[e]=void 0,!0;let n={...t};for(let s of ap)delete n[s];return r[e]=n,!0}async function XVe(){let r=e=>{let t=!1,i=Ie.isIndexableObject(e)?{...e}:{};i.npmAuthToken&&(delete i.npmAuthToken,t=!0);for(let n of Object.keys(i))VVe(i,n)&&(t=!0);if(Object.keys(i).length!==0)return t?i:e};return await ye.updateHomeConfiguration({npmRegistries:r,npmScopes:r})}async function oue(r,e){return await ye.updateHomeConfiguration({[r]:t=>{let i=Ie.isIndexableObject(t)?t:{};if(!Object.prototype.hasOwnProperty.call(i,e))return t;let n=i[e],s=Ie.isIndexableObject(n)?n:{},o=new Set(Object.keys(s));if([...ap].every(l=>!o.has(l)))return t;for(let l of ap)o.delete(l);if(o.size===0)return Object.keys(i).length===1?void 0:{...i,[e]:void 0};let a={};for(let l of ap)a[l]=void 0;return{...i,[e]:{...s,...a}}}})}var Ju=class extends De{constructor(){super(...arguments);this.access=z.String(\"--access\",{description:\"The access for the published package (public or restricted)\"});this.tag=z.String(\"--tag\",\"latest\",{description:\"The tag on the registry that the package should be attached to\"});this.tolerateRepublish=z.Boolean(\"--tolerate-republish\",!1,{description:\"Warn and exit when republishing an already existing version of a package\"});this.otp=z.String(\"--otp\",{description:\"The OTP token to use with the command\"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);if(n.manifest.private)throw new be(\"Private workspaces cannot be published\");if(n.manifest.name===null||n.manifest.version===null)throw new be(\"Workspaces must have valid names and versions to be published on an external registry\");await i.restoreInstallState();let s=n.manifest.name,o=n.manifest.version,a=or.getPublishRegistry(n.manifest,{configuration:t});return(await Ge.start({configuration:t,stdout:this.context.stdout},async c=>{var u,g;if(this.tolerateRepublish)try{let f=await Mt.get(Mt.getIdentUrl(s),{configuration:t,registry:a,ident:s,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(f,\"versions\"))throw new at(15,'Registry returned invalid data for - missing \"versions\" field');if(Object.prototype.hasOwnProperty.call(f.versions,o)){c.reportWarning(0,`Registry already knows about version ${o}; skipping.`);return}}catch(f){if(((g=(u=f.originalError)==null?void 0:u.response)==null?void 0:g.statusCode)!==404)throw f}await Jt.maybeExecuteWorkspaceLifecycleScript(n,\"prepublish\",{report:c}),await ia.prepareForPack(n,{report:c},async()=>{let f=await ia.genPackList(n);for(let B of f)c.reportInfo(null,B);let h=await ia.genPackStream(n,f),p=await Ie.bufferStream(h),C=await op.getGitHead(n.cwd),y=await op.makePublishBody(n,p,{access:this.access,tag:this.tag,registry:a,gitHead:C});await Mt.put(Mt.getIdentUrl(s),y,{configuration:t,registry:a,ident:s,otp:this.otp,jsonResponse:!0})}),c.reportInfo(0,\"Package archive published\")})).exitCode()}};Ju.paths=[[\"npm\",\"publish\"]],Ju.usage=ve.Usage({category:\"Npm-related commands\",description:\"publish the active workspace to the npm registry\",details:'\\n      This command will pack the active workspace into a fresh archive and upload it to the npm registry.\\n\\n      The package will by default be attached to the `latest` tag on the registry, but this behavior can be overriden by using the `--tag` option.\\n\\n      Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka \"private packages\"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\\n    ',examples:[[\"Publish the active workspace\",\"yarn npm publish\"]]});var aue=Pe(Xr());var Wu=class extends De{constructor(){super(...arguments);this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.package=z.String({required:!1})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s;if(typeof this.package<\"u\")s=P.parseIdent(this.package);else{if(!n)throw new ct(i.cwd,this.context.cwd);if(!n.manifest.name)throw new be(`Missing 'name' field in ${K.fromPortablePath(x.join(n.cwd,xt.manifest))}`);s=n.manifest.name}let o=await IE(s,t),l={children:Ie.sortMap(Object.entries(o),([c])=>c).map(([c,u])=>({value:ee.tuple(ee.Type.RESOLUTION,{descriptor:P.makeDescriptor(s,c),locator:P.makeLocator(s,u)})}))};return Vn.emitTree(l,{configuration:t,json:this.json,stdout:this.context.stdout})}};Wu.paths=[[\"npm\",\"tag\",\"list\"]],Wu.usage=ve.Usage({category:\"Npm-related commands\",description:\"list all dist-tags of a package\",details:`\n      This command will list all tags of a package from the npm registry.\n\n      If the package is not specified, Yarn will default to the current workspace.\n    `,examples:[[\"List all tags of package `my-pkg`\",\"yarn npm tag list my-pkg\"]]});async function IE(r,e){let t=`/-/package${Mt.getIdentUrl(r)}/dist-tags`;return Mt.get(t,{configuration:e,ident:r,jsonResponse:!0,customErrorMessage:Mt.customPackageError})}var zu=class extends De{constructor(){super(...arguments);this.package=z.String();this.tag=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);let s=P.parseDescriptor(this.package,!0),o=s.range;if(!aue.default.valid(o))throw new be(`The range ${ee.pretty(t,s.range,ee.Type.RANGE)} must be a valid semver version`);let a=or.getPublishRegistry(n.manifest,{configuration:t}),l=ee.pretty(t,s,ee.Type.IDENT),c=ee.pretty(t,o,ee.Type.RANGE),u=ee.pretty(t,this.tag,ee.Type.CODE);return(await Ge.start({configuration:t,stdout:this.context.stdout},async f=>{let h=await IE(s,t);Object.prototype.hasOwnProperty.call(h,this.tag)&&h[this.tag]===o&&f.reportWarning(0,`Tag ${u} is already set to version ${c}`);let p=`/-/package${Mt.getIdentUrl(s)}/dist-tags/${encodeURIComponent(this.tag)}`;await Mt.put(p,o,{configuration:t,registry:a,ident:s,jsonRequest:!0,jsonResponse:!0}),f.reportInfo(0,`Tag ${u} added to version ${c} of package ${l}`)})).exitCode()}};zu.paths=[[\"npm\",\"tag\",\"add\"]],zu.usage=ve.Usage({category:\"Npm-related commands\",description:\"add a tag for a specific version of a package\",details:`\n      This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten.\n    `,examples:[[\"Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`\",\"yarn npm tag add my-pkg@2.3.4-beta.4 beta\"]]});var Vu=class extends De{constructor(){super(...arguments);this.package=z.String();this.tag=z.String()}async execute(){if(this.tag===\"latest\")throw new be(\"The 'latest' tag cannot be removed.\");let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);let s=P.parseIdent(this.package),o=or.getPublishRegistry(n.manifest,{configuration:t}),a=ee.pretty(t,this.tag,ee.Type.CODE),l=ee.pretty(t,s,ee.Type.IDENT),c=await IE(s,t);if(!Object.prototype.hasOwnProperty.call(c,this.tag))throw new be(`${a} is not a tag of package ${l}`);return(await Ge.start({configuration:t,stdout:this.context.stdout},async g=>{let f=`/-/package${Mt.getIdentUrl(s)}/dist-tags/${encodeURIComponent(this.tag)}`;await Mt.del(f,{configuration:t,registry:o,ident:s,jsonResponse:!0}),g.reportInfo(0,`Tag ${a} removed from package ${l}`)})).exitCode()}};Vu.paths=[[\"npm\",\"tag\",\"remove\"]],Vu.usage=ve.Usage({category:\"Npm-related commands\",description:\"remove a tag from a package\",details:`\n      This command will remove a tag from a package from the npm registry.\n    `,examples:[[\"Remove the `beta` tag from package `my-pkg`\",\"yarn npm tag remove my-pkg beta\"]]});var Xu=class extends De{constructor(){super(...arguments);this.scope=z.String(\"-s,--scope\",{description:\"Print username for the registry configured for a given scope\"});this.publish=z.Boolean(\"--publish\",!1,{description:\"Print username for the publish registry\"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i;return this.scope&&this.publish?i=or.getScopeRegistry(this.scope,{configuration:t,type:or.RegistryType.PUBLISH_REGISTRY}):this.scope?i=or.getScopeRegistry(this.scope,{configuration:t}):this.publish?i=or.getPublishRegistry((await Ph(t,this.context.cwd)).manifest,{configuration:t}):i=or.getDefaultRegistry({configuration:t}),(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{var a,l;let o;try{o=await Mt.get(\"/-/whoami\",{configuration:t,registry:i,authType:Mt.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?P.makeIdent(this.scope,\"\"):void 0})}catch(c){if(((a=c.response)==null?void 0:a.statusCode)===401||((l=c.response)==null?void 0:l.statusCode)===403){s.reportError(41,\"Authentication failed - your credentials may have expired\");return}else throw c}s.reportInfo(0,o.username)})).exitCode()}};Xu.paths=[[\"npm\",\"whoami\"]],Xu.usage=ve.Usage({category:\"Npm-related commands\",description:\"display the name of the authenticated user\",details:\"\\n      Print the username associated with the current authentication settings to the standard output.\\n\\n      When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\\n\\n      When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\\n    \",examples:[[\"Print username for the default registry\",\"yarn npm whoami\"],[\"Print username for the registry on a given scope\",\"yarn npm whoami --scope company\"]]});var _Ve={configuration:{npmPublishAccess:{description:\"Default access of the published packages\",type:\"STRING\",default:null},npmAuditExcludePackages:{description:\"Array of glob patterns of packages to exclude from npm audit\",type:\"STRING\",default:[],isArray:!0},npmAuditIgnoreAdvisories:{description:\"Array of glob patterns of advisory IDs to exclude from npm audit\",type:\"STRING\",default:[],isArray:!0}},commands:[Gu,Yu,ju,qu,Ju,zu,Wu,Vu,Xu]},ZVe=_Ve;var zM={};ut(zM,{default:()=>h6e,patchUtils:()=>_u});var _u={};ut(_u,{applyPatchFile:()=>Sb,diffFolders:()=>JM,ensureUnpatchedDescriptor:()=>HM,extractPackageToDisk:()=>qM,extractPatchFlags:()=>hue,isParentRequired:()=>jM,loadPatchFiles:()=>QE,makeDescriptor:()=>GM,makeLocator:()=>YM,makePatchHash:()=>WM,parseDescriptor:()=>wE,parseLocator:()=>BE,parsePatchFile:()=>yE});var $Ve=/^@@ -(\\d+)(,(\\d+))? \\+(\\d+)(,(\\d+))? @@.*/;function Ap(r){return x.relative(Oe.root,x.resolve(Oe.root,K.toPortablePath(r)))}function e6e(r){let e=r.trim().match($Ve);if(!e)throw new Error(`Bad header line: '${r}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var t6e=420,r6e=493;var Aue=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),i6e=r=>({header:e6e(r),parts:[]}),n6e={[\"@\"]:\"header\",[\"-\"]:\"deletion\",[\"+\"]:\"insertion\",[\" \"]:\"context\",[\"\\\\\"]:\"pragma\",undefined:\"context\"};function s6e(r){let e=[],t=Aue(),i=\"parsing header\",n=null,s=null;function o(){n&&(s&&(n.parts.push(s),s=null),t.hunks.push(n),n=null)}function a(){o(),e.push(t),t=Aue()}for(let l=0;l<r.length;l++){let c=r[l];if(i===\"parsing header\")if(c.startsWith(\"@@\"))i=\"parsing hunks\",t.hunks=[],l-=1;else if(c.startsWith(\"diff --git \")){t&&t.diffLineFromPath&&a();let u=c.match(/^diff --git a\\/(.*?) b\\/(.*?)\\s*$/);if(!u)throw new Error(`Bad diff line: ${c}`);t.diffLineFromPath=u[1],t.diffLineToPath=u[2]}else if(c.startsWith(\"old mode \"))t.oldMode=c.slice(9).trim();else if(c.startsWith(\"new mode \"))t.newMode=c.slice(9).trim();else if(c.startsWith(\"deleted file mode \"))t.deletedFileMode=c.slice(18).trim();else if(c.startsWith(\"new file mode \"))t.newFileMode=c.slice(14).trim();else if(c.startsWith(\"rename from \"))t.renameFrom=c.slice(12).trim();else if(c.startsWith(\"rename to \"))t.renameTo=c.slice(10).trim();else if(c.startsWith(\"index \")){let u=c.match(/(\\w+)\\.\\.(\\w+)/);if(!u)continue;t.beforeHash=u[1],t.afterHash=u[2]}else c.startsWith(\"semver exclusivity \")?t.semverExclusivity=c.slice(19).trim():c.startsWith(\"--- \")?t.fromPath=c.slice(6).trim():c.startsWith(\"+++ \")&&(t.toPath=c.slice(6).trim());else{let u=n6e[c[0]]||null;switch(u){case\"header\":o(),n=i6e(c);break;case null:i=\"parsing header\",a(),l-=1;break;case\"pragma\":{if(!c.startsWith(\"\\\\ No newline at end of file\"))throw new Error(`Unrecognized pragma in patch file: ${c}`);if(!s)throw new Error(\"Bad parser state: No newline at EOF pragma encountered without context\");s.noNewlineAtEndOfFile=!0}break;case\"context\":case\"deletion\":case\"insertion\":{if(!n)throw new Error(\"Bad parser state: Hunk lines encountered before hunk header\");s&&s.type!==u&&(n.parts.push(s),s=null),s||(s={type:u,lines:[],noNewlineAtEndOfFile:!1}),s.lines.push(c.slice(1))}break;default:Ie.assertNever(u);break}}}a();for(let{hunks:l}of e)if(l)for(let c of l)a6e(c);return e}function o6e(r){let e=[];for(let t of r){let{semverExclusivity:i,diffLineFromPath:n,diffLineToPath:s,oldMode:o,newMode:a,deletedFileMode:l,newFileMode:c,renameFrom:u,renameTo:g,beforeHash:f,afterHash:h,fromPath:p,toPath:C,hunks:y}=t,B=u?\"rename\":l?\"file deletion\":c?\"file creation\":y&&y.length>0?\"patch\":\"mode change\",v=null;switch(B){case\"rename\":{if(!u||!g)throw new Error(\"Bad parser state: rename from & to not given\");e.push({type:\"rename\",semverExclusivity:i,fromPath:Ap(u),toPath:Ap(g)}),v=g}break;case\"file deletion\":{let D=n||p;if(!D)throw new Error(\"Bad parse state: no path given for file deletion\");e.push({type:\"file deletion\",semverExclusivity:i,hunk:y&&y[0]||null,path:Ap(D),mode:bb(l),hash:f})}break;case\"file creation\":{let D=s||C;if(!D)throw new Error(\"Bad parse state: no path given for file creation\");e.push({type:\"file creation\",semverExclusivity:i,hunk:y&&y[0]||null,path:Ap(D),mode:bb(c),hash:h})}break;case\"patch\":case\"mode change\":v=C||s;break;default:Ie.assertNever(B);break}v&&o&&a&&o!==a&&e.push({type:\"mode change\",semverExclusivity:i,path:Ap(v),oldMode:bb(o),newMode:bb(a)}),v&&y&&y.length&&e.push({type:\"patch\",semverExclusivity:i,path:Ap(v),hunks:y,beforeHash:f,afterHash:h})}if(e.length===0)throw new Error(\"Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string\");return e}function bb(r){let e=parseInt(r,8)&511;if(e!==t6e&&e!==r6e)throw new Error(`Unexpected file mode string: ${r}`);return e}function yE(r){let e=r.split(/\\n/g);return e[e.length-1]===\"\"&&e.pop(),o6e(s6e(e))}function a6e(r){let e=0,t=0;for(let{type:i,lines:n}of r.parts)switch(i){case\"context\":t+=n.length,e+=n.length;break;case\"deletion\":e+=n.length;break;case\"insertion\":t+=n.length;break;default:Ie.assertNever(i);break}if(e!==r.header.original.length||t!==r.header.patched.length){let i=n=>n<0?n:`+${n}`;throw new Error(`hunk header integrity check failed (expected @@ ${i(r.header.original.length)} ${i(r.header.patched.length)} @@, got @@ ${i(e)} ${i(t)} @@)`)}}var lp=class extends Error{constructor(t,i){super(`Cannot apply hunk #${t+1}`);this.hunk=i}};async function cp(r,e,t){let i=await r.lstatPromise(e),n=await t();if(typeof n<\"u\"&&(e=n),r.lutimesPromise)await r.lutimesPromise(e,i.atime,i.mtime);else if(!i.isSymbolicLink())await r.utimesPromise(e,i.atime,i.mtime);else throw new Error(\"Cannot preserve the time values of a symlink\")}async function Sb(r,{baseFs:e=new $t,dryRun:t=!1,version:i=null}={}){for(let n of r)if(!(n.semverExclusivity!==null&&i!==null&&!vt.satisfiesWithPrereleases(i,n.semverExclusivity)))switch(n.type){case\"file deletion\":if(t){if(!e.existsSync(n.path))throw new Error(`Trying to delete a file that doesn't exist: ${n.path}`)}else await cp(e,x.dirname(n.path),async()=>{await e.unlinkPromise(n.path)});break;case\"rename\":if(t){if(!e.existsSync(n.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${n.fromPath}`)}else await cp(e,x.dirname(n.fromPath),async()=>{await cp(e,x.dirname(n.toPath),async()=>{await cp(e,n.fromPath,async()=>(await e.movePromise(n.fromPath,n.toPath),n.toPath))})});break;case\"file creation\":if(t){if(e.existsSync(n.path))throw new Error(`Trying to create a file that already exists: ${n.path}`)}else{let s=n.hunk?n.hunk.parts[0].lines.join(`\n`)+(n.hunk.parts[0].noNewlineAtEndOfFile?\"\":`\n`):\"\";await e.mkdirpPromise(x.dirname(n.path),{chmod:493,utimes:[xr.SAFE_TIME,xr.SAFE_TIME]}),await e.writeFilePromise(n.path,s,{mode:n.mode}),await e.utimesPromise(n.path,xr.SAFE_TIME,xr.SAFE_TIME)}break;case\"patch\":await cp(e,n.path,async()=>{await c6e(n,{baseFs:e,dryRun:t})});break;case\"mode change\":{let o=(await e.statPromise(n.path)).mode;if(lue(n.newMode)!==lue(o))continue;await cp(e,n.path,async()=>{await e.chmodPromise(n.path,n.newMode)})}break;default:Ie.assertNever(n);break}}function lue(r){return(r&64)>0}function cue(r){return r.replace(/\\s+$/,\"\")}function l6e(r,e){return cue(r)===cue(e)}async function c6e({hunks:r,path:e},{baseFs:t,dryRun:i=!1}){let n=await t.statSync(e).mode,o=(await t.readFileSync(e,\"utf8\")).split(/\\n/),a=[],l=0,c=0;for(let g of r){let f=Math.max(c,g.header.patched.start+l),h=Math.max(0,f-c),p=Math.max(0,o.length-f-g.header.original.length),C=Math.max(h,p),y=0,B=0,v=null;for(;y<=C;){if(y<=h&&(B=f-y,v=uue(g,o,B),v!==null)){y=-y;break}if(y<=p&&(B=f+y,v=uue(g,o,B),v!==null))break;y+=1}if(v===null)throw new lp(r.indexOf(g),g);a.push(v),l+=y,c=B+g.header.original.length}if(i)return;let u=0;for(let g of a)for(let f of g)switch(f.type){case\"splice\":{let h=f.index+u;o.splice(h,f.numToDelete,...f.linesToInsert),u+=f.linesToInsert.length-f.numToDelete}break;case\"pop\":o.pop();break;case\"push\":o.push(f.line);break;default:Ie.assertNever(f);break}await t.writeFilePromise(e,o.join(`\n`),{mode:n})}function uue(r,e,t){let i=[];for(let n of r.parts)switch(n.type){case\"context\":case\"deletion\":{for(let s of n.lines){let o=e[t];if(o==null||!l6e(o,s))return null;t+=1}n.type===\"deletion\"&&(i.push({type:\"splice\",index:t-n.lines.length,numToDelete:n.lines.length,linesToInsert:[]}),n.noNewlineAtEndOfFile&&i.push({type:\"push\",line:\"\"}))}break;case\"insertion\":i.push({type:\"splice\",index:t,numToDelete:0,linesToInsert:n.lines}),n.noNewlineAtEndOfFile&&i.push({type:\"pop\"});break;default:Ie.assertNever(n.type);break}return i}var g6e=/^builtin<([^>]+)>$/;function UM(r,e){let{source:t,selector:i,params:n}=P.parseRange(r);if(t===null)throw new Error(\"Patch locators must explicitly define their source\");let s=i?i.split(/&/).map(c=>K.toPortablePath(c)):[],o=n&&typeof n.locator==\"string\"?P.parseLocator(n.locator):null,a=n&&typeof n.version==\"string\"?n.version:null,l=e(t);return{parentLocator:o,sourceItem:l,patchPaths:s,sourceVersion:a}}function wE(r){let{sourceItem:e,...t}=UM(r.range,P.parseDescriptor);return{...t,sourceDescriptor:e}}function BE(r){let{sourceItem:e,...t}=UM(r.reference,P.parseLocator);return{...t,sourceLocator:e}}function HM(r){if(!r.range.startsWith(\"patch:\"))return r;let{sourceItem:e}=UM(r.range,P.parseDescriptor);return e}function gue({parentLocator:r,sourceItem:e,patchPaths:t,sourceVersion:i,patchHash:n},s){let o=r!==null?{locator:P.stringifyLocator(r)}:{},a=typeof i<\"u\"?{version:i}:{},l=typeof n<\"u\"?{hash:n}:{};return P.makeRange({protocol:\"patch:\",source:s(e),selector:t.join(\"&\"),params:{...a,...l,...o}})}function GM(r,{parentLocator:e,sourceDescriptor:t,patchPaths:i}){return P.makeDescriptor(r,gue({parentLocator:e,sourceItem:t,patchPaths:i},P.stringifyDescriptor))}function YM(r,{parentLocator:e,sourcePackage:t,patchPaths:i,patchHash:n}){return P.makeLocator(r,gue({parentLocator:e,sourceItem:t,sourceVersion:t.version,patchPaths:i,patchHash:n},P.stringifyLocator))}function fue({onAbsolute:r,onRelative:e,onBuiltin:t},i){i.startsWith(\"~\")&&(i=i.slice(1));let s=i.match(g6e);return s!==null?t(s[1]):x.isAbsolute(i)?r(i):e(i)}function hue(r){let e=r.startsWith(\"~\");return e&&(r=r.slice(1)),{optional:e}}function jM(r){return fue({onAbsolute:()=>!1,onRelative:()=>!0,onBuiltin:()=>!1},r)}async function QE(r,e,t){let i=r!==null?await t.fetcher.fetch(r,t):null,n=i&&i.localPath?{packageFs:new jt(Oe.root),prefixPath:x.relative(Oe.root,i.localPath)}:i;i&&i!==n&&i.releaseFs&&i.releaseFs();let s=await Ie.releaseAfterUseAsync(async()=>await Promise.all(e.map(async o=>{let a=hue(o),l=await fue({onAbsolute:async()=>await M.readFilePromise(o,\"utf8\"),onRelative:async()=>{if(n===null)throw new Error(\"Assertion failed: The parent locator should have been fetched\");return await n.packageFs.readFilePromise(x.join(n.prefixPath,o),\"utf8\")},onBuiltin:async c=>await t.project.configuration.firstHook(u=>u.getBuiltinPatch,t.project,c)},o);return{...a,source:l}})));for(let o of s)typeof o.source==\"string\"&&(o.source=o.source.replace(/\\r\\n?/g,`\n`));return s}async function qM(r,{cache:e,project:t}){let i=t.storedPackages.get(r.locatorHash);if(typeof i>\"u\")throw new Error(\"Assertion failed: Expected the package to be registered\");let n=t.storedChecksums,s=new ti,o=t.configuration.makeFetcher(),a=await o.fetch(r,{cache:e,project:t,fetcher:o,checksums:n,report:s}),l=await M.mktempPromise(),c=x.join(l,\"source\"),u=x.join(l,\"user\"),g=x.join(l,\".yarn-patch.json\");return await Promise.all([M.copyPromise(c,a.prefixPath,{baseFs:a.packageFs}),M.copyPromise(u,a.prefixPath,{baseFs:a.packageFs}),M.writeJsonPromise(g,{locator:P.stringifyLocator(r),version:i.version})]),M.detachTemp(l),u}async function JM(r,e){let t=K.fromPortablePath(r).replace(/\\\\/g,\"/\"),i=K.fromPortablePath(e).replace(/\\\\/g,\"/\"),{stdout:n,stderr:s}=await Cr.execvp(\"git\",[\"-c\",\"core.safecrlf=false\",\"diff\",\"--src-prefix=a/\",\"--dst-prefix=b/\",\"--ignore-cr-at-eol\",\"--full-index\",\"--no-index\",\"--no-renames\",\"--text\",t,i],{cwd:K.toPortablePath(process.cwd()),env:{...process.env,GIT_CONFIG_NOSYSTEM:\"1\",HOME:\"\",XDG_CONFIG_HOME:\"\",USERPROFILE:\"\"}});if(s.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH.\nThe following error was reported by 'git':\n${s}`);let o=t.startsWith(\"/\")?a=>a.slice(1):a=>a;return n.replace(new RegExp(`(a|b)(${Ie.escapeRegExp(`/${o(t)}/`)})`,\"g\"),\"$1/\").replace(new RegExp(`(a|b)${Ie.escapeRegExp(`/${o(i)}/`)}`,\"g\"),\"$1/\").replace(new RegExp(Ie.escapeRegExp(`${t}/`),\"g\"),\"\").replace(new RegExp(Ie.escapeRegExp(`${i}/`),\"g\"),\"\")}function WM(r,e){let t=[];for(let{source:i}of r){if(i===null)continue;let n=yE(i);for(let s of n){let{semverExclusivity:o,...a}=s;o!==null&&e!==null&&!vt.satisfiesWithPrereleases(e,o)||t.push(JSON.stringify(a))}}return li.makeHash(`${3}`,...t).slice(0,6)}function pue(r,{configuration:e,report:t}){for(let i of r.parts)for(let n of i.lines)switch(i.type){case\"context\":t.reportInfo(null,`  ${ee.pretty(e,n,\"grey\")}`);break;case\"deletion\":t.reportError(28,`- ${ee.pretty(e,n,ee.Type.REMOVED)}`);break;case\"insertion\":t.reportError(28,`+ ${ee.pretty(e,n,ee.Type.ADDED)}`);break;default:Ie.assertNever(i.type)}}var vb=class{supports(e,t){return!!e.reference.startsWith(\"patch:\")}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),localPath:this.getLocalPath(e,t),checksum:o}}async patchPackage(e,t){let{parentLocator:i,sourceLocator:n,sourceVersion:s,patchPaths:o}=BE(e),a=await QE(i,o,t),l=await M.mktempPromise(),c=x.join(l,\"current.zip\"),u=await t.fetcher.fetch(n,t),g=P.getIdentVendorPath(e),f=await rn(),h=new Wr(c,{libzip:f,create:!0,level:t.project.configuration.get(\"compressionLevel\")});await Ie.releaseAfterUseAsync(async()=>{await h.copyPromise(g,u.prefixPath,{baseFs:u.packageFs,stableSort:!0})},u.releaseFs),h.saveAndClose();for(let{source:p,optional:C}of a){if(p===null)continue;let y=new Wr(c,{libzip:f,level:t.project.configuration.get(\"compressionLevel\")}),B=new jt(x.resolve(Oe.root,g),{baseFs:y});try{await Sb(yE(p),{baseFs:B,version:s})}catch(v){if(!(v instanceof lp))throw v;let D=t.project.configuration.get(\"enableInlineHunks\"),L=!D&&!C?\" (set enableInlineHunks for details)\":\"\",H=`${P.prettyLocator(t.project.configuration,e)}: ${v.message}${L}`,j=$=>{!D||pue(v.hunk,{configuration:t.project.configuration,report:$})};if(y.discardAndClose(),C){t.report.reportWarningOnce(66,H,{reportExtra:j});continue}else throw new at(66,H,j)}y.saveAndClose()}return new Wr(c,{libzip:f,level:t.project.configuration.get(\"compressionLevel\")})}};var xb=class{supportsDescriptor(e,t){return!!e.range.startsWith(\"patch:\")}supportsLocator(e,t){return!!e.reference.startsWith(\"patch:\")}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){let{patchPaths:n}=wE(e);return n.every(s=>!jM(s))?e:P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){let{sourceDescriptor:i}=wE(e);return[i]}async getCandidates(e,t,i){if(!i.fetchOptions)throw new Error(\"Assertion failed: This resolver cannot be used unless a fetcher is configured\");let{parentLocator:n,sourceDescriptor:s,patchPaths:o}=wE(e),a=await QE(n,o,i.fetchOptions),l=t.get(s.descriptorHash);if(typeof l>\"u\")throw new Error(\"Assertion failed: The dependency should have been resolved\");let c=WM(a,l.version);return[YM(e,{parentLocator:n,sourcePackage:l,patchPaths:o,patchHash:c})]}async getSatisfying(e,t,i){return null}async resolve(e,t){let{sourceLocator:i}=BE(e);return{...await t.resolver.resolve(i,t),...e}}};var Zu=class extends De{constructor(){super(...arguments);this.save=z.Boolean(\"-s,--save\",!1,{description:\"Add the patch to your resolution entries\"});this.patchFolder=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let s=x.resolve(this.context.cwd,K.toPortablePath(this.patchFolder)),o=x.join(s,\"../source\"),a=x.join(s,\"../.yarn-patch.json\");if(!M.existsSync(o))throw new be(\"The argument folder didn't get created by 'yarn patch'\");let l=await JM(o,s),c=await M.readJsonPromise(a),u=P.parseLocator(c.locator,!0);if(!i.storedPackages.has(u.locatorHash))throw new be(\"No package found in the project for the given locator\");if(!this.save){this.context.stdout.write(l);return}let g=t.get(\"patchFolder\"),f=x.join(g,`${P.slugifyLocator(u)}.patch`);await M.mkdirPromise(g,{recursive:!0}),await M.writeFilePromise(f,l);let h=new Map;for(let p of i.storedPackages.values()){if(P.isVirtualLocator(p))continue;let C=p.dependencies.get(u.identHash);if(!C)continue;let y=P.isVirtualDescriptor(C)?P.devirtualizeDescriptor(C):C,B=HM(y),v=i.storedResolutions.get(B.descriptorHash);if(!v)throw new Error(\"Assertion failed: Expected the resolution to have been registered\");if(!i.storedPackages.get(v))throw new Error(\"Assertion failed: Expected the package to have been registered\");let L=i.originalPackages.get(p.locatorHash);if(!L)throw new Error(\"Assertion failed: Expected the original package to have been registered\");let H=L.dependencies.get(C.identHash);if(!H)throw new Error(\"Assertion failed: Expected the original dependency to have been registered\");h.set(H.descriptorHash,H)}for(let p of h.values()){let C=GM(p,{parentLocator:null,sourceDescriptor:P.convertLocatorToDescriptor(u),sourceVersion:null,patchPaths:[`./${x.relative(i.cwd,f)}`]});i.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:P.stringifyIdent(C),description:p.range}},reference:C.range})}await i.persist()}};Zu.paths=[[\"patch-commit\"]],Zu.usage=ve.Usage({description:\"generate a patch out of a directory\",details:\"\\n      By default, this will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\\n\\n      With the `-s,--save` option set, the patchfile won't be printed on stdout anymore and will instead be stored within a local file (by default kept within `.yarn/patches`, but configurable via the `patchFolder` setting). A `resolutions` entry will also be added to your top-level manifest, referencing the patched package via the `patch:` protocol.\\n\\n      Note that only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\\n    \"});var $u=class extends De{constructor(){super(...arguments);this.json=z.Boolean(\"--json\",!1,{description:\"Format the output as an NDJSON stream\"});this.package=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let o=P.parseLocator(this.package);if(o.reference===\"unknown\"){let a=Ie.mapAndFilter([...i.storedPackages.values()],l=>l.identHash!==o.identHash?Ie.mapAndFilter.skip:P.isVirtualLocator(l)?Ie.mapAndFilter.skip:l);if(a.length===0)throw new be(\"No package found in the project for the given locator\");if(a.length>1)throw new be(`Multiple candidate packages found; explicitly choose one of them (use \\`yarn why <package>\\` to get more information as to who depends on them):\n${a.map(l=>`\n- ${P.prettyLocator(t,l)}`).join(\"\")}`);o=a[0]}if(!i.storedPackages.has(o.locatorHash))throw new be(\"No package found in the project for the given locator\");await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async a=>{let l=await qM(o,{cache:s,project:i});a.reportJson({locator:P.stringifyLocator(o),path:K.fromPortablePath(l)}),a.reportInfo(0,`Package ${P.prettyLocator(t,o)} got extracted with success!`),a.reportInfo(0,`You can now edit the following folder: ${ee.pretty(t,K.fromPortablePath(l),\"magenta\")}`),a.reportInfo(0,`Once you are done run ${ee.pretty(t,`yarn patch-commit -s ${process.platform===\"win32\"?'\"':\"\"}${K.fromPortablePath(l)}${process.platform===\"win32\"?'\"':\"\"}`,\"cyan\")} and Yarn will store a patchfile based on your changes.`)})}};$u.paths=[[\"patch\"]],$u.usage=ve.Usage({description:\"prepare a package for patching\",details:\"\\n      This command will cause a package to be extracted in a temporary directory intended to be editable at will.\\n      \\n      Once you're done with your changes, run `yarn patch-commit -s <path>` (with `<path>` being the temporary directory you received) to generate a patchfile and register it into your top-level manifest via the `patch:` protocol. Run `yarn patch-commit -h` for more details.\\n    \"});var f6e={configuration:{enableInlineHunks:{description:\"If true, the installs will print unmatched patch hunks\",type:\"BOOLEAN\",default:!1},patchFolder:{description:\"Folder where the patch files must be written\",type:\"ABSOLUTE_PATH\",default:\"./.yarn/patches\"}},commands:[Zu,$u],fetchers:[vb],resolvers:[xb]},h6e=f6e;var ZM={};ut(ZM,{default:()=>C6e});var Pb=class{supportsPackage(e,t){return this.isEnabled(t)}async findPackageLocation(e,t){if(!this.isEnabled(t))throw new Error(\"Assertion failed: Expected the pnpm linker to be enabled\");let i=XM(),n=t.project.installersCustomData.get(i);if(!n)throw new be(`The project in ${ee.pretty(t.project.configuration,`${t.project.cwd}/package.json`,ee.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=n.pathByLocator.get(e.locatorHash);if(typeof s>\"u\")throw new be(`Couldn't find ${P.prettyLocator(t.project.configuration,e)} in the currently installed pnpm map - running an install might help`);return s}async findPackageLocator(e,t){if(!this.isEnabled(t))return null;let i=XM(),n=t.project.installersCustomData.get(i);if(!n)throw new be(`The project in ${ee.pretty(t.project.configuration,`${t.project.cwd}/package.json`,ee.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=e.match(/(^.*\\/node_modules\\/(@[^/]*\\/)?[^/]+)(\\/.*$)/);if(s){let l=n.locatorByPath.get(s[1]);if(l)return l}let o=e,a=e;do{a=o,o=x.dirname(a);let l=n.locatorByPath.get(a);if(l)return l}while(o!==a);return null}makeInstaller(e){return new VM(e)}isEnabled(e){return e.project.configuration.get(\"nodeLinker\")===\"pnpm\"}},VM=class{constructor(e){this.opts=e;this.asyncActions=new Ie.AsyncActions(10);this.customData={pathByLocator:new Map,locatorByPath:new Map}}getCustomDataKey(){return XM()}attachCustomData(e){}async installPackage(e,t,i){switch(e.linkType){case\"SOFT\":return this.installPackageSoft(e,t,i);case\"HARD\":return this.installPackageHard(e,t,i)}throw new Error(\"Assertion failed: Unsupported package link type\")}async installPackageSoft(e,t,i){let n=x.resolve(t.packageFs.getRealPath(),t.prefixPath);return this.customData.pathByLocator.set(e.locatorHash,n),{packageLocation:n,buildDirective:null}}async installPackageHard(e,t,i){var u;let n=p6e(e,{project:this.opts.project});this.customData.locatorByPath.set(n,P.stringifyLocator(e)),this.customData.pathByLocator.set(e.locatorHash,n),i.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{await M.mkdirPromise(n,{recursive:!0}),await M.copyPromise(n,t.prefixPath,{baseFs:t.packageFs,overwrite:!1})}));let o=P.isVirtualLocator(e)?P.devirtualizeLocator(e):e,a={manifest:(u=await ot.tryFind(t.prefixPath,{baseFs:t.packageFs}))!=null?u:new ot,misc:{hasBindingGyp:uo.hasBindingGyp(t)}},l=this.opts.project.getDependencyMeta(o,e.version),c=uo.extractBuildScripts(e,a,l,{configuration:this.opts.project.configuration,report:this.opts.report});return{packageLocation:n,buildDirective:c}}async attachInternalDependencies(e,t){this.opts.project.configuration.get(\"nodeLinker\")===\"pnpm\"&&(!due(e,{project:this.opts.project})||this.asyncActions.reduce(e.locatorHash,async i=>{await i;let n=this.customData.pathByLocator.get(e.locatorHash);if(typeof n>\"u\")throw new Error(`Assertion failed: Expected the package to have been registered (${P.stringifyLocator(e)})`);let s=x.join(n,xt.nodeModules),o=[],a=await Cue(s);for(let[l,c]of t){let u=c;due(c,{project:this.opts.project})||(this.opts.report.reportWarningOnce(0,\"The pnpm linker doesn't support providing different versions to workspaces' peer dependencies\"),u=P.devirtualizeLocator(c));let g=this.customData.pathByLocator.get(u.locatorHash);if(typeof g>\"u\")throw new Error(`Assertion failed: Expected the package to have been registered (${P.stringifyLocator(c)})`);let f=P.stringifyIdent(l),h=x.join(s,f),p=x.relative(x.dirname(h),g),C=a.get(f);a.delete(f),o.push(Promise.resolve().then(async()=>{if(C){if(C.isSymbolicLink()&&await M.readlinkPromise(h)===p)return;await M.removePromise(h)}await M.mkdirpPromise(x.dirname(h)),process.platform==\"win32\"?await M.symlinkPromise(g,h,\"junction\"):await M.symlinkPromise(p,h)}))}o.push(mue(s,a)),await Promise.all(o)}))}async attachExternalDependents(e,t){throw new Error(\"External dependencies haven't been implemented for the pnpm linker\")}async finalizeInstall(){let e=Iue(this.opts.project);if(this.opts.project.configuration.get(\"nodeLinker\")!==\"pnpm\")await M.removePromise(e);else{let t=[],i=new Set;for(let s of this.customData.pathByLocator.values()){let o=x.contains(e,s);if(o!==null){let[a,,...l]=o.split(x.sep);i.add(a);let c=x.join(e,a);t.push(M.readdirPromise(c).then(u=>Promise.all(u.map(async g=>{let f=x.join(c,g);if(g===xt.nodeModules){let h=await Cue(f);return h.delete(l.join(x.sep)),mue(f,h)}else return M.removePromise(f)}))).catch(u=>{if(u.code!==\"ENOENT\")throw u}))}}let n;try{n=await M.readdirPromise(e)}catch{n=[]}for(let s of n)i.has(s)||t.push(M.removePromise(x.join(e,s)));await Promise.all(t)}return await this.asyncActions.wait(),await _M(e),this.opts.project.configuration.get(\"nodeLinker\")!==\"node-modules\"&&await _M(Eue(this.opts.project)),{customData:this.customData}}};function XM(){return JSON.stringify({name:\"PnpmInstaller\",version:2})}function Eue(r){return x.join(r.cwd,xt.nodeModules)}function Iue(r){return x.join(Eue(r),\".store\")}function p6e(r,{project:e}){let t=P.slugifyLocator(r),i=P.getIdentVendorPath(r);return x.join(Iue(e),t,i)}function due(r,{project:e}){return!P.isVirtualLocator(r)||!e.tryWorkspaceByLocator(r)}async function Cue(r){let e=new Map,t=[];try{t=await M.readdirPromise(r,{withFileTypes:!0})}catch(i){if(i.code!==\"ENOENT\")throw i}try{for(let i of t)if(!i.name.startsWith(\".\"))if(i.name.startsWith(\"@\")){let n=await M.readdirPromise(x.join(r,i.name),{withFileTypes:!0});if(n.length===0)e.set(i.name,i);else for(let s of n)e.set(`${i.name}/${s.name}`,s)}else e.set(i.name,i)}catch(i){if(i.code!==\"ENOENT\")throw i}return e}async function mue(r,e){var n;let t=[],i=new Set;for(let s of e.keys()){t.push(M.removePromise(x.join(r,s)));let o=(n=P.tryParseIdent(s))==null?void 0:n.scope;o&&i.add(`@${o}`)}return Promise.all(t).then(()=>Promise.all([...i].map(s=>_M(x.join(r,s)))))}async function _M(r){try{await M.rmdirPromise(r)}catch(e){if(e.code!==\"ENOENT\"&&e.code!==\"ENOTEMPTY\")throw e}}var d6e={linkers:[Pb]},C6e=d6e;var rQ=()=>({modules:new Map([[\"@yarnpkg/cli\",Qm],[\"@yarnpkg/core\",VC],[\"@yarnpkg/fslib\",Lp],[\"@yarnpkg/libzip\",CC],[\"@yarnpkg/parsers\",Yp],[\"@yarnpkg/shell\",yC],[\"clipanion\",JZ($p)],[\"semver\",m6e],[\"typanion\",gn],[\"yup\",E6e],[\"@yarnpkg/plugin-essentials\",GT],[\"@yarnpkg/plugin-compat\",WT],[\"@yarnpkg/plugin-dlx\",zT],[\"@yarnpkg/plugin-file\",ZT],[\"@yarnpkg/plugin-git\",HT],[\"@yarnpkg/plugin-github\",$T],[\"@yarnpkg/plugin-http\",eO],[\"@yarnpkg/plugin-init\",nO],[\"@yarnpkg/plugin-link\",sO],[\"@yarnpkg/plugin-nm\",MO],[\"@yarnpkg/plugin-npm\",LM],[\"@yarnpkg/plugin-npm-cli\",KM],[\"@yarnpkg/plugin-pack\",DM],[\"@yarnpkg/plugin-patch\",zM],[\"@yarnpkg/plugin-pnp\",vO],[\"@yarnpkg/plugin-pnpm\",ZM]]),plugins:new Set([\"@yarnpkg/plugin-essentials\",\"@yarnpkg/plugin-compat\",\"@yarnpkg/plugin-dlx\",\"@yarnpkg/plugin-file\",\"@yarnpkg/plugin-git\",\"@yarnpkg/plugin-github\",\"@yarnpkg/plugin-http\",\"@yarnpkg/plugin-init\",\"@yarnpkg/plugin-link\",\"@yarnpkg/plugin-nm\",\"@yarnpkg/plugin-npm\",\"@yarnpkg/plugin-npm-cli\",\"@yarnpkg/plugin-pack\",\"@yarnpkg/plugin-patch\",\"@yarnpkg/plugin-pnp\",\"@yarnpkg/plugin-pnpm\"])});R0({binaryVersion:Lr||\"<unknown>\",pluginConfiguration:rQ()});})();\n/*!\n * buildToken\n * Builds OAuth token prefix (helper function)\n *\n * @name buildToken\n * @function\n * @param {GitUrl} obj The parsed Git url object.\n * @return {String} token prefix\n */\n/*!\n * fill-range <https://github.com/jonschlinkert/fill-range>\n *\n * Copyright (c) 2014-present, Jon Schlinkert.\n * Licensed under the MIT License.\n */\n/*!\n * is-extglob <https://github.com/jonschlinkert/is-extglob>\n *\n * Copyright (c) 2014-2016, Jon Schlinkert.\n * Licensed under the MIT License.\n */\n/*!\n * is-glob <https://github.com/jonschlinkert/is-glob>\n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n/*!\n * is-number <https://github.com/jonschlinkert/is-number>\n *\n * Copyright (c) 2014-present, Jon Schlinkert.\n * Released under the MIT License.\n */\n/*!\n * is-windows <https://github.com/jonschlinkert/is-windows>\n *\n * Copyright © 2015-2018, Jon Schlinkert.\n * Released under the MIT License.\n */\n/*!\n * to-regex-range <https://github.com/micromatch/to-regex-range>\n *\n * Copyright (c) 2015-present, Jon Schlinkert.\n * Released under the MIT License.\n */\n/**\n  @license\n  Copyright (c) 2015, Rebecca Turner\n\n  Permission to use, copy, modify, and/or distribute this software for any\n  purpose with or without fee is hereby granted, provided that the above\n  copyright notice and this permission notice appear in all copies.\n\n  THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n  REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\n  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n  INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n  PERFORMANCE OF THIS SOFTWARE.\n */\n/**\n  @license\n  Copyright Joyent, Inc. and other Node contributors.\n\n  Permission is hereby granted, free of charge, to any person obtaining a\n  copy of this software and associated documentation files (the\n  \"Software\"), to deal in the Software without restriction, including\n  without limitation the rights to use, copy, modify, merge, publish,\n  distribute, sublicense, and/or sell copies of the Software, and to permit\n  persons to whom the Software is furnished to do so, subject to the\n  following conditions:\n\n  The above copyright notice and this permission notice shall be included\n  in all copies or substantial portions of the Software.\n\n  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n  NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n  DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n  OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n  USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n/**\n  @license\n  Copyright Node.js contributors. All rights reserved.\n\n  Permission is hereby granted, free of charge, to any person obtaining a copy\n  of this software and associated documentation files (the \"Software\"), to\n  deal in the Software without restriction, including without limitation the\n  rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n  sell copies of the Software, and to permit persons to whom the Software is\n  furnished to do so, subject to the following conditions:\n\n  The above copyright notice and this permission notice shall be included in\n  all copies or substantial portions of the Software.\n\n  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n  IN THE SOFTWARE.\n*/\n/**\n  @license\n  The MIT License (MIT)\n\n  Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com)\n\n  Permission is hereby granted, free of charge, to any person obtaining a copy\n  of this software and associated documentation files (the \"Software\"), to deal\n  in the Software without restriction, including without limitation the rights\n  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n  copies of the Software, and to permit persons to whom the Software is\n  furnished to do so, subject to the following conditions:\n\n  The above copyright notice and this permission notice shall be included in\n  all copies or substantial portions of the Software.\n\n  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n  THE SOFTWARE.\n*/\n"
  },
  {
    "path": ".yarnrc.yml",
    "content": "nodeLinker: node-modules\n\nplugins:\n  - path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs\n    spec: \"@yarnpkg/plugin-interactive-tools\"\n\nyarnPath: .yarn/releases/yarn-3.4.1.cjs\n"
  },
  {
    "path": "CHANGELOG.md",
    "content": "# CHANGELOG\n\n## v1.3.1\n\n- Fixed `scalePath`/`scalePaths` from reversing the path.\n- Fixed the type definitions of `clipToPaths` and `clipToPolyTree`. The did not return undefined.\n\n## v1.3.0\n\n- Made it work with the latest version of emscripten\n- Now using yarn v3\n- Updated all dependencies\n- Exported the `SubjectInput` type.\n\n## v1.2.1\n\n- Use direct requires so bundlers have an easier time.\n\n## v1.2.0\n\n- Updated dependencies.\n- Compiled with the latest version of emscripten and in modularize mode (which should be more compatible with node).\n\n## v1.1.0\n\n- Compiled with the latest version of emscripten.\n- Will now use `FinalizationRegistry` when provided by the runtime to avoid mem leaks whenever calling `dispose()` is forgotten.\n"
  },
  {
    "path": "LICENSE",
    "content": "MIT License\n\nCopyright (c) 2017 xaviergonz\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "# js-angusj-clipper\n\n#### _Polygon and line clipping and offsetting library for Javascript/Typescript_\n\n_a port of Angus Johnson's clipper to WebAssembly/Asm.js_\n\n[![npm version](https://badge.fury.io/js/js-angusj-clipper.svg)](https://badge.fury.io/js/js-angusj-clipper)\n[![Build Status](https://travis-ci.org/xaviergonz/js-angusj-clipper.svg?branch=master)](https://travis-ci.org/xaviergonz/js-angusj-clipper)\n\n---\n\nInstall it with `npm install --save js-angusj-clipper`\n\n**To support this project star it on [github](https://github.com/xaviergonz/js-angusj-clipper)!**\n\n---\n\n### What is this?\n\nA library to make polygon clipping (boolean operations) and offsetting **fast** on Javascript thanks\nto WebAssembly with a fallback to Asm.js, based on the excellent Polygon Clipping (also known as Clipper) library by\nAngus Johnson.\n\n---\n\n### Why?\n\nBecause sometimes performance does matter and I could not find a javascript library\nas fast or as rock solid as the C++ version of [Clipper](https://sourceforge.net/projects/polyclipping/).\n\nAs an example, the results of the benchmarks included on the test suite when running on my machine (node 17.9.0) are:\n\n_Note, pureJs is [jsclipper](https://sourceforge.net/projects/jsclipper/), a pure JS port of the same library_\n\n```\n    500 boolean operations over two circles of 5000 points each\n      clipType: intersection, subjectFillType: evenOdd\n        ✓ wasm (212 ms)\n        ✓ asmJs (598 ms)\n        ✓ pureJs (573 ms)\n      clipType: union, subjectFillType: evenOdd\n        ✓ wasm (267 ms)\n        ✓ asmJs (666 ms)\n        ✓ pureJs (663 ms)\n      clipType: difference, subjectFillType: evenOdd\n        ✓ wasm (232 ms)\n        ✓ asmJs (575 ms)\n        ✓ pureJs (573 ms)\n      clipType: xor, subjectFillType: evenOdd\n        ✓ wasm (296 ms)\n        ✓ asmJs (681 ms)\n        ✓ pureJs (779 ms)\n    10000 boolean operations over two circles of 100 points each\n      clipType: intersection, subjectFillType: evenOdd\n        ✓ wasm (143 ms)\n        ✓ asmJs (347 ms)\n        ✓ pureJs (255 ms)\n      clipType: union, subjectFillType: evenOdd\n        ✓ wasm (181 ms)\n        ✓ asmJs (417 ms)\n        ✓ pureJs (265 ms)\n      clipType: difference, subjectFillType: evenOdd\n        ✓ wasm (159 ms)\n        ✓ asmJs (339 ms)\n        ✓ pureJs (239 ms)\n      clipType: xor, subjectFillType: evenOdd\n        ✓ wasm (186 ms)\n        ✓ asmJs (404 ms)\n        ✓ pureJs (262 ms)\n    100 offset operations over a circle of 5000 points\n      joinType: miter, endType: closedPolygon, delta: 5\n        ✓ wasm (129 ms)\n        ✓ asmJs (390 ms)\n        ✓ pureJs (702 ms)\n      joinType: miter, endType: closedPolygon, delta: 0\n        ✓ wasm (34 ms)\n        ✓ asmJs (140 ms)\n        ✓ pureJs (108 ms)\n      joinType: miter, endType: closedPolygon, delta: -5\n        ✓ wasm (146 ms)\n        ✓ asmJs (386 ms)\n        ✓ pureJs (770 ms)\n    5000 offset operations over a circle of 100 points\n      joinType: miter, endType: closedPolygon, delta: 5\n        ✓ wasm (74 ms)\n        ✓ asmJs (161 ms)\n        ✓ pureJs (278 ms)\n      joinType: miter, endType: closedPolygon, delta: 0\n        ✓ wasm (61 ms)\n        ✓ asmJs (138 ms)\n        ✓ pureJs (162 ms)\n      joinType: miter, endType: closedPolygon, delta: -5\n        ✓ wasm (109 ms)\n        ✓ asmJs (271 ms)\n        ✓ pureJs (659 ms)\n```\n\nMore or less, the results for **boolean operations** over moderately big polygons are:\n\n- Pure JS port of the Clipper library: **~1.0s, baseline**\n- This library (_WebAssembly_): **~0.4s**\n- This library (_Asm.js_): **~1.0s** (mostly due to the emulation of 64-bit integer operations)\n\nand for small polygons are:\n\n- Pure JS port of the Clipper library: **~1.0s, baseline**\n- This library (_WebAssembly_): **~0.7s** (due to the overhead of copying structures to/from JS/C++)\n- This library (_Asm.js_): **~1.4s** (mostly due to the emulation of 64-bit integer operations + the overhead of copying structures to/from JS/C++)\n\nAs for **offsetting**, the results for a moderately big polygon are:\n\n- Pure JS port of the Clipper library: **~1s, baseline**\n- This library (_WebAssembly_): **~0.2s**\n- This library (_Asm.js_): **~0.5s**\n\nand for small polygons are:\n\n- Pure JS port of the Clipper library: **~1s, baseline**\n- This library (_WebAssembly_): **~0.2s**\n- This library (_Asm.js_): **~0.5s**\n\n---\n\n### Getting started\n\n```js\n// universal version\n// import it with\nimport * as clipperLib from \"js-angusj-clipper\"; // es6 / typescript\n// or\nconst clipperLib = require(\"js-angusj-clipper\"); // nodejs style require\n\n// web-only version (for example for angular 6+)\n// import it with\nimport * as clipperLib from \"js-angusj-clipper/web\"; // es6 / typescript\n// or\nconst clipperLib = require(\"js-angusj-clipper/web\"); // nodejs style require\n\nasync function mainAsync() {\n  // create an instance of the library (usually only do this once in your app)\n  const clipper = await clipperLib.loadNativeClipperLibInstanceAsync(\n    // let it autodetect which one to use, but also available WasmOnly and AsmJsOnly\n    clipperLib.NativeClipperLibRequestedFormat.WasmWithAsmJsFallback\n  );\n\n  // create some polygons (note that they MUST be integer coordinates)\n  const poly1 = [{ x: 0, y: 0 }, { x: 10, y: 0 }, { x: 10, y: 10 }, { x: 0, y: 10 }];\n\n  const poly2 = [{ x: 10, y: 0 }, { x: 20, y: 0 }, { x: 20, y: 10 }, { x: 10, y: 10 }];\n\n  // get their union\n  const polyResult = clipper.clipToPaths({\n    clipType: clipperLib.ClipType.Union,\n\n    subjectInputs: [{ data: poly1, closed: true }],\n\n    clipInputs: [{ data: poly2 }],\n\n    subjectFillType: clipperLib.PolyFillType.EvenOdd\n  });\n\n  /* polyResult will be:\n  [\n    [\n      { x: 0, y: 0 },\n      { x: 20, y: 0 },\n      { x: 20, y: 10 },\n      { x: 0, y: 10 }\n    ]\n  ]\n */\n}\n\nmainAsync();\n```\n\n---\n\nFor an in-depth description of the library see:\n\n- [Overview](./docs/overview/index.md)\n- [API Reference](./docs/apiReference/index.md)\n- [FAQ](./docs/faq/index.md)\n"
  },
  {
    "path": "__tests__/__snapshots__/tests.spec.ts.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`unit tests issue #4 subjectClosed: false 1`] = `\nPolyTree {\n  \"_childs\": [\n    PolyNode {\n      \"_childs\": [],\n      \"_contour\": [\n        {\n          \"x\": 10,\n          \"y\": 10,\n        },\n        {\n          \"x\": 50,\n          \"y\": 10,\n        },\n      ],\n      \"_index\": 0,\n      \"_isOpen\": true,\n      \"_parent\": [Circular],\n    },\n  ],\n  \"_contour\": [],\n  \"_index\": 0,\n  \"_isOpen\": false,\n  \"_parent\": undefined,\n  \"_total\": 1,\n}\n`;\n\nexports[`unit tests issue #4 subjectClosed: true 1`] = `\nPolyTree {\n  \"_childs\": [\n    PolyNode {\n      \"_childs\": [],\n      \"_contour\": [\n        {\n          \"x\": 50,\n          \"y\": 50,\n        },\n        {\n          \"x\": 10,\n          \"y\": 10,\n        },\n        {\n          \"x\": 50,\n          \"y\": 10,\n        },\n      ],\n      \"_index\": 0,\n      \"_isOpen\": false,\n      \"_parent\": [Circular],\n    },\n  ],\n  \"_contour\": [],\n  \"_index\": 0,\n  \"_isOpen\": false,\n  \"_parent\": undefined,\n  \"_total\": 1,\n}\n`;\n\nexports[`unit tests issue #9 1`] = `\nPolyTree {\n  \"_childs\": [\n    PolyNode {\n      \"_childs\": [\n        PolyNode {\n          \"_childs\": [],\n          \"_contour\": [\n            {\n              \"x\": -5,\n              \"y\": -5,\n            },\n            {\n              \"x\": -5,\n              \"y\": 5,\n            },\n            {\n              \"x\": 5,\n              \"y\": 5,\n            },\n            {\n              \"x\": 5,\n              \"y\": -5,\n            },\n          ],\n          \"_index\": 0,\n          \"_isOpen\": false,\n          \"_parent\": [Circular],\n        },\n      ],\n      \"_contour\": [\n        {\n          \"x\": 50,\n          \"y\": 50,\n        },\n        {\n          \"x\": -50,\n          \"y\": 50,\n        },\n        {\n          \"x\": -50,\n          \"y\": -50,\n        },\n        {\n          \"x\": 50,\n          \"y\": -50,\n        },\n      ],\n      \"_index\": 0,\n      \"_isOpen\": false,\n      \"_parent\": [Circular],\n    },\n  ],\n  \"_contour\": [],\n  \"_index\": 0,\n  \"_isOpen\": false,\n  \"_parent\": undefined,\n  \"_total\": 2,\n}\n`;\n\nexports[`unit tests simple polygons boolean operations clipType: difference, fillType: evenOdd 1`] = `\n[\n  [\n    {\n      \"x\": 10,\n      \"y\": 20,\n    },\n    {\n      \"x\": 0,\n      \"y\": 20,\n    },\n    {\n      \"x\": 0,\n      \"y\": 10,\n    },\n    {\n      \"x\": 10,\n      \"y\": 10,\n    },\n  ],\n  [\n    {\n      \"x\": 3002399751580330,\n      \"y\": 20,\n    },\n    {\n      \"x\": 2251799813685247,\n      \"y\": 20,\n    },\n    {\n      \"x\": 2251799813685247,\n      \"y\": 10,\n    },\n    {\n      \"x\": 3002399751580330,\n      \"y\": 10,\n    },\n  ],\n]\n`;\n\nexports[`unit tests simple polygons boolean operations clipType: difference, fillType: negative 1`] = `[]`;\n\nexports[`unit tests simple polygons boolean operations clipType: difference, fillType: nonZero 1`] = `\n[\n  [\n    {\n      \"x\": 10,\n      \"y\": 20,\n    },\n    {\n      \"x\": 0,\n      \"y\": 20,\n    },\n    {\n      \"x\": 0,\n      \"y\": 10,\n    },\n    {\n      \"x\": 10,\n      \"y\": 10,\n    },\n  ],\n  [\n    {\n      \"x\": 3002399751580330,\n      \"y\": 20,\n    },\n    {\n      \"x\": 2251799813685247,\n      \"y\": 20,\n    },\n    {\n      \"x\": 2251799813685247,\n      \"y\": 10,\n    },\n    {\n      \"x\": 3002399751580330,\n      \"y\": 10,\n    },\n  ],\n]\n`;\n\nexports[`unit tests simple polygons boolean operations clipType: difference, fillType: positive 1`] = `\n[\n  [\n    {\n      \"x\": 10,\n      \"y\": 20,\n    },\n    {\n      \"x\": 0,\n      \"y\": 20,\n    },\n    {\n      \"x\": 0,\n      \"y\": 10,\n    },\n    {\n      \"x\": 10,\n      \"y\": 10,\n    },\n  ],\n  [\n    {\n      \"x\": 3002399751580330,\n      \"y\": 20,\n    },\n    {\n      \"x\": 2251799813685247,\n      \"y\": 20,\n    },\n    {\n      \"x\": 2251799813685247,\n      \"y\": 10,\n    },\n    {\n      \"x\": 3002399751580330,\n      \"y\": 10,\n    },\n  ],\n]\n`;\n\nexports[`unit tests simple polygons boolean operations clipType: intersection, fillType: evenOdd 1`] = `\n[\n  [\n    {\n      \"x\": 2251799813685247,\n      \"y\": 20,\n    },\n    {\n      \"x\": 10,\n      \"y\": 20,\n    },\n    {\n      \"x\": 10,\n      \"y\": 10,\n    },\n    {\n      \"x\": 2251799813685247,\n      \"y\": 10,\n    },\n  ],\n]\n`;\n\nexports[`unit tests simple polygons boolean operations clipType: intersection, fillType: negative 1`] = `[]`;\n\nexports[`unit tests simple polygons boolean operations clipType: intersection, fillType: nonZero 1`] = `\n[\n  [\n    {\n      \"x\": 2251799813685247,\n      \"y\": 20,\n    },\n    {\n      \"x\": 10,\n      \"y\": 20,\n    },\n    {\n      \"x\": 10,\n      \"y\": 10,\n    },\n    {\n      \"x\": 2251799813685247,\n      \"y\": 10,\n    },\n  ],\n]\n`;\n\nexports[`unit tests simple polygons boolean operations clipType: intersection, fillType: positive 1`] = `\n[\n  [\n    {\n      \"x\": 2251799813685247,\n      \"y\": 20,\n    },\n    {\n      \"x\": 10,\n      \"y\": 20,\n    },\n    {\n      \"x\": 10,\n      \"y\": 10,\n    },\n    {\n      \"x\": 2251799813685247,\n      \"y\": 10,\n    },\n  ],\n]\n`;\n\nexports[`unit tests simple polygons boolean operations clipType: union, fillType: evenOdd 1`] = `\n[\n  [\n    {\n      \"x\": 2251799813685247,\n      \"y\": 10,\n    },\n    {\n      \"x\": 3002399751580330,\n      \"y\": 10,\n    },\n    {\n      \"x\": 3002399751580330,\n      \"y\": 20,\n    },\n    {\n      \"x\": 2251799813685247,\n      \"y\": 20,\n    },\n    {\n      \"x\": 2251799813685247,\n      \"y\": 30,\n    },\n    {\n      \"x\": 10,\n      \"y\": 30,\n    },\n    {\n      \"x\": 10,\n      \"y\": 20,\n    },\n    {\n      \"x\": 0,\n      \"y\": 20,\n    },\n    {\n      \"x\": 0,\n      \"y\": 10,\n    },\n    {\n      \"x\": 10,\n      \"y\": 10,\n    },\n    {\n      \"x\": 10,\n      \"y\": 0,\n    },\n    {\n      \"x\": 2251799813685247,\n      \"y\": 0,\n    },\n  ],\n]\n`;\n\nexports[`unit tests simple polygons boolean operations clipType: union, fillType: negative 1`] = `[]`;\n\nexports[`unit tests simple polygons boolean operations clipType: union, fillType: nonZero 1`] = `\n[\n  [\n    {\n      \"x\": 2251799813685247,\n      \"y\": 10,\n    },\n    {\n      \"x\": 3002399751580330,\n      \"y\": 10,\n    },\n    {\n      \"x\": 3002399751580330,\n      \"y\": 20,\n    },\n    {\n      \"x\": 2251799813685247,\n      \"y\": 20,\n    },\n    {\n      \"x\": 2251799813685247,\n      \"y\": 30,\n    },\n    {\n      \"x\": 10,\n      \"y\": 30,\n    },\n    {\n      \"x\": 10,\n      \"y\": 20,\n    },\n    {\n      \"x\": 0,\n      \"y\": 20,\n    },\n    {\n      \"x\": 0,\n      \"y\": 10,\n    },\n    {\n      \"x\": 10,\n      \"y\": 10,\n    },\n    {\n      \"x\": 10,\n      \"y\": 0,\n    },\n    {\n      \"x\": 2251799813685247,\n      \"y\": 0,\n    },\n  ],\n]\n`;\n\nexports[`unit tests simple polygons boolean operations clipType: union, fillType: positive 1`] = `\n[\n  [\n    {\n      \"x\": 2251799813685247,\n      \"y\": 10,\n    },\n    {\n      \"x\": 3002399751580330,\n      \"y\": 10,\n    },\n    {\n      \"x\": 3002399751580330,\n      \"y\": 20,\n    },\n    {\n      \"x\": 2251799813685247,\n      \"y\": 20,\n    },\n    {\n      \"x\": 2251799813685247,\n      \"y\": 30,\n    },\n    {\n      \"x\": 10,\n      \"y\": 30,\n    },\n    {\n      \"x\": 10,\n      \"y\": 20,\n    },\n    {\n      \"x\": 0,\n      \"y\": 20,\n    },\n    {\n      \"x\": 0,\n      \"y\": 10,\n    },\n    {\n      \"x\": 10,\n      \"y\": 10,\n    },\n    {\n      \"x\": 10,\n      \"y\": 0,\n    },\n    {\n      \"x\": 2251799813685247,\n      \"y\": 0,\n    },\n  ],\n]\n`;\n\nexports[`unit tests simple polygons boolean operations clipType: xor, fillType: evenOdd 1`] = `\n[\n  [\n    {\n      \"x\": 3002399751580330,\n      \"y\": 20,\n    },\n    {\n      \"x\": 2251799813685247,\n      \"y\": 20,\n    },\n    {\n      \"x\": 2251799813685247,\n      \"y\": 30,\n    },\n    {\n      \"x\": 10,\n      \"y\": 30,\n    },\n    {\n      \"x\": 10,\n      \"y\": 20,\n    },\n    {\n      \"x\": 2251799813685247,\n      \"y\": 20,\n    },\n    {\n      \"x\": 2251799813685247,\n      \"y\": 10,\n    },\n    {\n      \"x\": 3002399751580330,\n      \"y\": 10,\n    },\n  ],\n  [\n    {\n      \"x\": 2251799813685247,\n      \"y\": 10,\n    },\n    {\n      \"x\": 10,\n      \"y\": 10,\n    },\n    {\n      \"x\": 10,\n      \"y\": 20,\n    },\n    {\n      \"x\": 0,\n      \"y\": 20,\n    },\n    {\n      \"x\": 0,\n      \"y\": 10,\n    },\n    {\n      \"x\": 10,\n      \"y\": 10,\n    },\n    {\n      \"x\": 10,\n      \"y\": 0,\n    },\n    {\n      \"x\": 2251799813685247,\n      \"y\": 0,\n    },\n  ],\n]\n`;\n\nexports[`unit tests simple polygons boolean operations clipType: xor, fillType: negative 1`] = `[]`;\n\nexports[`unit tests simple polygons boolean operations clipType: xor, fillType: nonZero 1`] = `\n[\n  [\n    {\n      \"x\": 3002399751580330,\n      \"y\": 20,\n    },\n    {\n      \"x\": 2251799813685247,\n      \"y\": 20,\n    },\n    {\n      \"x\": 2251799813685247,\n      \"y\": 30,\n    },\n    {\n      \"x\": 10,\n      \"y\": 30,\n    },\n    {\n      \"x\": 10,\n      \"y\": 20,\n    },\n    {\n      \"x\": 2251799813685247,\n      \"y\": 20,\n    },\n    {\n      \"x\": 2251799813685247,\n      \"y\": 10,\n    },\n    {\n      \"x\": 3002399751580330,\n      \"y\": 10,\n    },\n  ],\n  [\n    {\n      \"x\": 2251799813685247,\n      \"y\": 10,\n    },\n    {\n      \"x\": 10,\n      \"y\": 10,\n    },\n    {\n      \"x\": 10,\n      \"y\": 20,\n    },\n    {\n      \"x\": 0,\n      \"y\": 20,\n    },\n    {\n      \"x\": 0,\n      \"y\": 10,\n    },\n    {\n      \"x\": 10,\n      \"y\": 10,\n    },\n    {\n      \"x\": 10,\n      \"y\": 0,\n    },\n    {\n      \"x\": 2251799813685247,\n      \"y\": 0,\n    },\n  ],\n]\n`;\n\nexports[`unit tests simple polygons boolean operations clipType: xor, fillType: positive 1`] = `\n[\n  [\n    {\n      \"x\": 3002399751580330,\n      \"y\": 20,\n    },\n    {\n      \"x\": 2251799813685247,\n      \"y\": 20,\n    },\n    {\n      \"x\": 2251799813685247,\n      \"y\": 30,\n    },\n    {\n      \"x\": 10,\n      \"y\": 30,\n    },\n    {\n      \"x\": 10,\n      \"y\": 20,\n    },\n    {\n      \"x\": 2251799813685247,\n      \"y\": 20,\n    },\n    {\n      \"x\": 2251799813685247,\n      \"y\": 10,\n    },\n    {\n      \"x\": 3002399751580330,\n      \"y\": 10,\n    },\n  ],\n  [\n    {\n      \"x\": 2251799813685247,\n      \"y\": 10,\n    },\n    {\n      \"x\": 10,\n      \"y\": 10,\n    },\n    {\n      \"x\": 10,\n      \"y\": 20,\n    },\n    {\n      \"x\": 0,\n      \"y\": 20,\n    },\n    {\n      \"x\": 0,\n      \"y\": 10,\n    },\n    {\n      \"x\": 10,\n      \"y\": 10,\n    },\n    {\n      \"x\": 10,\n      \"y\": 0,\n    },\n    {\n      \"x\": 2251799813685247,\n      \"y\": 0,\n    },\n  ],\n]\n`;\n\nexports[`unit tests simple polygons offset joinType: miter, endType: closedLine, delta: -5 1`] = `[]`;\n\nexports[`unit tests simple polygons offset joinType: miter, endType: closedLine, delta: 0 1`] = `[]`;\n\nexports[`unit tests simple polygons offset joinType: miter, endType: closedLine, delta: 5 1`] = `\n[\n  [\n    {\n      \"x\": 3002399751580335,\n      \"y\": 25,\n    },\n    {\n      \"x\": -5,\n      \"y\": 25,\n    },\n    {\n      \"x\": -5,\n      \"y\": 5,\n    },\n    {\n      \"x\": 3002399751580335,\n      \"y\": 5,\n    },\n  ],\n]\n`;\n\nexports[`unit tests simple polygons offset joinType: miter, endType: closedPolygon, delta: -5 1`] = `[]`;\n\nexports[`unit tests simple polygons offset joinType: miter, endType: closedPolygon, delta: 0 1`] = `\n[\n  [\n    {\n      \"x\": 3002399751580330,\n      \"y\": 20,\n    },\n    {\n      \"x\": 0,\n      \"y\": 20,\n    },\n    {\n      \"x\": 0,\n      \"y\": 10,\n    },\n    {\n      \"x\": 3002399751580330,\n      \"y\": 10,\n    },\n  ],\n]\n`;\n\nexports[`unit tests simple polygons offset joinType: miter, endType: closedPolygon, delta: 5 1`] = `\n[\n  [\n    {\n      \"x\": 3002399751580335,\n      \"y\": 25,\n    },\n    {\n      \"x\": -5,\n      \"y\": 25,\n    },\n    {\n      \"x\": -5,\n      \"y\": 5,\n    },\n    {\n      \"x\": 3002399751580335,\n      \"y\": 5,\n    },\n  ],\n]\n`;\n\nexports[`unit tests simple polygons offset joinType: miter, endType: openButt, delta: -5 1`] = `[]`;\n\nexports[`unit tests simple polygons offset joinType: miter, endType: openButt, delta: 0 1`] = `[]`;\n\nexports[`unit tests simple polygons offset joinType: miter, endType: openButt, delta: 5 1`] = `\n[\n  [\n    {\n      \"x\": 3002399751580335,\n      \"y\": 5,\n    },\n    {\n      \"x\": 3002399751580335,\n      \"y\": 25,\n    },\n    {\n      \"x\": 0,\n      \"y\": 25,\n    },\n    {\n      \"x\": 0,\n      \"y\": 5,\n    },\n  ],\n]\n`;\n\nexports[`unit tests simple polygons offset joinType: miter, endType: openRound, delta: -5 1`] = `[]`;\n\nexports[`unit tests simple polygons offset joinType: miter, endType: openRound, delta: 0 1`] = `[]`;\n\nexports[`unit tests simple polygons offset joinType: miter, endType: openRound, delta: 5 1`] = `\n[\n  [\n    {\n      \"x\": -5,\n      \"y\": 11,\n    },\n    {\n      \"x\": -5,\n      \"y\": 8,\n    },\n    {\n      \"x\": -3,\n      \"y\": 6,\n    },\n    {\n      \"x\": 0,\n      \"y\": 5,\n    },\n    {\n      \"x\": 3002399751580335,\n      \"y\": 5,\n    },\n    {\n      \"x\": 3002399751580335,\n      \"y\": 25,\n    },\n    {\n      \"x\": 0,\n      \"y\": 25,\n    },\n    {\n      \"x\": -3,\n      \"y\": 24,\n    },\n    {\n      \"x\": -5,\n      \"y\": 21,\n    },\n    {\n      \"x\": -5,\n      \"y\": 18,\n    },\n    {\n      \"x\": -3,\n      \"y\": 16,\n    },\n    {\n      \"x\": 0,\n      \"y\": 15,\n    },\n    {\n      \"x\": -3,\n      \"y\": 14,\n    },\n  ],\n]\n`;\n\nexports[`unit tests simple polygons offset joinType: miter, endType: openSquare, delta: -5 1`] = `[]`;\n\nexports[`unit tests simple polygons offset joinType: miter, endType: openSquare, delta: 0 1`] = `[]`;\n\nexports[`unit tests simple polygons offset joinType: miter, endType: openSquare, delta: 5 1`] = `\n[\n  [\n    {\n      \"x\": 3002399751580335,\n      \"y\": 5,\n    },\n    {\n      \"x\": 3002399751580335,\n      \"y\": 25,\n    },\n    {\n      \"x\": -5,\n      \"y\": 25,\n    },\n    {\n      \"x\": -5,\n      \"y\": 5,\n    },\n  ],\n]\n`;\n\nexports[`unit tests simple polygons offset joinType: round, endType: closedLine, delta: -5 1`] = `[]`;\n\nexports[`unit tests simple polygons offset joinType: round, endType: closedLine, delta: 0 1`] = `[]`;\n\nexports[`unit tests simple polygons offset joinType: round, endType: closedLine, delta: 5 1`] = `\n[\n  [\n    {\n      \"x\": 3002399751580333,\n      \"y\": 6,\n    },\n    {\n      \"x\": 3002399751580335,\n      \"y\": 10,\n    },\n    {\n      \"x\": 3002399751580335,\n      \"y\": 20,\n    },\n    {\n      \"x\": 3002399751580334,\n      \"y\": 23,\n    },\n    {\n      \"x\": 3002399751580330,\n      \"y\": 25,\n    },\n    {\n      \"x\": 0,\n      \"y\": 25,\n    },\n    {\n      \"x\": -3,\n      \"y\": 24,\n    },\n    {\n      \"x\": -5,\n      \"y\": 20,\n    },\n    {\n      \"x\": -5,\n      \"y\": 10,\n    },\n    {\n      \"x\": -4,\n      \"y\": 7,\n    },\n    {\n      \"x\": 0,\n      \"y\": 5,\n    },\n    {\n      \"x\": 3002399751580330,\n      \"y\": 5,\n    },\n  ],\n]\n`;\n\nexports[`unit tests simple polygons offset joinType: round, endType: closedPolygon, delta: -5 1`] = `[]`;\n\nexports[`unit tests simple polygons offset joinType: round, endType: closedPolygon, delta: 0 1`] = `\n[\n  [\n    {\n      \"x\": 3002399751580330,\n      \"y\": 20,\n    },\n    {\n      \"x\": 0,\n      \"y\": 20,\n    },\n    {\n      \"x\": 0,\n      \"y\": 10,\n    },\n    {\n      \"x\": 3002399751580330,\n      \"y\": 10,\n    },\n  ],\n]\n`;\n\nexports[`unit tests simple polygons offset joinType: round, endType: closedPolygon, delta: 5 1`] = `\n[\n  [\n    {\n      \"x\": 3002399751580333,\n      \"y\": 6,\n    },\n    {\n      \"x\": 3002399751580335,\n      \"y\": 10,\n    },\n    {\n      \"x\": 3002399751580335,\n      \"y\": 20,\n    },\n    {\n      \"x\": 3002399751580334,\n      \"y\": 23,\n    },\n    {\n      \"x\": 3002399751580330,\n      \"y\": 25,\n    },\n    {\n      \"x\": 0,\n      \"y\": 25,\n    },\n    {\n      \"x\": -3,\n      \"y\": 24,\n    },\n    {\n      \"x\": -5,\n      \"y\": 20,\n    },\n    {\n      \"x\": -5,\n      \"y\": 10,\n    },\n    {\n      \"x\": -4,\n      \"y\": 7,\n    },\n    {\n      \"x\": 0,\n      \"y\": 5,\n    },\n    {\n      \"x\": 3002399751580330,\n      \"y\": 5,\n    },\n  ],\n]\n`;\n\nexports[`unit tests simple polygons offset joinType: round, endType: openButt, delta: -5 1`] = `[]`;\n\nexports[`unit tests simple polygons offset joinType: round, endType: openButt, delta: 0 1`] = `[]`;\n\nexports[`unit tests simple polygons offset joinType: round, endType: openButt, delta: 5 1`] = `\n[\n  [\n    {\n      \"x\": 3002399751580330,\n      \"y\": 5,\n    },\n    {\n      \"x\": 3002399751580333,\n      \"y\": 6,\n    },\n    {\n      \"x\": 3002399751580335,\n      \"y\": 10,\n    },\n    {\n      \"x\": 3002399751580335,\n      \"y\": 20,\n    },\n    {\n      \"x\": 3002399751580334,\n      \"y\": 23,\n    },\n    {\n      \"x\": 3002399751580330,\n      \"y\": 25,\n    },\n    {\n      \"x\": 0,\n      \"y\": 25,\n    },\n    {\n      \"x\": 0,\n      \"y\": 5,\n    },\n  ],\n]\n`;\n\nexports[`unit tests simple polygons offset joinType: round, endType: openRound, delta: -5 1`] = `[]`;\n\nexports[`unit tests simple polygons offset joinType: round, endType: openRound, delta: 0 1`] = `[]`;\n\nexports[`unit tests simple polygons offset joinType: round, endType: openRound, delta: 5 1`] = `\n[\n  [\n    {\n      \"x\": -5,\n      \"y\": 11,\n    },\n    {\n      \"x\": -5,\n      \"y\": 8,\n    },\n    {\n      \"x\": -3,\n      \"y\": 6,\n    },\n    {\n      \"x\": 0,\n      \"y\": 5,\n    },\n    {\n      \"x\": 3002399751580330,\n      \"y\": 5,\n    },\n    {\n      \"x\": 3002399751580333,\n      \"y\": 6,\n    },\n    {\n      \"x\": 3002399751580335,\n      \"y\": 10,\n    },\n    {\n      \"x\": 3002399751580335,\n      \"y\": 20,\n    },\n    {\n      \"x\": 3002399751580334,\n      \"y\": 23,\n    },\n    {\n      \"x\": 3002399751580330,\n      \"y\": 25,\n    },\n    {\n      \"x\": 0,\n      \"y\": 25,\n    },\n    {\n      \"x\": -3,\n      \"y\": 24,\n    },\n    {\n      \"x\": -5,\n      \"y\": 21,\n    },\n    {\n      \"x\": -5,\n      \"y\": 18,\n    },\n    {\n      \"x\": -3,\n      \"y\": 16,\n    },\n    {\n      \"x\": 0,\n      \"y\": 15,\n    },\n    {\n      \"x\": -3,\n      \"y\": 14,\n    },\n  ],\n]\n`;\n\nexports[`unit tests simple polygons offset joinType: round, endType: openSquare, delta: -5 1`] = `[]`;\n\nexports[`unit tests simple polygons offset joinType: round, endType: openSquare, delta: 0 1`] = `[]`;\n\nexports[`unit tests simple polygons offset joinType: round, endType: openSquare, delta: 5 1`] = `\n[\n  [\n    {\n      \"x\": 3002399751580330,\n      \"y\": 5,\n    },\n    {\n      \"x\": 3002399751580333,\n      \"y\": 6,\n    },\n    {\n      \"x\": 3002399751580335,\n      \"y\": 10,\n    },\n    {\n      \"x\": 3002399751580335,\n      \"y\": 20,\n    },\n    {\n      \"x\": 3002399751580334,\n      \"y\": 23,\n    },\n    {\n      \"x\": 3002399751580330,\n      \"y\": 25,\n    },\n    {\n      \"x\": -5,\n      \"y\": 25,\n    },\n    {\n      \"x\": -5,\n      \"y\": 5,\n    },\n  ],\n]\n`;\n\nexports[`unit tests simple polygons offset joinType: square, endType: closedLine, delta: -5 1`] = `[]`;\n\nexports[`unit tests simple polygons offset joinType: square, endType: closedLine, delta: 0 1`] = `[]`;\n\nexports[`unit tests simple polygons offset joinType: square, endType: closedLine, delta: 5 1`] = `\n[\n  [\n    {\n      \"x\": 3002399751580335,\n      \"y\": 8,\n    },\n    {\n      \"x\": 3002399751580335,\n      \"y\": 22,\n    },\n    {\n      \"x\": 3002399751580332,\n      \"y\": 25,\n    },\n    {\n      \"x\": -2,\n      \"y\": 25,\n    },\n    {\n      \"x\": -5,\n      \"y\": 22,\n    },\n    {\n      \"x\": -5,\n      \"y\": 8,\n    },\n    {\n      \"x\": -2,\n      \"y\": 5,\n    },\n    {\n      \"x\": 3002399751580332,\n      \"y\": 5,\n    },\n  ],\n]\n`;\n\nexports[`unit tests simple polygons offset joinType: square, endType: closedPolygon, delta: -5 1`] = `[]`;\n\nexports[`unit tests simple polygons offset joinType: square, endType: closedPolygon, delta: 0 1`] = `\n[\n  [\n    {\n      \"x\": 3002399751580330,\n      \"y\": 20,\n    },\n    {\n      \"x\": 0,\n      \"y\": 20,\n    },\n    {\n      \"x\": 0,\n      \"y\": 10,\n    },\n    {\n      \"x\": 3002399751580330,\n      \"y\": 10,\n    },\n  ],\n]\n`;\n\nexports[`unit tests simple polygons offset joinType: square, endType: closedPolygon, delta: 5 1`] = `\n[\n  [\n    {\n      \"x\": 3002399751580335,\n      \"y\": 8,\n    },\n    {\n      \"x\": 3002399751580335,\n      \"y\": 22,\n    },\n    {\n      \"x\": 3002399751580332,\n      \"y\": 25,\n    },\n    {\n      \"x\": -2,\n      \"y\": 25,\n    },\n    {\n      \"x\": -5,\n      \"y\": 22,\n    },\n    {\n      \"x\": -5,\n      \"y\": 8,\n    },\n    {\n      \"x\": -2,\n      \"y\": 5,\n    },\n    {\n      \"x\": 3002399751580332,\n      \"y\": 5,\n    },\n  ],\n]\n`;\n\nexports[`unit tests simple polygons offset joinType: square, endType: openButt, delta: -5 1`] = `[]`;\n\nexports[`unit tests simple polygons offset joinType: square, endType: openButt, delta: 0 1`] = `[]`;\n\nexports[`unit tests simple polygons offset joinType: square, endType: openButt, delta: 5 1`] = `\n[\n  [\n    {\n      \"x\": 3002399751580332,\n      \"y\": 5,\n    },\n    {\n      \"x\": 3002399751580335,\n      \"y\": 8,\n    },\n    {\n      \"x\": 3002399751580335,\n      \"y\": 22,\n    },\n    {\n      \"x\": 3002399751580332,\n      \"y\": 25,\n    },\n    {\n      \"x\": 0,\n      \"y\": 25,\n    },\n    {\n      \"x\": 0,\n      \"y\": 5,\n    },\n  ],\n]\n`;\n\nexports[`unit tests simple polygons offset joinType: square, endType: openRound, delta: -5 1`] = `[]`;\n\nexports[`unit tests simple polygons offset joinType: square, endType: openRound, delta: 0 1`] = `[]`;\n\nexports[`unit tests simple polygons offset joinType: square, endType: openRound, delta: 5 1`] = `\n[\n  [\n    {\n      \"x\": -5,\n      \"y\": 11,\n    },\n    {\n      \"x\": -5,\n      \"y\": 8,\n    },\n    {\n      \"x\": -3,\n      \"y\": 6,\n    },\n    {\n      \"x\": 0,\n      \"y\": 5,\n    },\n    {\n      \"x\": 3002399751580332,\n      \"y\": 5,\n    },\n    {\n      \"x\": 3002399751580335,\n      \"y\": 8,\n    },\n    {\n      \"x\": 3002399751580335,\n      \"y\": 22,\n    },\n    {\n      \"x\": 3002399751580332,\n      \"y\": 25,\n    },\n    {\n      \"x\": 0,\n      \"y\": 25,\n    },\n    {\n      \"x\": -3,\n      \"y\": 24,\n    },\n    {\n      \"x\": -5,\n      \"y\": 21,\n    },\n    {\n      \"x\": -5,\n      \"y\": 18,\n    },\n    {\n      \"x\": -3,\n      \"y\": 16,\n    },\n    {\n      \"x\": 0,\n      \"y\": 15,\n    },\n    {\n      \"x\": -3,\n      \"y\": 14,\n    },\n  ],\n]\n`;\n\nexports[`unit tests simple polygons offset joinType: square, endType: openSquare, delta: -5 1`] = `[]`;\n\nexports[`unit tests simple polygons offset joinType: square, endType: openSquare, delta: 0 1`] = `[]`;\n\nexports[`unit tests simple polygons offset joinType: square, endType: openSquare, delta: 5 1`] = `\n[\n  [\n    {\n      \"x\": 3002399751580332,\n      \"y\": 5,\n    },\n    {\n      \"x\": 3002399751580335,\n      \"y\": 8,\n    },\n    {\n      \"x\": 3002399751580335,\n      \"y\": 22,\n    },\n    {\n      \"x\": 3002399751580332,\n      \"y\": 25,\n    },\n    {\n      \"x\": -5,\n      \"y\": 25,\n    },\n    {\n      \"x\": -5,\n      \"y\": 5,\n    },\n  ],\n]\n`;\n"
  },
  {
    "path": "__tests__/external-libs/clipper.js",
    "content": "/*******************************************************************************\n *                                                                              *\n * Author    :  Angus Johnson                                                   *\n * Version   :  6.4.2                                                           *\n * Date      :  27 February 2017                                                *\n * Website   :  http://www.angusj.com                                           *\n * Copyright :  Angus Johnson 2010-2017                                         *\n *                                                                              *\n * License:                                                                     *\n * Use, modification & distribution is subject to Boost Software License Ver 1. *\n * http://www.boost.org/LICENSE_1_0.txt                                         *\n *                                                                              *\n * Attributions:                                                                *\n * The code in this library is an extension of Bala Vatti's clipping algorithm: *\n * \"A generic solution to polygon clipping\"                                     *\n * Communications of the ACM, Vol 35, Issue 7 (July 1992) pp 56-63.             *\n * http://portal.acm.org/citation.cfm?id=129906                                 *\n *                                                                              *\n * Computer graphics and geometric modeling: implementation and algorithms      *\n * By Max K. Agoston                                                            *\n * Springer; 1 edition (January 4, 2005)                                        *\n * http://books.google.com/books?q=vatti+clipping+agoston                       *\n *                                                                              *\n * See also:                                                                    *\n * \"Polygon Offsetting by Computing Winding Numbers\"                            *\n * Paper no. DETC2005-85513 pp. 565-575                                         *\n * ASME 2005 International Design Engineering Technical Conferences             *\n * and Computers and Information in Engineering Conference (IDETC/CIE2005)      *\n * September 24-28, 2005 , Long Beach, California, USA                          *\n * http://www.me.berkeley.edu/~mcmains/pubs/DAC05OffsetPolygon.pdf              *\n *                                                                              *\n *******************************************************************************/\n/*******************************************************************************\n *                                                                              *\n * Author    :  Timo                                                            *\n * Version   :  6.4.2.2                                                         *\n * Date      :  8 September 2017                                                 *\n *                                                                              *\n * This is a translation of the C# Clipper library to Javascript.               *\n * Int128 struct of C# is implemented using JSBN of Tom Wu.                     *\n * Because Javascript lacks support for 64-bit integers, the space              *\n * is a little more restricted than in C# version.                              *\n *                                                                              *\n * C# version has support for coordinate space:                                 *\n * +-4611686018427387903 ( sqrt(2^127 -1)/2 )                                   *\n * while Javascript version has support for space:                              *\n * +-4503599627370495 ( sqrt(2^106 -1)/2 )                                      *\n *                                                                              *\n * Tom Wu's JSBN proved to be the fastest big integer library:                  *\n * http://jsperf.com/big-integer-library-test                                   *\n *                                                                              *\n * This class can be made simpler when (if ever) 64-bit integer support comes   *\n * or floating point Clipper is released.                                       *\n *                                                                              *\n *******************************************************************************/\n/*******************************************************************************\n *                                                                              *\n * Basic JavaScript BN library - subset useful for RSA encryption.              *\n * http://www-cs-students.stanford.edu/~tjw/jsbn/                               *\n * Copyright (c) 2005  Tom Wu                                                   *\n * All Rights Reserved.                                                         *\n * See \"LICENSE\" for details:                                                   *\n * http://www-cs-students.stanford.edu/~tjw/jsbn/LICENSE                        *\n *                                                                              *\n *******************************************************************************/\n(function(){function k(a,b,c){d.biginteger_used=1;null!=a&&(\"number\"==typeof a&&\"undefined\"==typeof b?this.fromInt(a):\"number\"==typeof a?this.fromNumber(a,b,c):null==b&&\"string\"!=typeof a?this.fromString(a,256):this.fromString(a,b))}function q(){return new k(null,void 0,void 0)}function R(a,b,c,e,d,g){for(;0<=--g;){var f=b*this[a++]+c[e]+d;d=Math.floor(f/67108864);c[e++]=f&67108863}return d}function S(a,b,c,e,d,g){var f=b&32767;for(b>>=15;0<=--g;){var m=this[a]&32767,k=this[a++]>>15,n=b*m+k*f;m=f*\nm+((n&32767)<<15)+c[e]+(d&1073741823);d=(m>>>30)+(n>>>15)+b*k+(d>>>30);c[e++]=m&1073741823}return d}function T(a,b,c,e,d,g){var f=b&16383;for(b>>=14;0<=--g;){var m=this[a]&16383,k=this[a++]>>14,n=b*m+k*f;m=f*m+((n&16383)<<14)+c[e]+d;d=(m>>28)+(n>>14)+b*k;c[e++]=m&268435455}return d}function M(a,b){var c=E[a.charCodeAt(b)];return null==c?-1:c}function y(a){var b=q();b.fromInt(a);return b}function F(a){var b=1,c;0!=(c=a>>>16)&&(a=c,b+=16);0!=(c=a>>8)&&(a=c,b+=8);0!=(c=a>>4)&&(a=c,b+=4);0!=(c=a>>2)&&\n(a=c,b+=2);0!=a>>1&&(b+=1);return b}function z(a){this.m=a}function B(a){this.m=a;this.mp=a.invDigit();this.mpl=this.mp&32767;this.mph=this.mp>>15;this.um=(1<<a.DB-15)-1;this.mt2=2*a.t}function U(a,b){return a&b}function H(a,b){return a|b}function N(a,b){return a^b}function O(a,b){return a&~b}function D(){}function P(a){return a}function C(a){this.r2=q();this.q3=q();k.ONE.dlShiftTo(2*a.t,this.r2);this.mu=this.r2.divide(a);this.m=a}var d={version:\"6.4.2.2\",use_lines:!0,use_xyz:!1},G=!1;\"undefined\"!==\ntypeof module&&module.exports?(module.exports=d,G=!0):\"undefined\"!==typeof document?window.ClipperLib=d:self.ClipperLib=d;if(G){var u=\"chrome\";var v=\"Netscape\"}else u=navigator.userAgent.toString().toLowerCase(),v=navigator.appName;var I=-1!=u.indexOf(\"chrome\")&&-1==u.indexOf(\"chromium\")?1:0;G=-1!=u.indexOf(\"chromium\")?1:0;var Q=-1!=u.indexOf(\"safari\")&&-1==u.indexOf(\"chrome\")&&-1==u.indexOf(\"chromium\")?1:0;var J=-1!=u.indexOf(\"firefox\")?1:0;u.indexOf(\"firefox/17\");u.indexOf(\"firefox/15\");u.indexOf(\"firefox/3\");\nvar K=-1!=u.indexOf(\"opera\")?1:0;u.indexOf(\"msie 10\");u.indexOf(\"msie 9\");var L=-1!=u.indexOf(\"msie 8\")?1:0;var V=-1!=u.indexOf(\"msie 7\")?1:0;u=-1!=u.indexOf(\"msie \")?1:0;d.biginteger_used=null;\"Microsoft Internet Explorer\"==v?(k.prototype.am=S,v=30):\"Netscape\"!=v?(k.prototype.am=R,v=26):(k.prototype.am=T,v=28);k.prototype.DB=v;k.prototype.DM=(1<<v)-1;k.prototype.DV=1<<v;k.prototype.FV=Math.pow(2,52);k.prototype.F1=52-v;k.prototype.F2=2*v-52;var E=[],x;v=48;for(x=0;9>=x;++x)E[v++]=x;v=97;for(x=10;36>\nx;++x)E[v++]=x;v=65;for(x=10;36>x;++x)E[v++]=x;z.prototype.convert=function(a){return 0>a.s||0<=a.compareTo(this.m)?a.mod(this.m):a};z.prototype.revert=function(a){return a};z.prototype.reduce=function(a){a.divRemTo(this.m,null,a)};z.prototype.mulTo=function(a,b,c){a.multiplyTo(b,c);this.reduce(c)};z.prototype.sqrTo=function(a,b){a.squareTo(b);this.reduce(b)};B.prototype.convert=function(a){var b=q();a.abs().dlShiftTo(this.m.t,b);b.divRemTo(this.m,null,b);0>a.s&&0<b.compareTo(k.ZERO)&&this.m.subTo(b,\nb);return b};B.prototype.revert=function(a){var b=q();a.copyTo(b);this.reduce(b);return b};B.prototype.reduce=function(a){for(;a.t<=this.mt2;)a[a.t++]=0;for(var b=0;b<this.m.t;++b){var c=a[b]&32767,e=c*this.mpl+((c*this.mph+(a[b]>>15)*this.mpl&this.um)<<15)&a.DM;c=b+this.m.t;for(a[c]+=this.m.am(0,e,a,b,0,this.m.t);a[c]>=a.DV;)a[c]-=a.DV,a[++c]++}a.clamp();a.drShiftTo(this.m.t,a);0<=a.compareTo(this.m)&&a.subTo(this.m,a)};B.prototype.mulTo=function(a,b,c){a.multiplyTo(b,c);this.reduce(c)};B.prototype.sqrTo=\nfunction(a,b){a.squareTo(b);this.reduce(b)};k.prototype.copyTo=function(a){for(var b=this.t-1;0<=b;--b)a[b]=this[b];a.t=this.t;a.s=this.s};k.prototype.fromInt=function(a){this.t=1;this.s=0>a?-1:0;0<a?this[0]=a:-1>a?this[0]=a+this.DV:this.t=0};k.prototype.fromString=function(a,b){if(16==b)var c=4;else if(8==b)c=3;else if(256==b)c=8;else if(2==b)c=1;else if(32==b)c=5;else if(4==b)c=2;else{this.fromRadix(a,b);return}this.s=this.t=0;for(var e=a.length,d=!1,g=0;0<=--e;){var h=8==c?a[e]&255:M(a,e);0>h?\n\"-\"==a.charAt(e)&&(d=!0):(d=!1,0==g?this[this.t++]=h:g+c>this.DB?(this[this.t-1]|=(h&(1<<this.DB-g)-1)<<g,this[this.t++]=h>>this.DB-g):this[this.t-1]|=h<<g,g+=c,g>=this.DB&&(g-=this.DB))}8==c&&0!=(a[0]&128)&&(this.s=-1,0<g&&(this[this.t-1]|=(1<<this.DB-g)-1<<g));this.clamp();d&&k.ZERO.subTo(this,this)};k.prototype.clamp=function(){for(var a=this.s&this.DM;0<this.t&&this[this.t-1]==a;)--this.t};k.prototype.dlShiftTo=function(a,b){var c;for(c=this.t-1;0<=c;--c)b[c+a]=this[c];for(c=a-1;0<=c;--c)b[c]=\n0;b.t=this.t+a;b.s=this.s};k.prototype.drShiftTo=function(a,b){for(var c=a;c<this.t;++c)b[c-a]=this[c];b.t=Math.max(this.t-a,0);b.s=this.s};k.prototype.lShiftTo=function(a,b){var c=a%this.DB,e=this.DB-c,d=(1<<e)-1,g=Math.floor(a/this.DB),h=this.s<<c&this.DM,m;for(m=this.t-1;0<=m;--m)b[m+g+1]=this[m]>>e|h,h=(this[m]&d)<<c;for(m=g-1;0<=m;--m)b[m]=0;b[g]=h;b.t=this.t+g+1;b.s=this.s;b.clamp()};k.prototype.rShiftTo=function(a,b){b.s=this.s;var c=Math.floor(a/this.DB);if(c>=this.t)b.t=0;else{var e=a%this.DB,\nd=this.DB-e,g=(1<<e)-1;b[0]=this[c]>>e;for(var h=c+1;h<this.t;++h)b[h-c-1]|=(this[h]&g)<<d,b[h-c]=this[h]>>e;0<e&&(b[this.t-c-1]|=(this.s&g)<<d);b.t=this.t-c;b.clamp()}};k.prototype.subTo=function(a,b){for(var c=0,e=0,d=Math.min(a.t,this.t);c<d;)e+=this[c]-a[c],b[c++]=e&this.DM,e>>=this.DB;if(a.t<this.t){for(e-=a.s;c<this.t;)e+=this[c],b[c++]=e&this.DM,e>>=this.DB;e+=this.s}else{for(e+=this.s;c<a.t;)e-=a[c],b[c++]=e&this.DM,e>>=this.DB;e-=a.s}b.s=0>e?-1:0;-1>e?b[c++]=this.DV+e:0<e&&(b[c++]=e);b.t=\nc;b.clamp()};k.prototype.multiplyTo=function(a,b){var c=this.abs(),e=a.abs(),d=c.t;for(b.t=d+e.t;0<=--d;)b[d]=0;for(d=0;d<e.t;++d)b[d+c.t]=c.am(0,e[d],b,d,0,c.t);b.s=0;b.clamp();this.s!=a.s&&k.ZERO.subTo(b,b)};k.prototype.squareTo=function(a){for(var b=this.abs(),c=a.t=2*b.t;0<=--c;)a[c]=0;for(c=0;c<b.t-1;++c){var e=b.am(c,b[c],a,2*c,0,1);(a[c+b.t]+=b.am(c+1,2*b[c],a,2*c+1,e,b.t-c-1))>=b.DV&&(a[c+b.t]-=b.DV,a[c+b.t+1]=1)}0<a.t&&(a[a.t-1]+=b.am(c,b[c],a,2*c,0,1));a.s=0;a.clamp()};k.prototype.divRemTo=\nfunction(a,b,c){var e=a.abs();if(!(0>=e.t)){var d=this.abs();if(d.t<e.t)null!=b&&b.fromInt(0),null!=c&&this.copyTo(c);else{null==c&&(c=q());var g=q(),h=this.s;a=a.s;var m=this.DB-F(e[e.t-1]);0<m?(e.lShiftTo(m,g),d.lShiftTo(m,c)):(e.copyTo(g),d.copyTo(c));e=g.t;d=g[e-1];if(0!=d){var l=d*(1<<this.F1)+(1<e?g[e-2]>>this.F2:0),n=this.FV/l;l=(1<<this.F1)/l;var r=1<<this.F2,p=c.t,t=p-e,u=null==b?q():b;g.dlShiftTo(t,u);0<=c.compareTo(u)&&(c[c.t++]=1,c.subTo(u,c));k.ONE.dlShiftTo(e,u);for(u.subTo(g,g);g.t<\ne;)g[g.t++]=0;for(;0<=--t;){var v=c[--p]==d?this.DM:Math.floor(c[p]*n+(c[p-1]+r)*l);if((c[p]+=g.am(0,v,c,t,0,e))<v)for(g.dlShiftTo(t,u),c.subTo(u,c);c[p]<--v;)c.subTo(u,c)}null!=b&&(c.drShiftTo(e,b),h!=a&&k.ZERO.subTo(b,b));c.t=e;c.clamp();0<m&&c.rShiftTo(m,c);0>h&&k.ZERO.subTo(c,c)}}}};k.prototype.invDigit=function(){if(1>this.t)return 0;var a=this[0];if(0==(a&1))return 0;var b=a&3;b=b*(2-(a&15)*b)&15;b=b*(2-(a&255)*b)&255;b=b*(2-((a&65535)*b&65535))&65535;b=b*(2-a*b%this.DV)%this.DV;return 0<b?\nthis.DV-b:-b};k.prototype.isEven=function(){return 0==(0<this.t?this[0]&1:this.s)};k.prototype.exp=function(a,b){if(4294967295<a||1>a)return k.ONE;var c=q(),e=q(),d=b.convert(this),g=F(a)-1;for(d.copyTo(c);0<=--g;)if(b.sqrTo(c,e),0<(a&1<<g))b.mulTo(e,d,c);else{var h=c;c=e;e=h}return b.revert(c)};k.prototype.toString=function(a){if(0>this.s)return\"-\"+this.negate().toString(a);if(16==a)a=4;else if(8==a)a=3;else if(2==a)a=1;else if(32==a)a=5;else if(4==a)a=2;else return this.toRadix(a);var b=(1<<a)-\n1,c,e=!1,d=\"\",g=this.t,h=this.DB-g*this.DB%a;if(0<g--)for(h<this.DB&&0<(c=this[g]>>h)&&(e=!0,d=\"0123456789abcdefghijklmnopqrstuvwxyz\".charAt(c));0<=g;)h<a?(c=(this[g]&(1<<h)-1)<<a-h,c|=this[--g]>>(h+=this.DB-a)):(c=this[g]>>(h-=a)&b,0>=h&&(h+=this.DB,--g)),0<c&&(e=!0),e&&(d+=\"0123456789abcdefghijklmnopqrstuvwxyz\".charAt(c));return e?d:\"0\"};k.prototype.negate=function(){var a=q();k.ZERO.subTo(this,a);return a};k.prototype.abs=function(){return 0>this.s?this.negate():this};k.prototype.compareTo=function(a){var b=\nthis.s-a.s;if(0!=b)return b;var c=this.t;b=c-a.t;if(0!=b)return 0>this.s?-b:b;for(;0<=--c;)if(0!=(b=this[c]-a[c]))return b;return 0};k.prototype.bitLength=function(){return 0>=this.t?0:this.DB*(this.t-1)+F(this[this.t-1]^this.s&this.DM)};k.prototype.mod=function(a){var b=q();this.abs().divRemTo(a,null,b);0>this.s&&0<b.compareTo(k.ZERO)&&a.subTo(b,b);return b};k.prototype.modPowInt=function(a,b){var c=256>a||b.isEven()?new z(b):new B(b);return this.exp(a,c)};k.ZERO=y(0);k.ONE=y(1);D.prototype.convert=\nP;D.prototype.revert=P;D.prototype.mulTo=function(a,b,c){a.multiplyTo(b,c)};D.prototype.sqrTo=function(a,b){a.squareTo(b)};C.prototype.convert=function(a){if(0>a.s||a.t>2*this.m.t)return a.mod(this.m);if(0>a.compareTo(this.m))return a;var b=q();a.copyTo(b);this.reduce(b);return b};C.prototype.revert=function(a){return a};C.prototype.reduce=function(a){a.drShiftTo(this.m.t-1,this.r2);a.t>this.m.t+1&&(a.t=this.m.t+1,a.clamp());this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3);for(this.m.multiplyLowerTo(this.q3,\nthis.m.t+1,this.r2);0>a.compareTo(this.r2);)a.dAddOffset(1,this.m.t+1);for(a.subTo(this.r2,a);0<=a.compareTo(this.m);)a.subTo(this.m,a)};C.prototype.mulTo=function(a,b,c){a.multiplyTo(b,c);this.reduce(c)};C.prototype.sqrTo=function(a,b){a.squareTo(b);this.reduce(b)};var w=[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,\n313,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],W=67108864/w[w.length-1];k.prototype.chunkSize=function(a){return Math.floor(Math.LN2*\nthis.DB/Math.log(a))};k.prototype.toRadix=function(a){null==a&&(a=10);if(0==this.signum()||2>a||36<a)return\"0\";var b=this.chunkSize(a);b=Math.pow(a,b);var c=y(b),e=q(),d=q(),g=\"\";for(this.divRemTo(c,e,d);0<e.signum();)g=(b+d.intValue()).toString(a).substr(1)+g,e.divRemTo(c,e,d);return d.intValue().toString(a)+g};k.prototype.fromRadix=function(a,b){this.fromInt(0);null==b&&(b=10);for(var c=this.chunkSize(b),e=Math.pow(b,c),d=!1,g=0,h=0,m=0;m<a.length;++m){var l=M(a,m);0>l?\"-\"==a.charAt(m)&&0==this.signum()&&\n(d=!0):(h=b*h+l,++g>=c&&(this.dMultiply(e),this.dAddOffset(h,0),h=g=0))}0<g&&(this.dMultiply(Math.pow(b,g)),this.dAddOffset(h,0));d&&k.ZERO.subTo(this,this)};k.prototype.fromNumber=function(a,b,c){if(\"number\"==typeof b)if(2>a)this.fromInt(1);else for(this.fromNumber(a,c),this.testBit(a-1)||this.bitwiseTo(k.ONE.shiftLeft(a-1),H,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(b);)this.dAddOffset(2,0),this.bitLength()>a&&this.subTo(k.ONE.shiftLeft(a-1),this);else{c=[];var e=a&7;c.length=\n(a>>3)+1;b.nextBytes(c);c[0]=0<e?c[0]&(1<<e)-1:0;this.fromString(c,256)}};k.prototype.bitwiseTo=function(a,b,c){var e,d=Math.min(a.t,this.t);for(e=0;e<d;++e)c[e]=b(this[e],a[e]);if(a.t<this.t){var g=a.s&this.DM;for(e=d;e<this.t;++e)c[e]=b(this[e],g);c.t=this.t}else{g=this.s&this.DM;for(e=d;e<a.t;++e)c[e]=b(g,a[e]);c.t=a.t}c.s=b(this.s,a.s);c.clamp()};k.prototype.changeBit=function(a,b){var c=k.ONE.shiftLeft(a);this.bitwiseTo(c,b,c);return c};k.prototype.addTo=function(a,b){for(var c=0,e=0,d=Math.min(a.t,\nthis.t);c<d;)e+=this[c]+a[c],b[c++]=e&this.DM,e>>=this.DB;if(a.t<this.t){for(e+=a.s;c<this.t;)e+=this[c],b[c++]=e&this.DM,e>>=this.DB;e+=this.s}else{for(e+=this.s;c<a.t;)e+=a[c],b[c++]=e&this.DM,e>>=this.DB;e+=a.s}b.s=0>e?-1:0;0<e?b[c++]=e:-1>e&&(b[c++]=this.DV+e);b.t=c;b.clamp()};k.prototype.dMultiply=function(a){this[this.t]=this.am(0,a-1,this,0,0,this.t);++this.t;this.clamp()};k.prototype.dAddOffset=function(a,b){if(0!=a){for(;this.t<=b;)this[this.t++]=0;for(this[b]+=a;this[b]>=this.DV;)this[b]-=\nthis.DV,++b>=this.t&&(this[this.t++]=0),++this[b]}};k.prototype.multiplyLowerTo=function(a,b,c){var e=Math.min(this.t+a.t,b);c.s=0;for(c.t=e;0<e;)c[--e]=0;var d;for(d=c.t-this.t;e<d;++e)c[e+this.t]=this.am(0,a[e],c,e,0,this.t);for(d=Math.min(a.t,b);e<d;++e)this.am(0,a[e],c,e,0,b-e);c.clamp()};k.prototype.multiplyUpperTo=function(a,b,c){--b;var e=c.t=this.t+a.t-b;for(c.s=0;0<=--e;)c[e]=0;for(e=Math.max(b-this.t,0);e<a.t;++e)c[this.t+e-b]=this.am(b-e,a[e],c,0,0,this.t+e-b);c.clamp();c.drShiftTo(1,c)};\nk.prototype.modInt=function(a){if(0>=a)return 0;var b=this.DV%a,c=0>this.s?a-1:0;if(0<this.t)if(0==b)c=this[0]%a;else for(var e=this.t-1;0<=e;--e)c=(b*c+this[e])%a;return c};k.prototype.millerRabin=function(a){var b=this.subtract(k.ONE),c=b.getLowestSetBit();if(0>=c)return!1;var e=b.shiftRight(c);a=a+1>>1;a>w.length&&(a=w.length);for(var d=q(),g=0;g<a;++g){d.fromInt(w[Math.floor(Math.random()*w.length)]);var h=d.modPow(e,this);if(0!=h.compareTo(k.ONE)&&0!=h.compareTo(b)){for(var m=1;m++<c&&0!=h.compareTo(b);)if(h=\nh.modPowInt(2,this),0==h.compareTo(k.ONE))return!1;if(0!=h.compareTo(b))return!1}}return!0};k.prototype.clone=function(){var a=q();this.copyTo(a);return a};k.prototype.intValue=function(){if(0>this.s){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]};k.prototype.byteValue=function(){return 0==this.t?this.s:this[0]<<24>>24};k.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<\n16>>16};k.prototype.signum=function(){return 0>this.s?-1:0>=this.t||1==this.t&&0>=this[0]?0:1};k.prototype.toByteArray=function(){var a=this.t,b=[];b[0]=this.s;var c=this.DB-a*this.DB%8,e,d=0;if(0<a--)for(c<this.DB&&(e=this[a]>>c)!=(this.s&this.DM)>>c&&(b[d++]=e|this.s<<this.DB-c);0<=a;)if(8>c?(e=(this[a]&(1<<c)-1)<<8-c,e|=this[--a]>>(c+=this.DB-8)):(e=this[a]>>(c-=8)&255,0>=c&&(c+=this.DB,--a)),0!=(e&128)&&(e|=-256),0==d&&(this.s&128)!=(e&128)&&++d,0<d||e!=this.s)b[d++]=e;return b};k.prototype.equals=\nfunction(a){return 0==this.compareTo(a)};k.prototype.min=function(a){return 0>this.compareTo(a)?this:a};k.prototype.max=function(a){return 0<this.compareTo(a)?this:a};k.prototype.and=function(a){var b=q();this.bitwiseTo(a,U,b);return b};k.prototype.or=function(a){var b=q();this.bitwiseTo(a,H,b);return b};k.prototype.xor=function(a){var b=q();this.bitwiseTo(a,N,b);return b};k.prototype.andNot=function(a){var b=q();this.bitwiseTo(a,O,b);return b};k.prototype.not=function(){for(var a=q(),b=0;b<this.t;++b)a[b]=\nthis.DM&~this[b];a.t=this.t;a.s=~this.s;return a};k.prototype.shiftLeft=function(a){var b=q();0>a?this.rShiftTo(-a,b):this.lShiftTo(a,b);return b};k.prototype.shiftRight=function(a){var b=q();0>a?this.lShiftTo(-a,b):this.rShiftTo(a,b);return b};k.prototype.getLowestSetBit=function(){for(var a=0;a<this.t;++a)if(0!=this[a]){var b=a*this.DB;a=this[a];if(0==a)a=-1;else{var c=0;0==(a&65535)&&(a>>=16,c+=16);0==(a&255)&&(a>>=8,c+=8);0==(a&15)&&(a>>=4,c+=4);0==(a&3)&&(a>>=2,c+=2);0==(a&1)&&++c;a=c}return b+\na}return 0>this.s?this.t*this.DB:-1};k.prototype.bitCount=function(){for(var a=0,b=this.s&this.DM,c=0;c<this.t;++c){for(var e=this[c]^b,d=0;0!=e;)e&=e-1,++d;a+=d}return a};k.prototype.testBit=function(a){var b=Math.floor(a/this.DB);return b>=this.t?0!=this.s:0!=(this[b]&1<<a%this.DB)};k.prototype.setBit=function(a){return this.changeBit(a,H)};k.prototype.clearBit=function(a){return this.changeBit(a,O)};k.prototype.flipBit=function(a){return this.changeBit(a,N)};k.prototype.add=function(a){var b=q();\nthis.addTo(a,b);return b};k.prototype.subtract=function(a){var b=q();this.subTo(a,b);return b};k.prototype.multiply=function(a){var b=q();this.multiplyTo(a,b);return b};k.prototype.divide=function(a){var b=q();this.divRemTo(a,b,null);return b};k.prototype.remainder=function(a){var b=q();this.divRemTo(a,null,b);return b};k.prototype.divideAndRemainder=function(a){var b=q(),c=q();this.divRemTo(a,b,c);return[b,c]};k.prototype.modPow=function(a,b){var c=a.bitLength(),e=y(1);if(0>=c)return e;var d=18>\nc?1:48>c?3:144>c?4:768>c?5:6;var g=8>c?new z(b):b.isEven()?new C(b):new B(b);var h=[],m=3,k=d-1,n=(1<<d)-1;h[1]=g.convert(this);if(1<d)for(c=q(),g.sqrTo(h[1],c);m<=n;)h[m]=q(),g.mulTo(c,h[m-2],h[m]),m+=2;var r=a.t-1,p=!0,t=q();for(c=F(a[r])-1;0<=r;){if(c>=k)var u=a[r]>>c-k&n;else u=(a[r]&(1<<c+1)-1)<<k-c,0<r&&(u|=a[r-1]>>this.DB+c-k);for(m=d;0==(u&1);)u>>=1,--m;0>(c-=m)&&(c+=this.DB,--r);if(p)h[u].copyTo(e),p=!1;else{for(;1<m;)g.sqrTo(e,t),g.sqrTo(t,e),m-=2;0<m?g.sqrTo(e,t):(m=e,e=t,t=m);g.mulTo(t,\nh[u],e)}for(;0<=r&&0==(a[r]&1<<c);)g.sqrTo(e,t),m=e,e=t,t=m,0>--c&&(c=this.DB-1,--r)}return g.revert(e)};k.prototype.modInverse=function(a){var b=a.isEven();if(this.isEven()&&b||0==a.signum())return k.ZERO;for(var c=a.clone(),e=this.clone(),d=y(1),g=y(0),h=y(0),m=y(1);0!=c.signum();){for(;c.isEven();)c.rShiftTo(1,c),b?(d.isEven()&&g.isEven()||(d.addTo(this,d),g.subTo(a,g)),d.rShiftTo(1,d)):g.isEven()||g.subTo(a,g),g.rShiftTo(1,g);for(;e.isEven();)e.rShiftTo(1,e),b?(h.isEven()&&m.isEven()||(h.addTo(this,\nh),m.subTo(a,m)),h.rShiftTo(1,h)):m.isEven()||m.subTo(a,m),m.rShiftTo(1,m);0<=c.compareTo(e)?(c.subTo(e,c),b&&d.subTo(h,d),g.subTo(m,g)):(e.subTo(c,e),b&&h.subTo(d,h),m.subTo(g,m))}if(0!=e.compareTo(k.ONE))return k.ZERO;if(0<=m.compareTo(a))return m.subtract(a);if(0>m.signum())m.addTo(a,m);else return m;return 0>m.signum()?m.add(a):m};k.prototype.pow=function(a){return this.exp(a,new D)};k.prototype.gcd=function(a){var b=0>this.s?this.negate():this.clone();a=0>a.s?a.negate():a.clone();if(0>b.compareTo(a)){var c=\nb;b=a;a=c}c=b.getLowestSetBit();var e=a.getLowestSetBit();if(0>e)return b;c<e&&(e=c);0<e&&(b.rShiftTo(e,b),a.rShiftTo(e,a));for(;0<b.signum();)0<(c=b.getLowestSetBit())&&b.rShiftTo(c,b),0<(c=a.getLowestSetBit())&&a.rShiftTo(c,a),0<=b.compareTo(a)?(b.subTo(a,b),b.rShiftTo(1,b)):(a.subTo(b,a),a.rShiftTo(1,a));0<e&&a.lShiftTo(e,a);return a};k.prototype.isProbablePrime=function(a){var b,c=this.abs();if(1==c.t&&c[0]<=w[w.length-1]){for(b=0;b<w.length;++b)if(c[0]==w[b])return!0;return!1}if(c.isEven())return!1;\nfor(b=1;b<w.length;){for(var e=w[b],d=b+1;d<w.length&&e<W;)e*=w[d++];for(e=c.modInt(e);b<d;)if(0==e%w[b++])return!1}return c.millerRabin(a)};k.prototype.square=function(){var a=q();this.squareTo(a);return a};k.prototype.IsNegative=function(){return-1==this.compareTo(k.ZERO)?!0:!1};k.op_Equality=function(a,b){return 0==a.compareTo(b)?!0:!1};k.op_Inequality=function(a,b){return 0!=a.compareTo(b)?!0:!1};k.op_GreaterThan=function(a,b){return 0<a.compareTo(b)?!0:!1};k.op_LessThan=function(a,b){return 0>\na.compareTo(b)?!0:!1};k.op_Addition=function(a,b){return(new k(a,void 0,void 0)).add(new k(b,void 0,void 0))};k.op_Subtraction=function(a,b){return(new k(a,void 0,void 0)).subtract(new k(b,void 0,void 0))};k.Int128Mul=function(a,b){return(new k(a,void 0,void 0)).multiply(new k(b,void 0,void 0))};k.op_Division=function(a,b){return a.divide(b)};k.prototype.ToDouble=function(){return parseFloat(this.toString())};v=function(a,b){var c;if(\"undefined\"===typeof Object.getOwnPropertyNames)for(c in b.prototype){if(\"undefined\"===\ntypeof a.prototype[c]||a.prototype[c]===Object.prototype[c])a.prototype[c]=b.prototype[c]}else for(var e=Object.getOwnPropertyNames(b.prototype),d=0;d<e.length;d++)\"undefined\"===typeof Object.getOwnPropertyDescriptor(a.prototype,e[d])&&Object.defineProperty(a.prototype,e[d],Object.getOwnPropertyDescriptor(b.prototype,e[d]));for(c in b)\"undefined\"===typeof a[c]&&(a[c]=b[c]);a.$baseCtor=b};d.Path=function(){return[]};d.Path.prototype.push=Array.prototype.push;d.Paths=function(){return[]};d.Paths.prototype.push=\nArray.prototype.push;d.DoublePoint=function(){var a=arguments;this.Y=this.X=0;1===a.length?(this.X=a[0].X,this.Y=a[0].Y):2===a.length&&(this.X=a[0],this.Y=a[1])};d.DoublePoint0=function(){this.Y=this.X=0};d.DoublePoint0.prototype=d.DoublePoint.prototype;d.DoublePoint1=function(a){this.X=a.X;this.Y=a.Y};d.DoublePoint1.prototype=d.DoublePoint.prototype;d.DoublePoint2=function(a,b){this.X=a;this.Y=b};d.DoublePoint2.prototype=d.DoublePoint.prototype;d.PolyNode=function(){this.m_Parent=null;this.m_polygon=\nnew d.Path;this.m_endtype=this.m_jointype=this.m_Index=0;this.m_Childs=[];this.IsOpen=!1};d.PolyNode.prototype.IsHoleNode=function(){for(var a=!0,b=this.m_Parent;null!==b;)a=!a,b=b.m_Parent;return a};d.PolyNode.prototype.ChildCount=function(){return this.m_Childs.length};d.PolyNode.prototype.Contour=function(){return this.m_polygon};d.PolyNode.prototype.AddChild=function(a){var b=this.m_Childs.length;this.m_Childs.push(a);a.m_Parent=this;a.m_Index=b};d.PolyNode.prototype.GetNext=function(){return 0<\nthis.m_Childs.length?this.m_Childs[0]:this.GetNextSiblingUp()};d.PolyNode.prototype.GetNextSiblingUp=function(){return null===this.m_Parent?null:this.m_Index===this.m_Parent.m_Childs.length-1?this.m_Parent.GetNextSiblingUp():this.m_Parent.m_Childs[this.m_Index+1]};d.PolyNode.prototype.Childs=function(){return this.m_Childs};d.PolyNode.prototype.Parent=function(){return this.m_Parent};d.PolyNode.prototype.IsHole=function(){return this.IsHoleNode()};d.PolyTree=function(){this.m_AllPolys=[];d.PolyNode.call(this)};\nd.PolyTree.prototype.Clear=function(){for(var a=0,b=this.m_AllPolys.length;a<b;a++)this.m_AllPolys[a]=null;this.m_AllPolys.length=0;this.m_Childs.length=0};d.PolyTree.prototype.GetFirst=function(){return 0<this.m_Childs.length?this.m_Childs[0]:null};d.PolyTree.prototype.Total=function(){var a=this.m_AllPolys.length;0<a&&this.m_Childs[0]!==this.m_AllPolys[0]&&a--;return a};v(d.PolyTree,d.PolyNode);d.Math_Abs_Int64=d.Math_Abs_Int32=d.Math_Abs_Double=function(a){return Math.abs(a)};d.Math_Max_Int32_Int32=\nfunction(a,b){return Math.max(a,b)};d.Cast_Int32=u||K||Q?function(a){return a|0}:function(a){return~~a};\"undefined\"===typeof Number.toInteger&&(Number.toInteger=null);d.Cast_Int64=I?function(a){return-2147483648>a||2147483647<a?0>a?Math.ceil(a):Math.floor(a):~~a}:J&&\"function\"===typeof Number.toInteger?function(a){return Number.toInteger(a)}:V||L?function(a){return parseInt(a,10)}:u?function(a){return-2147483648>a||2147483647<a?0>a?Math.ceil(a):Math.floor(a):a|0}:function(a){return 0>a?Math.ceil(a):\nMath.floor(a)};d.Clear=function(a){a.length=0};d.PI=3.141592653589793;d.PI2=6.283185307179586;d.IntPoint=function(){var a=arguments;var b=a.length;this.Y=this.X=0;d.use_xyz?(this.Z=0,3===b?(this.X=a[0],this.Y=a[1],this.Z=a[2]):2===b?(this.X=a[0],this.Y=a[1],this.Z=0):1===b?a[0]instanceof d.DoublePoint?(a=a[0],this.X=d.Clipper.Round(a.X),this.Y=d.Clipper.Round(a.Y),this.Z=0):(a=a[0],\"undefined\"===typeof a.Z&&(a.Z=0),this.X=a.X,this.Y=a.Y,this.Z=a.Z):this.Z=this.Y=this.X=0):2===b?(this.X=a[0],this.Y=\na[1]):1===b?a[0]instanceof d.DoublePoint?(a=a[0],this.X=d.Clipper.Round(a.X),this.Y=d.Clipper.Round(a.Y)):(a=a[0],this.X=a.X,this.Y=a.Y):this.Y=this.X=0};d.IntPoint.op_Equality=function(a,b){return a.X===b.X&&a.Y===b.Y};d.IntPoint.op_Inequality=function(a,b){return a.X!==b.X||a.Y!==b.Y};d.IntPoint0=function(){this.Y=this.X=0;d.use_xyz&&(this.Z=0)};d.IntPoint0.prototype=d.IntPoint.prototype;d.IntPoint1=function(a){this.X=a.X;this.Y=a.Y;d.use_xyz&&(this.Z=\"undefined\"===typeof a.Z?0:a.Z)};d.IntPoint1.prototype=\nd.IntPoint.prototype;d.IntPoint1dp=function(a){this.X=d.Clipper.Round(a.X);this.Y=d.Clipper.Round(a.Y);d.use_xyz&&(this.Z=0)};d.IntPoint1dp.prototype=d.IntPoint.prototype;d.IntPoint2=function(a,b,c){this.X=a;this.Y=b;d.use_xyz&&(this.Z=\"undefined\"===typeof c?0:c)};d.IntPoint2.prototype=d.IntPoint.prototype;d.IntRect=function(){var a=arguments,b=a.length;4===b?(this.left=a[0],this.top=a[1],this.right=a[2],this.bottom=a[3]):1===b?(a=a[0],this.left=a.left,this.top=a.top,this.right=a.right,this.bottom=\na.bottom):this.bottom=this.right=this.top=this.left=0};d.IntRect0=function(){this.bottom=this.right=this.top=this.left=0};d.IntRect0.prototype=d.IntRect.prototype;d.IntRect1=function(a){this.left=a.left;this.top=a.top;this.right=a.right;this.bottom=a.bottom};d.IntRect1.prototype=d.IntRect.prototype;d.IntRect4=function(a,b,c,e){this.left=a;this.top=b;this.right=c;this.bottom=e};d.IntRect4.prototype=d.IntRect.prototype;d.ClipType={ctIntersection:0,ctUnion:1,ctDifference:2,ctXor:3};d.PolyType={ptSubject:0,\nptClip:1};d.PolyFillType={pftEvenOdd:0,pftNonZero:1,pftPositive:2,pftNegative:3};d.JoinType={jtSquare:0,jtRound:1,jtMiter:2};d.EndType={etOpenSquare:0,etOpenRound:1,etOpenButt:2,etClosedLine:3,etClosedPolygon:4};d.EdgeSide={esLeft:0,esRight:1};d.Direction={dRightToLeft:0,dLeftToRight:1};d.TEdge=function(){this.Bot=new d.IntPoint0;this.Curr=new d.IntPoint0;this.Top=new d.IntPoint0;this.Delta=new d.IntPoint0;this.Dx=0;this.PolyTyp=d.PolyType.ptSubject;this.Side=d.EdgeSide.esLeft;this.OutIdx=this.WindCnt2=\nthis.WindCnt=this.WindDelta=0;this.PrevInSEL=this.NextInSEL=this.PrevInAEL=this.NextInAEL=this.NextInLML=this.Prev=this.Next=null};d.IntersectNode=function(){this.Edge2=this.Edge1=null;this.Pt=new d.IntPoint0};d.MyIntersectNodeSort=function(){};d.MyIntersectNodeSort.Compare=function(a,b){var c=b.Pt.Y-a.Pt.Y;return 0<c?1:0>c?-1:0};d.LocalMinima=function(){this.Y=0;this.Next=this.RightBound=this.LeftBound=null};d.Scanbeam=function(){this.Y=0;this.Next=null};d.Maxima=function(){this.X=0;this.Prev=this.Next=\nnull};d.OutRec=function(){this.Idx=0;this.IsOpen=this.IsHole=!1;this.PolyNode=this.BottomPt=this.Pts=this.FirstLeft=null};d.OutPt=function(){this.Idx=0;this.Pt=new d.IntPoint0;this.Prev=this.Next=null};d.Join=function(){this.OutPt2=this.OutPt1=null;this.OffPt=new d.IntPoint0};d.ClipperBase=function(){this.m_CurrentLM=this.m_MinimaList=null;this.m_edges=[];this.PreserveCollinear=this.m_HasOpenPaths=this.m_UseFullRange=!1;this.m_ActiveEdges=this.m_PolyOuts=this.m_Scanbeam=null};d.ClipperBase.horizontal=\n-9007199254740992;d.ClipperBase.Skip=-2;d.ClipperBase.Unassigned=-1;d.ClipperBase.tolerance=1E-20;d.ClipperBase.loRange=47453132;d.ClipperBase.hiRange=0xfffffffffffff;d.ClipperBase.near_zero=function(a){return a>-d.ClipperBase.tolerance&&a<d.ClipperBase.tolerance};d.ClipperBase.IsHorizontal=function(a){return 0===a.Delta.Y};d.ClipperBase.prototype.PointIsVertex=function(a,b){var c=b;do{if(d.IntPoint.op_Equality(c.Pt,a))return!0;c=c.Next}while(c!==b);return!1};d.ClipperBase.prototype.PointOnLineSegment=\nfunction(a,b,c,e){return e?a.X===b.X&&a.Y===b.Y||a.X===c.X&&a.Y===c.Y||a.X>b.X===a.X<c.X&&a.Y>b.Y===a.Y<c.Y&&k.op_Equality(k.Int128Mul(a.X-b.X,c.Y-b.Y),k.Int128Mul(c.X-b.X,a.Y-b.Y)):a.X===b.X&&a.Y===b.Y||a.X===c.X&&a.Y===c.Y||a.X>b.X===a.X<c.X&&a.Y>b.Y===a.Y<c.Y&&(a.X-b.X)*(c.Y-b.Y)===(c.X-b.X)*(a.Y-b.Y)};d.ClipperBase.prototype.PointOnPolygon=function(a,b,c){for(var e=b;;){if(this.PointOnLineSegment(a,e.Pt,e.Next.Pt,c))return!0;e=e.Next;if(e===b)break}return!1};d.ClipperBase.prototype.SlopesEqual=\nd.ClipperBase.SlopesEqual=function(){var a=arguments,b=a.length;if(3===b){b=a[0];var c=a[1];return(a=a[2])?k.op_Equality(k.Int128Mul(b.Delta.Y,c.Delta.X),k.Int128Mul(b.Delta.X,c.Delta.Y)):d.Cast_Int64(b.Delta.Y*c.Delta.X)===d.Cast_Int64(b.Delta.X*c.Delta.Y)}if(4===b){b=a[0];c=a[1];var e=a[2];return(a=a[3])?k.op_Equality(k.Int128Mul(b.Y-c.Y,c.X-e.X),k.Int128Mul(b.X-c.X,c.Y-e.Y)):0===d.Cast_Int64((b.Y-c.Y)*(c.X-e.X))-d.Cast_Int64((b.X-c.X)*(c.Y-e.Y))}b=a[0];c=a[1];e=a[2];var f=a[3];return(a=a[4])?k.op_Equality(k.Int128Mul(b.Y-\nc.Y,e.X-f.X),k.Int128Mul(b.X-c.X,e.Y-f.Y)):0===d.Cast_Int64((b.Y-c.Y)*(e.X-f.X))-d.Cast_Int64((b.X-c.X)*(e.Y-f.Y))};d.ClipperBase.SlopesEqual3=function(a,b,c){return c?k.op_Equality(k.Int128Mul(a.Delta.Y,b.Delta.X),k.Int128Mul(a.Delta.X,b.Delta.Y)):d.Cast_Int64(a.Delta.Y*b.Delta.X)===d.Cast_Int64(a.Delta.X*b.Delta.Y)};d.ClipperBase.SlopesEqual4=function(a,b,c,e){return e?k.op_Equality(k.Int128Mul(a.Y-b.Y,b.X-c.X),k.Int128Mul(a.X-b.X,b.Y-c.Y)):0===d.Cast_Int64((a.Y-b.Y)*(b.X-c.X))-d.Cast_Int64((a.X-\nb.X)*(b.Y-c.Y))};d.ClipperBase.SlopesEqual5=function(a,b,c,e,f){return f?k.op_Equality(k.Int128Mul(a.Y-b.Y,c.X-e.X),k.Int128Mul(a.X-b.X,c.Y-e.Y)):0===d.Cast_Int64((a.Y-b.Y)*(c.X-e.X))-d.Cast_Int64((a.X-b.X)*(c.Y-e.Y))};d.ClipperBase.prototype.Clear=function(){this.DisposeLocalMinimaList();for(var a=0,b=this.m_edges.length;a<b;++a){for(var c=0,e=this.m_edges[a].length;c<e;++c)this.m_edges[a][c]=null;d.Clear(this.m_edges[a])}d.Clear(this.m_edges);this.m_HasOpenPaths=this.m_UseFullRange=!1};d.ClipperBase.prototype.DisposeLocalMinimaList=\nfunction(){for(;null!==this.m_MinimaList;){var a=this.m_MinimaList.Next;this.m_MinimaList=null;this.m_MinimaList=a}this.m_CurrentLM=null};d.ClipperBase.prototype.RangeTest=function(a,b){if(b.Value)(a.X>d.ClipperBase.hiRange||a.Y>d.ClipperBase.hiRange||-a.X>d.ClipperBase.hiRange||-a.Y>d.ClipperBase.hiRange)&&d.Error(\"Coordinate outside allowed range in RangeTest().\");else if(a.X>d.ClipperBase.loRange||a.Y>d.ClipperBase.loRange||-a.X>d.ClipperBase.loRange||-a.Y>d.ClipperBase.loRange)b.Value=!0,this.RangeTest(a,\nb)};d.ClipperBase.prototype.InitEdge=function(a,b,c,e){a.Next=b;a.Prev=c;a.Curr.X=e.X;a.Curr.Y=e.Y;d.use_xyz&&(a.Curr.Z=e.Z);a.OutIdx=-1};d.ClipperBase.prototype.InitEdge2=function(a,b){a.Curr.Y>=a.Next.Curr.Y?(a.Bot.X=a.Curr.X,a.Bot.Y=a.Curr.Y,d.use_xyz&&(a.Bot.Z=a.Curr.Z),a.Top.X=a.Next.Curr.X,a.Top.Y=a.Next.Curr.Y,d.use_xyz&&(a.Top.Z=a.Next.Curr.Z)):(a.Top.X=a.Curr.X,a.Top.Y=a.Curr.Y,d.use_xyz&&(a.Top.Z=a.Curr.Z),a.Bot.X=a.Next.Curr.X,a.Bot.Y=a.Next.Curr.Y,d.use_xyz&&(a.Bot.Z=a.Next.Curr.Z));this.SetDx(a);\na.PolyTyp=b};d.ClipperBase.prototype.FindNextLocMin=function(a){for(var b;;){for(;d.IntPoint.op_Inequality(a.Bot,a.Prev.Bot)||d.IntPoint.op_Equality(a.Curr,a.Top);)a=a.Next;if(a.Dx!==d.ClipperBase.horizontal&&a.Prev.Dx!==d.ClipperBase.horizontal)break;for(;a.Prev.Dx===d.ClipperBase.horizontal;)a=a.Prev;for(b=a;a.Dx===d.ClipperBase.horizontal;)a=a.Next;if(a.Top.Y!==a.Prev.Bot.Y){b.Prev.Bot.X<a.Bot.X&&(a=b);break}}return a};d.ClipperBase.prototype.ProcessBound=function(a,b){var c=a,e;if(c.OutIdx===\nd.ClipperBase.Skip){a=c;if(b){for(;a.Top.Y===a.Next.Bot.Y;)a=a.Next;for(;a!==c&&a.Dx===d.ClipperBase.horizontal;)a=a.Prev}else{for(;a.Top.Y===a.Prev.Bot.Y;)a=a.Prev;for(;a!==c&&a.Dx===d.ClipperBase.horizontal;)a=a.Next}if(a===c)c=b?a.Next:a.Prev;else{a=b?c.Next:c.Prev;var f=new d.LocalMinima;f.Next=null;f.Y=a.Bot.Y;f.LeftBound=null;f.RightBound=a;a.WindDelta=0;c=this.ProcessBound(a,b);this.InsertLocalMinima(f)}return c}a.Dx===d.ClipperBase.horizontal&&(f=b?a.Prev:a.Next,f.Dx===d.ClipperBase.horizontal?\nf.Bot.X!==a.Bot.X&&f.Top.X!==a.Bot.X&&this.ReverseHorizontal(a):f.Bot.X!==a.Bot.X&&this.ReverseHorizontal(a));f=a;if(b){for(;c.Top.Y===c.Next.Bot.Y&&c.Next.OutIdx!==d.ClipperBase.Skip;)c=c.Next;if(c.Dx===d.ClipperBase.horizontal&&c.Next.OutIdx!==d.ClipperBase.Skip){for(e=c;e.Prev.Dx===d.ClipperBase.horizontal;)e=e.Prev;e.Prev.Top.X>c.Next.Top.X&&(c=e.Prev)}for(;a!==c;)a.NextInLML=a.Next,a.Dx===d.ClipperBase.horizontal&&a!==f&&a.Bot.X!==a.Prev.Top.X&&this.ReverseHorizontal(a),a=a.Next;a.Dx===d.ClipperBase.horizontal&&\na!==f&&a.Bot.X!==a.Prev.Top.X&&this.ReverseHorizontal(a);c=c.Next}else{for(;c.Top.Y===c.Prev.Bot.Y&&c.Prev.OutIdx!==d.ClipperBase.Skip;)c=c.Prev;if(c.Dx===d.ClipperBase.horizontal&&c.Prev.OutIdx!==d.ClipperBase.Skip){for(e=c;e.Next.Dx===d.ClipperBase.horizontal;)e=e.Next;if(e.Next.Top.X===c.Prev.Top.X||e.Next.Top.X>c.Prev.Top.X)c=e.Next}for(;a!==c;)a.NextInLML=a.Prev,a.Dx===d.ClipperBase.horizontal&&a!==f&&a.Bot.X!==a.Next.Top.X&&this.ReverseHorizontal(a),a=a.Prev;a.Dx===d.ClipperBase.horizontal&&\na!==f&&a.Bot.X!==a.Next.Top.X&&this.ReverseHorizontal(a);c=c.Prev}return c};d.ClipperBase.prototype.AddPath=function(a,b,c){d.use_lines?c||b!==d.PolyType.ptClip||d.Error(\"AddPath: Open paths must be subject.\"):c||d.Error(\"AddPath: Open paths have been disabled.\");var e=a.length-1;if(c)for(;0<e&&d.IntPoint.op_Equality(a[e],a[0]);)--e;for(;0<e&&d.IntPoint.op_Equality(a[e],a[e-1]);)--e;if(c&&2>e||!c&&1>e)return!1;for(var f=[],g=0;g<=e;g++)f.push(new d.TEdge);var h=!0;f[1].Curr.X=a[1].X;f[1].Curr.Y=a[1].Y;\nd.use_xyz&&(f[1].Curr.Z=a[1].Z);var m={Value:this.m_UseFullRange};this.RangeTest(a[0],m);this.m_UseFullRange=m.Value;m.Value=this.m_UseFullRange;this.RangeTest(a[e],m);this.m_UseFullRange=m.Value;this.InitEdge(f[0],f[1],f[e],a[0]);this.InitEdge(f[e],f[0],f[e-1],a[e]);for(g=e-1;1<=g;--g)m.Value=this.m_UseFullRange,this.RangeTest(a[g],m),this.m_UseFullRange=m.Value,this.InitEdge(f[g],f[g+1],f[g-1],a[g]);for(g=a=e=f[0];;)if(a.Curr!==a.Next.Curr||!c&&a.Next===e){if(a.Prev===a.Next)break;else if(c&&d.ClipperBase.SlopesEqual4(a.Prev.Curr,\na.Curr,a.Next.Curr,this.m_UseFullRange)&&(!this.PreserveCollinear||!this.Pt2IsBetweenPt1AndPt3(a.Prev.Curr,a.Curr,a.Next.Curr))){a===e&&(e=a.Next);a=this.RemoveEdge(a);g=a=a.Prev;continue}a=a.Next;if(a===g||!c&&a.Next===e)break}else{if(a===a.Next)break;a===e&&(e=a.Next);g=a=this.RemoveEdge(a)}if(!c&&a===a.Next||c&&a.Prev===a.Next)return!1;c||(this.m_HasOpenPaths=!0,e.Prev.OutIdx=d.ClipperBase.Skip);a=e;do this.InitEdge2(a,b),a=a.Next,h&&a.Curr.Y!==e.Curr.Y&&(h=!1);while(a!==e);if(h){if(c)return!1;\na.Prev.OutIdx=d.ClipperBase.Skip;b=new d.LocalMinima;b.Next=null;b.Y=a.Bot.Y;b.LeftBound=null;b.RightBound=a;b.RightBound.Side=d.EdgeSide.esRight;for(b.RightBound.WindDelta=0;;){a.Bot.X!==a.Prev.Top.X&&this.ReverseHorizontal(a);if(a.Next.OutIdx===d.ClipperBase.Skip)break;a=a.NextInLML=a.Next}this.InsertLocalMinima(b);this.m_edges.push(f);return!0}this.m_edges.push(f);h=null;d.IntPoint.op_Equality(a.Prev.Bot,a.Prev.Top)&&(a=a.Next);for(;;){a=this.FindNextLocMin(a);if(a===h)break;else null===h&&(h=\na);b=new d.LocalMinima;b.Next=null;b.Y=a.Bot.Y;a.Dx<a.Prev.Dx?(b.LeftBound=a.Prev,b.RightBound=a,f=!1):(b.LeftBound=a,b.RightBound=a.Prev,f=!0);b.LeftBound.Side=d.EdgeSide.esLeft;b.RightBound.Side=d.EdgeSide.esRight;b.LeftBound.WindDelta=c?b.LeftBound.Next===b.RightBound?-1:1:0;b.RightBound.WindDelta=-b.LeftBound.WindDelta;a=this.ProcessBound(b.LeftBound,f);a.OutIdx===d.ClipperBase.Skip&&(a=this.ProcessBound(a,f));e=this.ProcessBound(b.RightBound,!f);e.OutIdx===d.ClipperBase.Skip&&(e=this.ProcessBound(e,\n!f));b.LeftBound.OutIdx===d.ClipperBase.Skip?b.LeftBound=null:b.RightBound.OutIdx===d.ClipperBase.Skip&&(b.RightBound=null);this.InsertLocalMinima(b);f||(a=e)}return!0};d.ClipperBase.prototype.AddPaths=function(a,b,c){for(var e=!1,d=0,g=a.length;d<g;++d)this.AddPath(a[d],b,c)&&(e=!0);return e};d.ClipperBase.prototype.Pt2IsBetweenPt1AndPt3=function(a,b,c){return d.IntPoint.op_Equality(a,c)||d.IntPoint.op_Equality(a,b)||d.IntPoint.op_Equality(c,b)?!1:a.X!==c.X?b.X>a.X===b.X<c.X:b.Y>a.Y===b.Y<c.Y};d.ClipperBase.prototype.RemoveEdge=\nfunction(a){a.Prev.Next=a.Next;a.Next.Prev=a.Prev;var b=a.Next;a.Prev=null;return b};d.ClipperBase.prototype.SetDx=function(a){a.Delta.X=a.Top.X-a.Bot.X;a.Delta.Y=a.Top.Y-a.Bot.Y;a.Dx=0===a.Delta.Y?d.ClipperBase.horizontal:a.Delta.X/a.Delta.Y};d.ClipperBase.prototype.InsertLocalMinima=function(a){if(null===this.m_MinimaList)this.m_MinimaList=a;else if(a.Y>=this.m_MinimaList.Y)a.Next=this.m_MinimaList,this.m_MinimaList=a;else{for(var b=this.m_MinimaList;null!==b.Next&&a.Y<b.Next.Y;)b=b.Next;a.Next=\nb.Next;b.Next=a}};d.ClipperBase.prototype.PopLocalMinima=function(a,b){b.v=this.m_CurrentLM;return null!==this.m_CurrentLM&&this.m_CurrentLM.Y===a?(this.m_CurrentLM=this.m_CurrentLM.Next,!0):!1};d.ClipperBase.prototype.ReverseHorizontal=function(a){var b=a.Top.X;a.Top.X=a.Bot.X;a.Bot.X=b;d.use_xyz&&(b=a.Top.Z,a.Top.Z=a.Bot.Z,a.Bot.Z=b)};d.ClipperBase.prototype.Reset=function(){this.m_CurrentLM=this.m_MinimaList;if(null!==this.m_CurrentLM){this.m_Scanbeam=null;for(var a=this.m_MinimaList;null!==a;){this.InsertScanbeam(a.Y);\nvar b=a.LeftBound;null!==b&&(b.Curr.X=b.Bot.X,b.Curr.Y=b.Bot.Y,d.use_xyz&&(b.Curr.Z=b.Bot.Z),b.OutIdx=d.ClipperBase.Unassigned);b=a.RightBound;null!==b&&(b.Curr.X=b.Bot.X,b.Curr.Y=b.Bot.Y,d.use_xyz&&(b.Curr.Z=b.Bot.Z),b.OutIdx=d.ClipperBase.Unassigned);a=a.Next}this.m_ActiveEdges=null}};d.ClipperBase.prototype.InsertScanbeam=function(a){if(null===this.m_Scanbeam)this.m_Scanbeam=new d.Scanbeam,this.m_Scanbeam.Next=null,this.m_Scanbeam.Y=a;else if(a>this.m_Scanbeam.Y){var b=new d.Scanbeam;b.Y=a;b.Next=\nthis.m_Scanbeam;this.m_Scanbeam=b}else{for(b=this.m_Scanbeam;null!==b.Next&&a<=b.Next.Y;)b=b.Next;if(a!==b.Y){var c=new d.Scanbeam;c.Y=a;c.Next=b.Next;b.Next=c}}};d.ClipperBase.prototype.PopScanbeam=function(a){if(null===this.m_Scanbeam)return a.v=0,!1;a.v=this.m_Scanbeam.Y;this.m_Scanbeam=this.m_Scanbeam.Next;return!0};d.ClipperBase.prototype.LocalMinimaPending=function(){return null!==this.m_CurrentLM};d.ClipperBase.prototype.CreateOutRec=function(){var a=new d.OutRec;a.Idx=d.ClipperBase.Unassigned;\na.IsHole=!1;a.IsOpen=!1;a.FirstLeft=null;a.Pts=null;a.BottomPt=null;a.PolyNode=null;this.m_PolyOuts.push(a);a.Idx=this.m_PolyOuts.length-1;return a};d.ClipperBase.prototype.DisposeOutRec=function(a){this.m_PolyOuts[a].Pts=null;this.m_PolyOuts[a]=null};d.ClipperBase.prototype.UpdateEdgeIntoAEL=function(a){null===a.NextInLML&&d.Error(\"UpdateEdgeIntoAEL: invalid call\");var b=a.PrevInAEL,c=a.NextInAEL;a.NextInLML.OutIdx=a.OutIdx;null!==b?b.NextInAEL=a.NextInLML:this.m_ActiveEdges=a.NextInLML;null!==c&&\n(c.PrevInAEL=a.NextInLML);a.NextInLML.Side=a.Side;a.NextInLML.WindDelta=a.WindDelta;a.NextInLML.WindCnt=a.WindCnt;a.NextInLML.WindCnt2=a.WindCnt2;a=a.NextInLML;a.Curr.X=a.Bot.X;a.Curr.Y=a.Bot.Y;a.PrevInAEL=b;a.NextInAEL=c;d.ClipperBase.IsHorizontal(a)||this.InsertScanbeam(a.Top.Y);return a};d.ClipperBase.prototype.SwapPositionsInAEL=function(a,b){if(a.NextInAEL!==a.PrevInAEL&&b.NextInAEL!==b.PrevInAEL){if(a.NextInAEL===b){var c=b.NextInAEL;null!==c&&(c.PrevInAEL=a);var e=a.PrevInAEL;null!==e&&(e.NextInAEL=\nb);b.PrevInAEL=e;b.NextInAEL=a;a.PrevInAEL=b;a.NextInAEL=c}else b.NextInAEL===a?(c=a.NextInAEL,null!==c&&(c.PrevInAEL=b),e=b.PrevInAEL,null!==e&&(e.NextInAEL=a),a.PrevInAEL=e,a.NextInAEL=b,b.PrevInAEL=a,b.NextInAEL=c):(c=a.NextInAEL,e=a.PrevInAEL,a.NextInAEL=b.NextInAEL,null!==a.NextInAEL&&(a.NextInAEL.PrevInAEL=a),a.PrevInAEL=b.PrevInAEL,null!==a.PrevInAEL&&(a.PrevInAEL.NextInAEL=a),b.NextInAEL=c,null!==b.NextInAEL&&(b.NextInAEL.PrevInAEL=b),b.PrevInAEL=e,null!==b.PrevInAEL&&(b.PrevInAEL.NextInAEL=\nb));null===a.PrevInAEL?this.m_ActiveEdges=a:null===b.PrevInAEL&&(this.m_ActiveEdges=b)}};d.ClipperBase.prototype.DeleteFromAEL=function(a){var b=a.PrevInAEL,c=a.NextInAEL;if(null!==b||null!==c||a===this.m_ActiveEdges)null!==b?b.NextInAEL=c:this.m_ActiveEdges=c,null!==c&&(c.PrevInAEL=b),a.NextInAEL=null,a.PrevInAEL=null};d.Clipper=function(a){\"undefined\"===typeof a&&(a=0);this.m_PolyOuts=null;this.m_ClipType=d.ClipType.ctIntersection;this.m_IntersectNodeComparer=this.m_IntersectList=this.m_SortedEdges=\nthis.m_ActiveEdges=this.m_Maxima=this.m_Scanbeam=null;this.m_ExecuteLocked=!1;this.m_SubjFillType=this.m_ClipFillType=d.PolyFillType.pftEvenOdd;this.m_GhostJoins=this.m_Joins=null;this.StrictlySimple=this.ReverseSolution=this.m_UsingPolyTree=!1;d.ClipperBase.call(this);this.m_SortedEdges=this.m_ActiveEdges=this.m_Maxima=this.m_Scanbeam=null;this.m_IntersectList=[];this.m_IntersectNodeComparer=d.MyIntersectNodeSort.Compare;this.m_UsingPolyTree=this.m_ExecuteLocked=!1;this.m_PolyOuts=[];this.m_Joins=\n[];this.m_GhostJoins=[];this.ReverseSolution=0!==(1&a);this.StrictlySimple=0!==(2&a);this.PreserveCollinear=0!==(4&a);d.use_xyz&&(this.ZFillFunction=null)};d.Clipper.ioReverseSolution=1;d.Clipper.ioStrictlySimple=2;d.Clipper.ioPreserveCollinear=4;d.Clipper.prototype.Clear=function(){0!==this.m_edges.length&&(this.DisposeAllPolyPts(),d.ClipperBase.prototype.Clear.call(this))};d.Clipper.prototype.InsertMaxima=function(a){var b=new d.Maxima;b.X=a;if(null===this.m_Maxima)this.m_Maxima=b,this.m_Maxima.Next=\nnull,this.m_Maxima.Prev=null;else if(a<this.m_Maxima.X)b.Next=this.m_Maxima,b.Prev=null,this.m_Maxima=b;else{for(var c=this.m_Maxima;null!==c.Next&&a>=c.Next.X;)c=c.Next;a!==c.X&&(b.Next=c.Next,b.Prev=c,null!==c.Next&&(c.Next.Prev=b),c.Next=b)}};d.Clipper.prototype.Execute=function(){var a;var b=arguments;var c=b.length;var e=b[1]instanceof d.PolyTree;if(4!==c||e){if(4===c&&e){c=b[0];var f=b[1];e=b[2];b=b[3];if(this.m_ExecuteLocked)return!1;this.m_ExecuteLocked=!0;this.m_SubjFillType=e;this.m_ClipFillType=\nb;this.m_ClipType=c;this.m_UsingPolyTree=!0;try{(a=this.ExecuteInternal())&&this.BuildResult2(f)}finally{this.DisposeAllPolyPts(),this.m_ExecuteLocked=!1}return a}if(2===c&&!e||2===c&&e)return c=b[0],f=b[1],this.Execute(c,f,d.PolyFillType.pftEvenOdd,d.PolyFillType.pftEvenOdd)}else{c=b[0];f=b[1];e=b[2];b=b[3];if(this.m_ExecuteLocked)return!1;this.m_HasOpenPaths&&d.Error(\"Error: PolyTree struct is needed for open path clipping.\");this.m_ExecuteLocked=!0;d.Clear(f);this.m_SubjFillType=e;this.m_ClipFillType=\nb;this.m_ClipType=c;this.m_UsingPolyTree=!1;try{(a=this.ExecuteInternal())&&this.BuildResult(f)}finally{this.DisposeAllPolyPts(),this.m_ExecuteLocked=!1}return a}};d.Clipper.prototype.FixHoleLinkage=function(a){if(null!==a.FirstLeft&&(a.IsHole===a.FirstLeft.IsHole||null===a.FirstLeft.Pts)){for(var b=a.FirstLeft;null!==b&&(b.IsHole===a.IsHole||null===b.Pts);)b=b.FirstLeft;a.FirstLeft=b}};d.Clipper.prototype.ExecuteInternal=function(){try{this.Reset();this.m_Maxima=this.m_SortedEdges=null;var a={},\nb={};if(!this.PopScanbeam(a))return!1;for(this.InsertLocalMinimaIntoAEL(a.v);this.PopScanbeam(b)||this.LocalMinimaPending();){this.ProcessHorizontals();this.m_GhostJoins.length=0;if(!this.ProcessIntersections(b.v))return!1;this.ProcessEdgesAtTopOfScanbeam(b.v);a.v=b.v;this.InsertLocalMinimaIntoAEL(a.v)}var c;var e=0;for(c=this.m_PolyOuts.length;e<c;e++){var d=this.m_PolyOuts[e];null===d.Pts||d.IsOpen||(d.IsHole^this.ReverseSolution)==0<this.Area$1(d)&&this.ReversePolyPtLinks(d.Pts)}this.JoinCommonEdges();\ne=0;for(c=this.m_PolyOuts.length;e<c;e++)d=this.m_PolyOuts[e],null!==d.Pts&&(d.IsOpen?this.FixupOutPolyline(d):this.FixupOutPolygon(d));this.StrictlySimple&&this.DoSimplePolygons();return!0}finally{this.m_Joins.length=0,this.m_GhostJoins.length=0}};d.Clipper.prototype.DisposeAllPolyPts=function(){for(var a=0,b=this.m_PolyOuts.length;a<b;++a)this.DisposeOutRec(a);d.Clear(this.m_PolyOuts)};d.Clipper.prototype.AddJoin=function(a,b,c){var e=new d.Join;e.OutPt1=a;e.OutPt2=b;e.OffPt.X=c.X;e.OffPt.Y=c.Y;\nd.use_xyz&&(e.OffPt.Z=c.Z);this.m_Joins.push(e)};d.Clipper.prototype.AddGhostJoin=function(a,b){var c=new d.Join;c.OutPt1=a;c.OffPt.X=b.X;c.OffPt.Y=b.Y;d.use_xyz&&(c.OffPt.Z=b.Z);this.m_GhostJoins.push(c)};d.Clipper.prototype.SetZ=function(a,b,c){null!==this.ZFillFunction&&0===a.Z&&null!==this.ZFillFunction&&(d.IntPoint.op_Equality(a,b.Bot)?a.Z=b.Bot.Z:d.IntPoint.op_Equality(a,b.Top)?a.Z=b.Top.Z:d.IntPoint.op_Equality(a,c.Bot)?a.Z=c.Bot.Z:d.IntPoint.op_Equality(a,c.Top)?a.Z=c.Top.Z:this.ZFillFunction(b.Bot,\nb.Top,c.Bot,c.Top,a))};d.Clipper.prototype.InsertLocalMinimaIntoAEL=function(a){for(var b,c={},e,f;this.PopLocalMinima(a,c);){e=c.v.LeftBound;f=c.v.RightBound;var g=null;null===e?(this.InsertEdgeIntoAEL(f,null),this.SetWindingCount(f),this.IsContributing(f)&&(g=this.AddOutPt(f,f.Bot))):(null===f?(this.InsertEdgeIntoAEL(e,null),this.SetWindingCount(e),this.IsContributing(e)&&(g=this.AddOutPt(e,e.Bot))):(this.InsertEdgeIntoAEL(e,null),this.InsertEdgeIntoAEL(f,e),this.SetWindingCount(e),f.WindCnt=e.WindCnt,\nf.WindCnt2=e.WindCnt2,this.IsContributing(e)&&(g=this.AddLocalMinPoly(e,f,e.Bot))),this.InsertScanbeam(e.Top.Y));null!==f&&(d.ClipperBase.IsHorizontal(f)?(null!==f.NextInLML&&this.InsertScanbeam(f.NextInLML.Top.Y),this.AddEdgeToSEL(f)):this.InsertScanbeam(f.Top.Y));if(null!==e&&null!==f){if(null!==g&&d.ClipperBase.IsHorizontal(f)&&0<this.m_GhostJoins.length&&0!==f.WindDelta){b=0;for(var h=this.m_GhostJoins.length;b<h;b++){var m=this.m_GhostJoins[b];this.HorzSegmentsOverlap(m.OutPt1.Pt.X,m.OffPt.X,\nf.Bot.X,f.Top.X)&&this.AddJoin(m.OutPt1,g,m.OffPt)}}0<=e.OutIdx&&null!==e.PrevInAEL&&e.PrevInAEL.Curr.X===e.Bot.X&&0<=e.PrevInAEL.OutIdx&&d.ClipperBase.SlopesEqual5(e.PrevInAEL.Curr,e.PrevInAEL.Top,e.Curr,e.Top,this.m_UseFullRange)&&0!==e.WindDelta&&0!==e.PrevInAEL.WindDelta&&(b=this.AddOutPt(e.PrevInAEL,e.Bot),this.AddJoin(g,b,e.Top));if(e.NextInAEL!==f&&(0<=f.OutIdx&&0<=f.PrevInAEL.OutIdx&&d.ClipperBase.SlopesEqual5(f.PrevInAEL.Curr,f.PrevInAEL.Top,f.Curr,f.Top,this.m_UseFullRange)&&0!==f.WindDelta&&\n0!==f.PrevInAEL.WindDelta&&(b=this.AddOutPt(f.PrevInAEL,f.Bot),this.AddJoin(g,b,f.Top)),g=e.NextInAEL,null!==g))for(;g!==f;)this.IntersectEdges(f,g,e.Curr),g=g.NextInAEL}}};d.Clipper.prototype.InsertEdgeIntoAEL=function(a,b){if(null===this.m_ActiveEdges)a.PrevInAEL=null,a.NextInAEL=null,this.m_ActiveEdges=a;else if(null===b&&this.E2InsertsBeforeE1(this.m_ActiveEdges,a))a.PrevInAEL=null,a.NextInAEL=this.m_ActiveEdges,this.m_ActiveEdges=this.m_ActiveEdges.PrevInAEL=a;else{null===b&&(b=this.m_ActiveEdges);\nfor(;null!==b.NextInAEL&&!this.E2InsertsBeforeE1(b.NextInAEL,a);)b=b.NextInAEL;a.NextInAEL=b.NextInAEL;null!==b.NextInAEL&&(b.NextInAEL.PrevInAEL=a);a.PrevInAEL=b;b.NextInAEL=a}};d.Clipper.prototype.E2InsertsBeforeE1=function(a,b){return b.Curr.X===a.Curr.X?b.Top.Y>a.Top.Y?b.Top.X<d.Clipper.TopX(a,b.Top.Y):a.Top.X>d.Clipper.TopX(b,a.Top.Y):b.Curr.X<a.Curr.X};d.Clipper.prototype.IsEvenOddFillType=function(a){return a.PolyTyp===d.PolyType.ptSubject?this.m_SubjFillType===d.PolyFillType.pftEvenOdd:this.m_ClipFillType===\nd.PolyFillType.pftEvenOdd};d.Clipper.prototype.IsEvenOddAltFillType=function(a){return a.PolyTyp===d.PolyType.ptSubject?this.m_ClipFillType===d.PolyFillType.pftEvenOdd:this.m_SubjFillType===d.PolyFillType.pftEvenOdd};d.Clipper.prototype.IsContributing=function(a){if(a.PolyTyp===d.PolyType.ptSubject){var b=this.m_SubjFillType;var c=this.m_ClipFillType}else b=this.m_ClipFillType,c=this.m_SubjFillType;switch(b){case d.PolyFillType.pftEvenOdd:if(0===a.WindDelta&&1!==a.WindCnt)return!1;break;case d.PolyFillType.pftNonZero:if(1!==\nMath.abs(a.WindCnt))return!1;break;case d.PolyFillType.pftPositive:if(1!==a.WindCnt)return!1;break;default:if(-1!==a.WindCnt)return!1}switch(this.m_ClipType){case d.ClipType.ctIntersection:switch(c){case d.PolyFillType.pftEvenOdd:case d.PolyFillType.pftNonZero:return 0!==a.WindCnt2;case d.PolyFillType.pftPositive:return 0<a.WindCnt2;default:return 0>a.WindCnt2}case d.ClipType.ctUnion:switch(c){case d.PolyFillType.pftEvenOdd:case d.PolyFillType.pftNonZero:return 0===a.WindCnt2;case d.PolyFillType.pftPositive:return 0>=\na.WindCnt2;default:return 0<=a.WindCnt2}case d.ClipType.ctDifference:if(a.PolyTyp===d.PolyType.ptSubject)switch(c){case d.PolyFillType.pftEvenOdd:case d.PolyFillType.pftNonZero:return 0===a.WindCnt2;case d.PolyFillType.pftPositive:return 0>=a.WindCnt2;default:return 0<=a.WindCnt2}else switch(c){case d.PolyFillType.pftEvenOdd:case d.PolyFillType.pftNonZero:return 0!==a.WindCnt2;case d.PolyFillType.pftPositive:return 0<a.WindCnt2;default:return 0>a.WindCnt2}case d.ClipType.ctXor:if(0===a.WindDelta)switch(c){case d.PolyFillType.pftEvenOdd:case d.PolyFillType.pftNonZero:return 0===\na.WindCnt2;case d.PolyFillType.pftPositive:return 0>=a.WindCnt2;default:return 0<=a.WindCnt2}}return!0};d.Clipper.prototype.SetWindingCount=function(a){for(var b=a.PrevInAEL;null!==b&&(b.PolyTyp!==a.PolyTyp||0===b.WindDelta);)b=b.PrevInAEL;if(null===b)b=a.PolyTyp===d.PolyType.ptSubject?this.m_SubjFillType:this.m_ClipFillType,a.WindCnt=0===a.WindDelta?b===d.PolyFillType.pftNegative?-1:1:a.WindDelta,a.WindCnt2=0,b=this.m_ActiveEdges;else{if(0===a.WindDelta&&this.m_ClipType!==d.ClipType.ctUnion)a.WindCnt=\n1;else if(this.IsEvenOddFillType(a))if(0===a.WindDelta){for(var c=!0,e=b.PrevInAEL;null!==e;)e.PolyTyp===b.PolyTyp&&0!==e.WindDelta&&(c=!c),e=e.PrevInAEL;a.WindCnt=c?0:1}else a.WindCnt=a.WindDelta;else a.WindCnt=0>b.WindCnt*b.WindDelta?1<Math.abs(b.WindCnt)?0>b.WindDelta*a.WindDelta?b.WindCnt:b.WindCnt+a.WindDelta:0===a.WindDelta?1:a.WindDelta:0===a.WindDelta?0>b.WindCnt?b.WindCnt-1:b.WindCnt+1:0>b.WindDelta*a.WindDelta?b.WindCnt:b.WindCnt+a.WindDelta;a.WindCnt2=b.WindCnt2;b=b.NextInAEL}if(this.IsEvenOddAltFillType(a))for(;b!==\na;)0!==b.WindDelta&&(a.WindCnt2=0===a.WindCnt2?1:0),b=b.NextInAEL;else for(;b!==a;)a.WindCnt2+=b.WindDelta,b=b.NextInAEL};d.Clipper.prototype.AddEdgeToSEL=function(a){null===this.m_SortedEdges?(this.m_SortedEdges=a,a.PrevInSEL=null,a.NextInSEL=null):(a.NextInSEL=this.m_SortedEdges,a.PrevInSEL=null,this.m_SortedEdges=this.m_SortedEdges.PrevInSEL=a)};d.Clipper.prototype.PopEdgeFromSEL=function(a){a.v=this.m_SortedEdges;if(null===a.v)return!1;var b=a.v;this.m_SortedEdges=a.v.NextInSEL;null!==this.m_SortedEdges&&\n(this.m_SortedEdges.PrevInSEL=null);b.NextInSEL=null;b.PrevInSEL=null;return!0};d.Clipper.prototype.CopyAELToSEL=function(){var a=this.m_ActiveEdges;for(this.m_SortedEdges=a;null!==a;)a.PrevInSEL=a.PrevInAEL,a=a.NextInSEL=a.NextInAEL};d.Clipper.prototype.SwapPositionsInSEL=function(a,b){if(null!==a.NextInSEL||null!==a.PrevInSEL)if(null!==b.NextInSEL||null!==b.PrevInSEL){if(a.NextInSEL===b){var c=b.NextInSEL;null!==c&&(c.PrevInSEL=a);var e=a.PrevInSEL;null!==e&&(e.NextInSEL=b);b.PrevInSEL=e;b.NextInSEL=\na;a.PrevInSEL=b;a.NextInSEL=c}else b.NextInSEL===a?(c=a.NextInSEL,null!==c&&(c.PrevInSEL=b),e=b.PrevInSEL,null!==e&&(e.NextInSEL=a),a.PrevInSEL=e,a.NextInSEL=b,b.PrevInSEL=a,b.NextInSEL=c):(c=a.NextInSEL,e=a.PrevInSEL,a.NextInSEL=b.NextInSEL,null!==a.NextInSEL&&(a.NextInSEL.PrevInSEL=a),a.PrevInSEL=b.PrevInSEL,null!==a.PrevInSEL&&(a.PrevInSEL.NextInSEL=a),b.NextInSEL=c,null!==b.NextInSEL&&(b.NextInSEL.PrevInSEL=b),b.PrevInSEL=e,null!==b.PrevInSEL&&(b.PrevInSEL.NextInSEL=b));null===a.PrevInSEL?this.m_SortedEdges=\na:null===b.PrevInSEL&&(this.m_SortedEdges=b)}};d.Clipper.prototype.AddLocalMaxPoly=function(a,b,c){this.AddOutPt(a,c);0===b.WindDelta&&this.AddOutPt(b,c);a.OutIdx===b.OutIdx?(a.OutIdx=-1,b.OutIdx=-1):a.OutIdx<b.OutIdx?this.AppendPolygon(a,b):this.AppendPolygon(b,a)};d.Clipper.prototype.AddLocalMinPoly=function(a,b,c){if(d.ClipperBase.IsHorizontal(b)||a.Dx>b.Dx){var e=this.AddOutPt(a,c);b.OutIdx=a.OutIdx;a.Side=d.EdgeSide.esLeft;b.Side=d.EdgeSide.esRight;var f=a;a=f.PrevInAEL===b?b.PrevInAEL:f.PrevInAEL}else e=\nthis.AddOutPt(b,c),a.OutIdx=b.OutIdx,a.Side=d.EdgeSide.esRight,b.Side=d.EdgeSide.esLeft,f=b,a=f.PrevInAEL===a?a.PrevInAEL:f.PrevInAEL;if(null!==a&&0<=a.OutIdx&&a.Top.Y<c.Y&&f.Top.Y<c.Y){b=d.Clipper.TopX(a,c.Y);var g=d.Clipper.TopX(f,c.Y);b===g&&0!==f.WindDelta&&0!==a.WindDelta&&d.ClipperBase.SlopesEqual5(new d.IntPoint2(b,c.Y),a.Top,new d.IntPoint2(g,c.Y),f.Top,this.m_UseFullRange)&&(c=this.AddOutPt(a,c),this.AddJoin(e,c,f.Top))}return e};d.Clipper.prototype.AddOutPt=function(a,b){if(0>a.OutIdx){var c=\nthis.CreateOutRec();c.IsOpen=0===a.WindDelta;var e=new d.OutPt;c.Pts=e;e.Idx=c.Idx;e.Pt.X=b.X;e.Pt.Y=b.Y;d.use_xyz&&(e.Pt.Z=b.Z);e.Next=e;e.Prev=e;c.IsOpen||this.SetHoleState(a,c);a.OutIdx=c.Idx}else{c=this.m_PolyOuts[a.OutIdx];var f=c.Pts,g=a.Side===d.EdgeSide.esLeft;if(g&&d.IntPoint.op_Equality(b,f.Pt))return f;if(!g&&d.IntPoint.op_Equality(b,f.Prev.Pt))return f.Prev;e=new d.OutPt;e.Idx=c.Idx;e.Pt.X=b.X;e.Pt.Y=b.Y;d.use_xyz&&(e.Pt.Z=b.Z);e.Next=f;e.Prev=f.Prev;e.Prev.Next=e;f.Prev=e;g&&(c.Pts=e)}return e};\nd.Clipper.prototype.GetLastOutPt=function(a){var b=this.m_PolyOuts[a.OutIdx];return a.Side===d.EdgeSide.esLeft?b.Pts:b.Pts.Prev};d.Clipper.prototype.SwapPoints=function(a,b){var c=new d.IntPoint1(a.Value);a.Value.X=b.Value.X;a.Value.Y=b.Value.Y;d.use_xyz&&(a.Value.Z=b.Value.Z);b.Value.X=c.X;b.Value.Y=c.Y;d.use_xyz&&(b.Value.Z=c.Z)};d.Clipper.prototype.HorzSegmentsOverlap=function(a,b,c,e){if(a>b){var d=a;a=b;b=d}c>e&&(d=c,c=e,e=d);return a<e&&c<b};d.Clipper.prototype.SetHoleState=function(a,b){for(var c=\na.PrevInAEL,e=null;null!==c;)0<=c.OutIdx&&0!==c.WindDelta&&(null===e?e=c:e.OutIdx===c.OutIdx&&(e=null)),c=c.PrevInAEL;null===e?(b.FirstLeft=null,b.IsHole=!1):(b.FirstLeft=this.m_PolyOuts[e.OutIdx],b.IsHole=!b.FirstLeft.IsHole)};d.Clipper.prototype.GetDx=function(a,b){return a.Y===b.Y?d.ClipperBase.horizontal:(b.X-a.X)/(b.Y-a.Y)};d.Clipper.prototype.FirstIsBottomPt=function(a,b){for(var c=a.Prev;d.IntPoint.op_Equality(c.Pt,a.Pt)&&c!==a;)c=c.Prev;var e=Math.abs(this.GetDx(a.Pt,c.Pt));for(c=a.Next;d.IntPoint.op_Equality(c.Pt,\na.Pt)&&c!==a;)c=c.Next;var f=Math.abs(this.GetDx(a.Pt,c.Pt));for(c=b.Prev;d.IntPoint.op_Equality(c.Pt,b.Pt)&&c!==b;)c=c.Prev;var g=Math.abs(this.GetDx(b.Pt,c.Pt));for(c=b.Next;d.IntPoint.op_Equality(c.Pt,b.Pt)&&c!==b;)c=c.Next;c=Math.abs(this.GetDx(b.Pt,c.Pt));return Math.max(e,f)===Math.max(g,c)&&Math.min(e,f)===Math.min(g,c)?0<this.Area(a):e>=g&&e>=c||f>=g&&f>=c};d.Clipper.prototype.GetBottomPt=function(a){for(var b=null,c=a.Next;c!==a;)c.Pt.Y>a.Pt.Y?(a=c,b=null):c.Pt.Y===a.Pt.Y&&c.Pt.X<=a.Pt.X&&\n(c.Pt.X<a.Pt.X?(b=null,a=c):c.Next!==a&&c.Prev!==a&&(b=c)),c=c.Next;if(null!==b)for(;b!==c;)for(this.FirstIsBottomPt(c,b)||(a=b),b=b.Next;d.IntPoint.op_Inequality(b.Pt,a.Pt);)b=b.Next;return a};d.Clipper.prototype.GetLowermostRec=function(a,b){null===a.BottomPt&&(a.BottomPt=this.GetBottomPt(a.Pts));null===b.BottomPt&&(b.BottomPt=this.GetBottomPt(b.Pts));var c=a.BottomPt,e=b.BottomPt;return c.Pt.Y>e.Pt.Y?a:c.Pt.Y<e.Pt.Y?b:c.Pt.X<e.Pt.X?a:c.Pt.X>e.Pt.X?b:c.Next===c?b:e.Next===e?a:this.FirstIsBottomPt(c,\ne)?a:b};d.Clipper.prototype.OutRec1RightOfOutRec2=function(a,b){do if(a=a.FirstLeft,a===b)return!0;while(null!==a);return!1};d.Clipper.prototype.GetOutRec=function(a){for(a=this.m_PolyOuts[a];a!==this.m_PolyOuts[a.Idx];)a=this.m_PolyOuts[a.Idx];return a};d.Clipper.prototype.AppendPolygon=function(a,b){var c=this.m_PolyOuts[a.OutIdx],e=this.m_PolyOuts[b.OutIdx];var f=this.OutRec1RightOfOutRec2(c,e)?e:this.OutRec1RightOfOutRec2(e,c)?c:this.GetLowermostRec(c,e);var g=c.Pts,h=g.Prev,m=e.Pts,k=m.Prev;\na.Side===d.EdgeSide.esLeft?b.Side===d.EdgeSide.esLeft?(this.ReversePolyPtLinks(m),m.Next=g,g.Prev=m,h.Next=k,k.Prev=h,c.Pts=k):(k.Next=g,g.Prev=k,m.Prev=h,h.Next=m,c.Pts=m):b.Side===d.EdgeSide.esRight?(this.ReversePolyPtLinks(m),h.Next=k,k.Prev=h,m.Next=g,g.Prev=m):(h.Next=m,m.Prev=h,g.Prev=k,k.Next=g);c.BottomPt=null;f===e&&(e.FirstLeft!==c&&(c.FirstLeft=e.FirstLeft),c.IsHole=e.IsHole);e.Pts=null;e.BottomPt=null;e.FirstLeft=c;f=a.OutIdx;g=b.OutIdx;a.OutIdx=-1;b.OutIdx=-1;for(h=this.m_ActiveEdges;null!==\nh;){if(h.OutIdx===g){h.OutIdx=f;h.Side=a.Side;break}h=h.NextInAEL}e.Idx=c.Idx};d.Clipper.prototype.ReversePolyPtLinks=function(a){if(null!==a){var b=a;do{var c=b.Next;b.Next=b.Prev;b=b.Prev=c}while(b!==a)}};d.Clipper.SwapSides=function(a,b){var c=a.Side;a.Side=b.Side;b.Side=c};d.Clipper.SwapPolyIndexes=function(a,b){var c=a.OutIdx;a.OutIdx=b.OutIdx;b.OutIdx=c};d.Clipper.prototype.IntersectEdges=function(a,b,c){var e=0<=a.OutIdx,f=0<=b.OutIdx;d.use_xyz&&this.SetZ(c,a,b);if(!d.use_lines||0!==a.WindDelta&&\n0!==b.WindDelta){if(a.PolyTyp===b.PolyTyp)if(this.IsEvenOddFillType(a)){var g=a.WindCnt;a.WindCnt=b.WindCnt;b.WindCnt=g}else a.WindCnt=0===a.WindCnt+b.WindDelta?-a.WindCnt:a.WindCnt+b.WindDelta,b.WindCnt=0===b.WindCnt-a.WindDelta?-b.WindCnt:b.WindCnt-a.WindDelta;else this.IsEvenOddFillType(b)?a.WindCnt2=0===a.WindCnt2?1:0:a.WindCnt2+=b.WindDelta,this.IsEvenOddFillType(a)?b.WindCnt2=0===b.WindCnt2?1:0:b.WindCnt2-=a.WindDelta;if(a.PolyTyp===d.PolyType.ptSubject){var h=this.m_SubjFillType;var k=this.m_ClipFillType}else h=\nthis.m_ClipFillType,k=this.m_SubjFillType;if(b.PolyTyp===d.PolyType.ptSubject){var l=this.m_SubjFillType;g=this.m_ClipFillType}else l=this.m_ClipFillType,g=this.m_SubjFillType;switch(h){case d.PolyFillType.pftPositive:h=a.WindCnt;break;case d.PolyFillType.pftNegative:h=-a.WindCnt;break;default:h=Math.abs(a.WindCnt)}switch(l){case d.PolyFillType.pftPositive:l=b.WindCnt;break;case d.PolyFillType.pftNegative:l=-b.WindCnt;break;default:l=Math.abs(b.WindCnt)}if(e&&f)0!==h&&1!==h||0!==l&&1!==l||a.PolyTyp!==\nb.PolyTyp&&this.m_ClipType!==d.ClipType.ctXor?this.AddLocalMaxPoly(a,b,c):(this.AddOutPt(a,c),this.AddOutPt(b,c),d.Clipper.SwapSides(a,b),d.Clipper.SwapPolyIndexes(a,b));else if(e){if(0===l||1===l)this.AddOutPt(a,c),d.Clipper.SwapSides(a,b),d.Clipper.SwapPolyIndexes(a,b)}else if(f){if(0===h||1===h)this.AddOutPt(b,c),d.Clipper.SwapSides(a,b),d.Clipper.SwapPolyIndexes(a,b)}else if(!(0!==h&&1!==h||0!==l&&1!==l)){switch(k){case d.PolyFillType.pftPositive:e=a.WindCnt2;break;case d.PolyFillType.pftNegative:e=\n-a.WindCnt2;break;default:e=Math.abs(a.WindCnt2)}switch(g){case d.PolyFillType.pftPositive:f=b.WindCnt2;break;case d.PolyFillType.pftNegative:f=-b.WindCnt2;break;default:f=Math.abs(b.WindCnt2)}if(a.PolyTyp!==b.PolyTyp)this.AddLocalMinPoly(a,b,c);else if(1===h&&1===l)switch(this.m_ClipType){case d.ClipType.ctIntersection:0<e&&0<f&&this.AddLocalMinPoly(a,b,c);break;case d.ClipType.ctUnion:0>=e&&0>=f&&this.AddLocalMinPoly(a,b,c);break;case d.ClipType.ctDifference:(a.PolyTyp===d.PolyType.ptClip&&0<e&&\n0<f||a.PolyTyp===d.PolyType.ptSubject&&0>=e&&0>=f)&&this.AddLocalMinPoly(a,b,c);break;case d.ClipType.ctXor:this.AddLocalMinPoly(a,b,c)}else d.Clipper.SwapSides(a,b)}}else if(0!==a.WindDelta||0!==b.WindDelta)a.PolyTyp===b.PolyTyp&&a.WindDelta!==b.WindDelta&&this.m_ClipType===d.ClipType.ctUnion?0===a.WindDelta?f&&(this.AddOutPt(a,c),e&&(a.OutIdx=-1)):e&&(this.AddOutPt(b,c),f&&(b.OutIdx=-1)):a.PolyTyp!==b.PolyTyp&&(0!==a.WindDelta||1!==Math.abs(b.WindCnt)||this.m_ClipType===d.ClipType.ctUnion&&0!==\nb.WindCnt2?0!==b.WindDelta||1!==Math.abs(a.WindCnt)||this.m_ClipType===d.ClipType.ctUnion&&0!==a.WindCnt2||(this.AddOutPt(b,c),f&&(b.OutIdx=-1)):(this.AddOutPt(a,c),e&&(a.OutIdx=-1)))};d.Clipper.prototype.DeleteFromSEL=function(a){var b=a.PrevInSEL,c=a.NextInSEL;if(null!==b||null!==c||a===this.m_SortedEdges)null!==b?b.NextInSEL=c:this.m_SortedEdges=c,null!==c&&(c.PrevInSEL=b),a.NextInSEL=null,a.PrevInSEL=null};d.Clipper.prototype.ProcessHorizontals=function(){for(var a={};this.PopEdgeFromSEL(a);)this.ProcessHorizontal(a.v)};\nd.Clipper.prototype.GetHorzDirection=function(a,b){a.Bot.X<a.Top.X?(b.Left=a.Bot.X,b.Right=a.Top.X,b.Dir=d.Direction.dLeftToRight):(b.Left=a.Top.X,b.Right=a.Bot.X,b.Dir=d.Direction.dRightToLeft)};d.Clipper.prototype.ProcessHorizontal=function(a){var b,c={Dir:null,Left:null,Right:null};this.GetHorzDirection(a,c);var e=c.Dir,f=c.Left;c=c.Right;for(var g=0===a.WindDelta,h=a,k=null;null!==h.NextInLML&&d.ClipperBase.IsHorizontal(h.NextInLML);)h=h.NextInLML;null===h.NextInLML&&(k=this.GetMaximaPair(h));\nvar l=this.m_Maxima;if(null!==l)if(e===d.Direction.dLeftToRight){for(;null!==l&&l.X<=a.Bot.X;)l=l.Next;null!==l&&l.X>=h.Top.X&&(l=null)}else{for(;null!==l.Next&&l.Next.X<a.Bot.X;)l=l.Next;l.X<=h.Top.X&&(l=null)}for(var n=null;;){for(var r=a===h,p=this.GetNextInAEL(a,e);null!==p;){if(null!==l)if(e===d.Direction.dLeftToRight)for(;null!==l&&l.X<p.Curr.X;)0<=a.OutIdx&&!g&&this.AddOutPt(a,new d.IntPoint2(l.X,a.Bot.Y)),l=l.Next;else for(;null!==l&&l.X>p.Curr.X;)0<=a.OutIdx&&!g&&this.AddOutPt(a,new d.IntPoint2(l.X,\na.Bot.Y)),l=l.Prev;if(e===d.Direction.dLeftToRight&&p.Curr.X>c||e===d.Direction.dRightToLeft&&p.Curr.X<f)break;if(p.Curr.X===a.Top.X&&null!==a.NextInLML&&p.Dx<a.NextInLML.Dx)break;if(0<=a.OutIdx&&!g){d.use_xyz&&(e===d.Direction.dLeftToRight?this.SetZ(p.Curr,a,p):this.SetZ(p.Curr,p,a));n=this.AddOutPt(a,p.Curr);for(b=this.m_SortedEdges;null!==b;){if(0<=b.OutIdx&&this.HorzSegmentsOverlap(a.Bot.X,a.Top.X,b.Bot.X,b.Top.X)){var t=this.GetLastOutPt(b);this.AddJoin(t,n,b.Top)}b=b.NextInSEL}this.AddGhostJoin(n,\na.Bot)}if(p===k&&r){0<=a.OutIdx&&this.AddLocalMaxPoly(a,k,a.Top);this.DeleteFromAEL(a);this.DeleteFromAEL(k);return}e===d.Direction.dLeftToRight?(t=new d.IntPoint2(p.Curr.X,a.Curr.Y),this.IntersectEdges(a,p,t)):(t=new d.IntPoint2(p.Curr.X,a.Curr.Y),this.IntersectEdges(p,a,t));t=this.GetNextInAEL(p,e);this.SwapPositionsInAEL(a,p);p=t}if(null===a.NextInLML||!d.ClipperBase.IsHorizontal(a.NextInLML))break;a=this.UpdateEdgeIntoAEL(a);0<=a.OutIdx&&this.AddOutPt(a,a.Bot);c={Dir:e,Left:f,Right:c};this.GetHorzDirection(a,\nc);e=c.Dir;f=c.Left;c=c.Right}if(0<=a.OutIdx&&null===n){n=this.GetLastOutPt(a);for(b=this.m_SortedEdges;null!==b;)0<=b.OutIdx&&this.HorzSegmentsOverlap(a.Bot.X,a.Top.X,b.Bot.X,b.Top.X)&&(t=this.GetLastOutPt(b),this.AddJoin(t,n,b.Top)),b=b.NextInSEL;this.AddGhostJoin(n,a.Top)}null!==a.NextInLML?0<=a.OutIdx?(n=this.AddOutPt(a,a.Top),a=this.UpdateEdgeIntoAEL(a),0!==a.WindDelta&&(e=a.PrevInAEL,t=a.NextInAEL,null!==e&&e.Curr.X===a.Bot.X&&e.Curr.Y===a.Bot.Y&&0===e.WindDelta&&0<=e.OutIdx&&e.Curr.Y>e.Top.Y&&\nd.ClipperBase.SlopesEqual3(a,e,this.m_UseFullRange)?(t=this.AddOutPt(e,a.Bot),this.AddJoin(n,t,a.Top)):null!==t&&t.Curr.X===a.Bot.X&&t.Curr.Y===a.Bot.Y&&0!==t.WindDelta&&0<=t.OutIdx&&t.Curr.Y>t.Top.Y&&d.ClipperBase.SlopesEqual3(a,t,this.m_UseFullRange)&&(t=this.AddOutPt(t,a.Bot),this.AddJoin(n,t,a.Top)))):this.UpdateEdgeIntoAEL(a):(0<=a.OutIdx&&this.AddOutPt(a,a.Top),this.DeleteFromAEL(a))};d.Clipper.prototype.GetNextInAEL=function(a,b){return b===d.Direction.dLeftToRight?a.NextInAEL:a.PrevInAEL};\nd.Clipper.prototype.IsMinima=function(a){return null!==a&&a.Prev.NextInLML!==a&&a.Next.NextInLML!==a};d.Clipper.prototype.IsMaxima=function(a,b){return null!==a&&a.Top.Y===b&&null===a.NextInLML};d.Clipper.prototype.IsIntermediate=function(a,b){return a.Top.Y===b&&null!==a.NextInLML};d.Clipper.prototype.GetMaximaPair=function(a){return d.IntPoint.op_Equality(a.Next.Top,a.Top)&&null===a.Next.NextInLML?a.Next:d.IntPoint.op_Equality(a.Prev.Top,a.Top)&&null===a.Prev.NextInLML?a.Prev:null};d.Clipper.prototype.GetMaximaPairEx=\nfunction(a){a=this.GetMaximaPair(a);return null===a||a.OutIdx===d.ClipperBase.Skip||a.NextInAEL===a.PrevInAEL&&!d.ClipperBase.IsHorizontal(a)?null:a};d.Clipper.prototype.ProcessIntersections=function(a){if(null===this.m_ActiveEdges)return!0;try{this.BuildIntersectList(a);if(0===this.m_IntersectList.length)return!0;if(1===this.m_IntersectList.length||this.FixupIntersectionOrder())this.ProcessIntersectList();else return!1}catch(b){this.m_SortedEdges=null,this.m_IntersectList.length=0,d.Error(\"ProcessIntersections error\")}this.m_SortedEdges=\nnull;return!0};d.Clipper.prototype.BuildIntersectList=function(a){if(null!==this.m_ActiveEdges){var b=this.m_ActiveEdges;for(this.m_SortedEdges=b;null!==b;)b.PrevInSEL=b.PrevInAEL,b.NextInSEL=b.NextInAEL,b.Curr.X=d.Clipper.TopX(b,a),b=b.NextInAEL;for(var c=!0;c&&null!==this.m_SortedEdges;){c=!1;for(b=this.m_SortedEdges;null!==b.NextInSEL;){var e=b.NextInSEL,f=new d.IntPoint0;b.Curr.X>e.Curr.X?(this.IntersectPoint(b,e,f),f.Y<a&&(f=new d.IntPoint2(d.Clipper.TopX(b,a),a)),c=new d.IntersectNode,c.Edge1=\nb,c.Edge2=e,c.Pt.X=f.X,c.Pt.Y=f.Y,d.use_xyz&&(c.Pt.Z=f.Z),this.m_IntersectList.push(c),this.SwapPositionsInSEL(b,e),c=!0):b=e}if(null!==b.PrevInSEL)b.PrevInSEL.NextInSEL=null;else break}this.m_SortedEdges=null}};d.Clipper.prototype.EdgesAdjacent=function(a){return a.Edge1.NextInSEL===a.Edge2||a.Edge1.PrevInSEL===a.Edge2};d.Clipper.IntersectNodeSort=function(a,b){return b.Pt.Y-a.Pt.Y};d.Clipper.prototype.FixupIntersectionOrder=function(){this.m_IntersectList.sort(this.m_IntersectNodeComparer);this.CopyAELToSEL();\nfor(var a=this.m_IntersectList.length,b=0;b<a;b++){if(!this.EdgesAdjacent(this.m_IntersectList[b])){for(var c=b+1;c<a&&!this.EdgesAdjacent(this.m_IntersectList[c]);)c++;if(c===a)return!1;var e=this.m_IntersectList[b];this.m_IntersectList[b]=this.m_IntersectList[c];this.m_IntersectList[c]=e}this.SwapPositionsInSEL(this.m_IntersectList[b].Edge1,this.m_IntersectList[b].Edge2)}return!0};d.Clipper.prototype.ProcessIntersectList=function(){for(var a=0,b=this.m_IntersectList.length;a<b;a++){var c=this.m_IntersectList[a];\nthis.IntersectEdges(c.Edge1,c.Edge2,c.Pt);this.SwapPositionsInAEL(c.Edge1,c.Edge2)}this.m_IntersectList.length=0};I=function(a){return 0>a?Math.ceil(a-.5):Math.round(a)};J=function(a){return 0>a?Math.ceil(a-.5):Math.floor(a+.5)};K=function(a){return 0>a?-Math.round(Math.abs(a)):Math.round(a)};L=function(a){if(0>a)return a-=.5,-2147483648>a?Math.ceil(a):a|0;a+=.5;return 2147483647<a?Math.floor(a):a|0};d.Clipper.Round=u?I:G?K:Q?L:J;d.Clipper.TopX=function(a,b){return b===a.Top.Y?a.Top.X:a.Bot.X+d.Clipper.Round(a.Dx*\n(b-a.Bot.Y))};d.Clipper.prototype.IntersectPoint=function(a,b,c){c.X=0;c.Y=0;if(a.Dx===b.Dx)c.Y=a.Curr.Y,c.X=d.Clipper.TopX(a,c.Y);else{if(0===a.Delta.X)if(c.X=a.Bot.X,d.ClipperBase.IsHorizontal(b))c.Y=b.Bot.Y;else{var e=b.Bot.Y-b.Bot.X/b.Dx;c.Y=d.Clipper.Round(c.X/b.Dx+e)}else if(0===b.Delta.X)if(c.X=b.Bot.X,d.ClipperBase.IsHorizontal(a))c.Y=a.Bot.Y;else{var f=a.Bot.Y-a.Bot.X/a.Dx;c.Y=d.Clipper.Round(c.X/a.Dx+f)}else{f=a.Bot.X-a.Bot.Y*a.Dx;e=b.Bot.X-b.Bot.Y*b.Dx;var g=(e-f)/(a.Dx-b.Dx);c.Y=d.Clipper.Round(g);\nc.X=Math.abs(a.Dx)<Math.abs(b.Dx)?d.Clipper.Round(a.Dx*g+f):d.Clipper.Round(b.Dx*g+e)}if(c.Y<a.Top.Y||c.Y<b.Top.Y){if(a.Top.Y>b.Top.Y)return c.Y=a.Top.Y,c.X=d.Clipper.TopX(b,a.Top.Y),c.X<a.Top.X;c.Y=b.Top.Y;c.X=Math.abs(a.Dx)<Math.abs(b.Dx)?d.Clipper.TopX(a,c.Y):d.Clipper.TopX(b,c.Y)}c.Y>a.Curr.Y&&(c.Y=a.Curr.Y,c.X=Math.abs(a.Dx)>Math.abs(b.Dx)?d.Clipper.TopX(b,c.Y):d.Clipper.TopX(a,c.Y))}};d.Clipper.prototype.ProcessEdgesAtTopOfScanbeam=function(a){for(var b,c,e=this.m_ActiveEdges;null!==e;){if(c=\nthis.IsMaxima(e,a))c=this.GetMaximaPairEx(e),c=null===c||!d.ClipperBase.IsHorizontal(c);if(c)this.StrictlySimple&&this.InsertMaxima(e.Top.X),b=e.PrevInAEL,this.DoMaxima(e),e=null===b?this.m_ActiveEdges:b.NextInAEL;else{this.IsIntermediate(e,a)&&d.ClipperBase.IsHorizontal(e.NextInLML)?(e=this.UpdateEdgeIntoAEL(e),0<=e.OutIdx&&this.AddOutPt(e,e.Bot),this.AddEdgeToSEL(e)):(e.Curr.X=d.Clipper.TopX(e,a),e.Curr.Y=a);d.use_xyz&&(e.Curr.Z=e.Top.Y===a?e.Top.Z:e.Bot.Y===a?e.Bot.Z:0);if(this.StrictlySimple&&\n(b=e.PrevInAEL,0<=e.OutIdx&&0!==e.WindDelta&&null!==b&&0<=b.OutIdx&&b.Curr.X===e.Curr.X&&0!==b.WindDelta)){var f=new d.IntPoint1(e.Curr);d.use_xyz&&this.SetZ(f,b,e);c=this.AddOutPt(b,f);b=this.AddOutPt(e,f);this.AddJoin(c,b,f)}e=e.NextInAEL}}this.ProcessHorizontals();this.m_Maxima=null;for(e=this.m_ActiveEdges;null!==e;)this.IsIntermediate(e,a)&&(c=null,0<=e.OutIdx&&(c=this.AddOutPt(e,e.Top)),e=this.UpdateEdgeIntoAEL(e),b=e.PrevInAEL,f=e.NextInAEL,null!==b&&b.Curr.X===e.Bot.X&&b.Curr.Y===e.Bot.Y&&\nnull!==c&&0<=b.OutIdx&&b.Curr.Y===b.Top.Y&&d.ClipperBase.SlopesEqual5(e.Curr,e.Top,b.Curr,b.Top,this.m_UseFullRange)&&0!==e.WindDelta&&0!==b.WindDelta?(b=this.AddOutPt(ePrev2,e.Bot),this.AddJoin(c,b,e.Top)):null!==f&&f.Curr.X===e.Bot.X&&f.Curr.Y===e.Bot.Y&&null!==c&&0<=f.OutIdx&&f.Curr.Y===f.Top.Y&&d.ClipperBase.SlopesEqual5(e.Curr,e.Top,f.Curr,f.Top,this.m_UseFullRange)&&0!==e.WindDelta&&0!==f.WindDelta&&(b=this.AddOutPt(f,e.Bot),this.AddJoin(c,b,e.Top))),e=e.NextInAEL};d.Clipper.prototype.DoMaxima=\nfunction(a){var b=this.GetMaximaPairEx(a);if(null===b)0<=a.OutIdx&&this.AddOutPt(a,a.Top),this.DeleteFromAEL(a);else{for(var c=a.NextInAEL;null!==c&&c!==b;)this.IntersectEdges(a,c,a.Top),this.SwapPositionsInAEL(a,c),c=a.NextInAEL;-1===a.OutIdx&&-1===b.OutIdx?(this.DeleteFromAEL(a),this.DeleteFromAEL(b)):0<=a.OutIdx&&0<=b.OutIdx?(0<=a.OutIdx&&this.AddLocalMaxPoly(a,b,a.Top),this.DeleteFromAEL(a),this.DeleteFromAEL(b)):d.use_lines&&0===a.WindDelta?(0<=a.OutIdx&&(this.AddOutPt(a,a.Top),a.OutIdx=d.ClipperBase.Unassigned),\nthis.DeleteFromAEL(a),0<=b.OutIdx&&(this.AddOutPt(b,a.Top),b.OutIdx=d.ClipperBase.Unassigned),this.DeleteFromAEL(b)):d.Error(\"DoMaxima error\")}};d.Clipper.ReversePaths=function(a){for(var b=0,c=a.length;b<c;b++)a[b].reverse()};d.Clipper.Orientation=function(a){return 0<=d.Clipper.Area(a)};d.Clipper.prototype.PointCount=function(a){if(null===a)return 0;var b=0,c=a;do b++,c=c.Next;while(c!==a);return b};d.Clipper.prototype.BuildResult=function(a){d.Clear(a);for(var b=0,c=this.m_PolyOuts.length;b<c;b++){var e=\nthis.m_PolyOuts[b];if(null!==e.Pts){e=e.Pts.Prev;var f=this.PointCount(e);if(!(2>f)){for(var g=Array(f),h=0;h<f;h++)g[h]=e.Pt,e=e.Prev;a.push(g)}}}};d.Clipper.prototype.BuildResult2=function(a){a.Clear();for(var b=0,c=this.m_PolyOuts.length;b<c;b++){var e=this.m_PolyOuts[b];var f=this.PointCount(e.Pts);if(!(e.IsOpen&&2>f||!e.IsOpen&&3>f)){this.FixHoleLinkage(e);var g=new d.PolyNode;a.m_AllPolys.push(g);e.PolyNode=g;g.m_polygon.length=f;e=e.Pts.Prev;for(var h=0;h<f;h++)g.m_polygon[h]=e.Pt,e=e.Prev}}b=\n0;for(c=this.m_PolyOuts.length;b<c;b++)e=this.m_PolyOuts[b],null!==e.PolyNode&&(e.IsOpen?(e.PolyNode.IsOpen=!0,a.AddChild(e.PolyNode)):null!==e.FirstLeft&&null!==e.FirstLeft.PolyNode?e.FirstLeft.PolyNode.AddChild(e.PolyNode):a.AddChild(e.PolyNode))};d.Clipper.prototype.FixupOutPolyline=function(a){for(var b=a.Pts,c=b.Prev;b!==c;)if(b=b.Next,d.IntPoint.op_Equality(b.Pt,b.Prev.Pt)){b===c&&(c=b.Prev);var e=b.Prev;e.Next=b.Next;b=b.Next.Prev=e}b===b.Prev&&(a.Pts=null)};d.Clipper.prototype.FixupOutPolygon=\nfunction(a){var b=null;a.BottomPt=null;for(var c=a.Pts,e=this.PreserveCollinear||this.StrictlySimple;;){if(c.Prev===c||c.Prev===c.Next){a.Pts=null;return}if(d.IntPoint.op_Equality(c.Pt,c.Next.Pt)||d.IntPoint.op_Equality(c.Pt,c.Prev.Pt)||d.ClipperBase.SlopesEqual4(c.Prev.Pt,c.Pt,c.Next.Pt,this.m_UseFullRange)&&(!e||!this.Pt2IsBetweenPt1AndPt3(c.Prev.Pt,c.Pt,c.Next.Pt)))b=null,c.Prev.Next=c.Next,c=c.Next.Prev=c.Prev;else if(c===b)break;else null===b&&(b=c),c=c.Next}a.Pts=c};d.Clipper.prototype.DupOutPt=\nfunction(a,b){var c=new d.OutPt;c.Pt.X=a.Pt.X;c.Pt.Y=a.Pt.Y;d.use_xyz&&(c.Pt.Z=a.Pt.Z);c.Idx=a.Idx;b?(c.Next=a.Next,c.Prev=a,a.Next.Prev=c,a.Next=c):(c.Prev=a.Prev,c.Next=a,a.Prev.Next=c,a.Prev=c);return c};d.Clipper.prototype.GetOverlap=function(a,b,c,e,d){a<b?c<e?(d.Left=Math.max(a,c),d.Right=Math.min(b,e)):(d.Left=Math.max(a,e),d.Right=Math.min(b,c)):c<e?(d.Left=Math.max(b,c),d.Right=Math.min(a,e)):(d.Left=Math.max(b,e),d.Right=Math.min(a,c));return d.Left<d.Right};d.Clipper.prototype.JoinHorz=\nfunction(a,b,c,e,f,g){var h=a.Pt.X>b.Pt.X?d.Direction.dRightToLeft:d.Direction.dLeftToRight;e=c.Pt.X>e.Pt.X?d.Direction.dRightToLeft:d.Direction.dLeftToRight;if(h===e)return!1;if(h===d.Direction.dLeftToRight){for(;a.Next.Pt.X<=f.X&&a.Next.Pt.X>=a.Pt.X&&a.Next.Pt.Y===f.Y;)a=a.Next;g&&a.Pt.X!==f.X&&(a=a.Next);b=this.DupOutPt(a,!g);d.IntPoint.op_Inequality(b.Pt,f)&&(a=b,a.Pt.X=f.X,a.Pt.Y=f.Y,d.use_xyz&&(a.Pt.Z=f.Z),b=this.DupOutPt(a,!g))}else{for(;a.Next.Pt.X>=f.X&&a.Next.Pt.X<=a.Pt.X&&a.Next.Pt.Y===\nf.Y;)a=a.Next;g||a.Pt.X===f.X||(a=a.Next);b=this.DupOutPt(a,g);d.IntPoint.op_Inequality(b.Pt,f)&&(a=b,a.Pt.X=f.X,a.Pt.Y=f.Y,d.use_xyz&&(a.Pt.Z=f.Z),b=this.DupOutPt(a,g))}if(e===d.Direction.dLeftToRight){for(;c.Next.Pt.X<=f.X&&c.Next.Pt.X>=c.Pt.X&&c.Next.Pt.Y===f.Y;)c=c.Next;g&&c.Pt.X!==f.X&&(c=c.Next);e=this.DupOutPt(c,!g);d.IntPoint.op_Inequality(e.Pt,f)&&(c=e,c.Pt.X=f.X,c.Pt.Y=f.Y,d.use_xyz&&(c.Pt.Z=f.Z),e=this.DupOutPt(c,!g))}else{for(;c.Next.Pt.X>=f.X&&c.Next.Pt.X<=c.Pt.X&&c.Next.Pt.Y===f.Y;)c=\nc.Next;g||c.Pt.X===f.X||(c=c.Next);e=this.DupOutPt(c,g);d.IntPoint.op_Inequality(e.Pt,f)&&(c=e,c.Pt.X=f.X,c.Pt.Y=f.Y,d.use_xyz&&(c.Pt.Z=f.Z),e=this.DupOutPt(c,g))}h===d.Direction.dLeftToRight===g?(a.Prev=c,c.Next=a,b.Next=e,e.Prev=b):(a.Next=c,c.Prev=a,b.Prev=e,e.Next=b);return!0};d.Clipper.prototype.JoinPoints=function(a,b,c){var e=a.OutPt1,f;new d.OutPt;var g=a.OutPt2,h;new d.OutPt;if((h=a.OutPt1.Pt.Y===a.OffPt.Y)&&d.IntPoint.op_Equality(a.OffPt,a.OutPt1.Pt)&&d.IntPoint.op_Equality(a.OffPt,a.OutPt2.Pt)){if(b!==\nc)return!1;for(f=a.OutPt1.Next;f!==e&&d.IntPoint.op_Equality(f.Pt,a.OffPt);)f=f.Next;f=f.Pt.Y>a.OffPt.Y;for(h=a.OutPt2.Next;h!==g&&d.IntPoint.op_Equality(h.Pt,a.OffPt);)h=h.Next;if(f===h.Pt.Y>a.OffPt.Y)return!1;f?(f=this.DupOutPt(e,!1),h=this.DupOutPt(g,!0),e.Prev=g,g.Next=e,f.Next=h,h.Prev=f):(f=this.DupOutPt(e,!0),h=this.DupOutPt(g,!1),e.Next=g,g.Prev=e,f.Prev=h,h.Next=f);a.OutPt1=e;a.OutPt2=f;return!0}if(h){for(f=e;e.Prev.Pt.Y===e.Pt.Y&&e.Prev!==f&&e.Prev!==g;)e=e.Prev;for(;f.Next.Pt.Y===f.Pt.Y&&\nf.Next!==e&&f.Next!==g;)f=f.Next;if(f.Next===e||f.Next===g)return!1;for(h=g;g.Prev.Pt.Y===g.Pt.Y&&g.Prev!==h&&g.Prev!==f;)g=g.Prev;for(;h.Next.Pt.Y===h.Pt.Y&&h.Next!==g&&h.Next!==e;)h=h.Next;if(h.Next===g||h.Next===e)return!1;c={Left:null,Right:null};if(!this.GetOverlap(e.Pt.X,f.Pt.X,g.Pt.X,h.Pt.X,c))return!1;b=c.Left;var k=c.Right;c=new d.IntPoint0;e.Pt.X>=b&&e.Pt.X<=k?(c.X=e.Pt.X,c.Y=e.Pt.Y,d.use_xyz&&(c.Z=e.Pt.Z),b=e.Pt.X>f.Pt.X):g.Pt.X>=b&&g.Pt.X<=k?(c.X=g.Pt.X,c.Y=g.Pt.Y,d.use_xyz&&(c.Z=g.Pt.Z),\nb=g.Pt.X>h.Pt.X):f.Pt.X>=b&&f.Pt.X<=k?(c.X=f.Pt.X,c.Y=f.Pt.Y,d.use_xyz&&(c.Z=f.Pt.Z),b=f.Pt.X>e.Pt.X):(c.X=h.Pt.X,c.Y=h.Pt.Y,d.use_xyz&&(c.Z=h.Pt.Z),b=h.Pt.X>g.Pt.X);a.OutPt1=e;a.OutPt2=g;return this.JoinHorz(e,f,g,h,c,b)}for(f=e.Next;d.IntPoint.op_Equality(f.Pt,e.Pt)&&f!==e;)f=f.Next;if(k=f.Pt.Y>e.Pt.Y||!d.ClipperBase.SlopesEqual4(e.Pt,f.Pt,a.OffPt,this.m_UseFullRange)){for(f=e.Prev;d.IntPoint.op_Equality(f.Pt,e.Pt)&&f!==e;)f=f.Prev;if(f.Pt.Y>e.Pt.Y||!d.ClipperBase.SlopesEqual4(e.Pt,f.Pt,a.OffPt,\nthis.m_UseFullRange))return!1}for(h=g.Next;d.IntPoint.op_Equality(h.Pt,g.Pt)&&h!==g;)h=h.Next;var l=h.Pt.Y>g.Pt.Y||!d.ClipperBase.SlopesEqual4(g.Pt,h.Pt,a.OffPt,this.m_UseFullRange);if(l){for(h=g.Prev;d.IntPoint.op_Equality(h.Pt,g.Pt)&&h!==g;)h=h.Prev;if(h.Pt.Y>g.Pt.Y||!d.ClipperBase.SlopesEqual4(g.Pt,h.Pt,a.OffPt,this.m_UseFullRange))return!1}if(f===e||h===g||f===h||b===c&&k===l)return!1;k?(f=this.DupOutPt(e,!1),h=this.DupOutPt(g,!0),e.Prev=g,g.Next=e,f.Next=h,h.Prev=f):(f=this.DupOutPt(e,!0),h=\nthis.DupOutPt(g,!1),e.Next=g,g.Prev=e,f.Prev=h,h.Next=f);a.OutPt1=e;a.OutPt2=f;return!0};d.Clipper.GetBounds=function(a){for(var b=0,c=a.length;b<c&&0===a[b].length;)b++;if(b===c)return new d.IntRect(0,0,0,0);var e=new d.IntRect;e.left=a[b][0].X;e.right=e.left;e.top=a[b][0].Y;for(e.bottom=e.top;b<c;b++)for(var f=0,g=a[b].length;f<g;f++)a[b][f].X<e.left?e.left=a[b][f].X:a[b][f].X>e.right&&(e.right=a[b][f].X),a[b][f].Y<e.top?e.top=a[b][f].Y:a[b][f].Y>e.bottom&&(e.bottom=a[b][f].Y);return e};d.Clipper.prototype.GetBounds2=\nfunction(a){var b=a,c=new d.IntRect;c.left=a.Pt.X;c.right=a.Pt.X;c.top=a.Pt.Y;c.bottom=a.Pt.Y;for(a=a.Next;a!==b;)a.Pt.X<c.left&&(c.left=a.Pt.X),a.Pt.X>c.right&&(c.right=a.Pt.X),a.Pt.Y<c.top&&(c.top=a.Pt.Y),a.Pt.Y>c.bottom&&(c.bottom=a.Pt.Y),a=a.Next;return c};d.Clipper.PointInPolygon=function(a,b){var c=0,e=b.length;if(3>e)return 0;for(var d=b[0],g=1;g<=e;++g){var h=g===e?b[0]:b[g];if(h.Y===a.Y&&(h.X===a.X||d.Y===a.Y&&h.X>a.X===d.X<a.X))return-1;if(d.Y<a.Y!==h.Y<a.Y)if(d.X>=a.X)if(h.X>a.X)c=1-c;\nelse{var k=(d.X-a.X)*(h.Y-a.Y)-(h.X-a.X)*(d.Y-a.Y);if(0===k)return-1;0<k===h.Y>d.Y&&(c=1-c)}else if(h.X>a.X){k=(d.X-a.X)*(h.Y-a.Y)-(h.X-a.X)*(d.Y-a.Y);if(0===k)return-1;0<k===h.Y>d.Y&&(c=1-c)}d=h}return c};d.Clipper.prototype.PointInPolygon=function(a,b){var c=0,d=b,f=a.X,g=a.Y;var h=b.Pt.X;var k=b.Pt.Y;do{b=b.Next;var l=b.Pt.X,n=b.Pt.Y;if(n===g&&(l===f||k===g&&l>f===h<f))return-1;if(k<g!==n<g)if(h>=f)if(l>f)c=1-c;else{h=(h-f)*(n-g)-(l-f)*(k-g);if(0===h)return-1;0<h===n>k&&(c=1-c)}else if(l>f){h=\n(h-f)*(n-g)-(l-f)*(k-g);if(0===h)return-1;0<h===n>k&&(c=1-c)}h=l;k=n}while(d!==b);return c};d.Clipper.prototype.Poly2ContainsPoly1=function(a,b){var c=a;do{var d=this.PointInPolygon(c.Pt,b);if(0<=d)return 0<d;c=c.Next}while(c!==a);return!0};d.Clipper.prototype.FixupFirstLefts1=function(a,b){for(var c,e,f=0,g=this.m_PolyOuts.length;f<g;f++)c=this.m_PolyOuts[f],e=d.Clipper.ParseFirstLeft(c.FirstLeft),null!==c.Pts&&e===a&&this.Poly2ContainsPoly1(c.Pts,b.Pts)&&(c.FirstLeft=b)};d.Clipper.prototype.FixupFirstLefts2=\nfunction(a,b){for(var c=b.FirstLeft,e,f,g=0,h=this.m_PolyOuts.length;g<h;g++)if(e=this.m_PolyOuts[g],null!==e.Pts&&e!==b&&e!==a&&(f=d.Clipper.ParseFirstLeft(e.FirstLeft),f===c||f===a||f===b))if(this.Poly2ContainsPoly1(e.Pts,a.Pts))e.FirstLeft=a;else if(this.Poly2ContainsPoly1(e.Pts,b.Pts))e.FirstLeft=b;else if(e.FirstLeft===a||e.FirstLeft===b)e.FirstLeft=c};d.Clipper.prototype.FixupFirstLefts3=function(a,b){for(var c,e,f=0,g=this.m_PolyOuts.length;f<g;f++)c=this.m_PolyOuts[f],e=d.Clipper.ParseFirstLeft(c.FirstLeft),\nnull!==c.Pts&&e===a&&(c.FirstLeft=b)};d.Clipper.ParseFirstLeft=function(a){for(;null!==a&&null===a.Pts;)a=a.FirstLeft;return a};d.Clipper.prototype.JoinCommonEdges=function(){for(var a=0,b=this.m_Joins.length;a<b;a++){var c=this.m_Joins[a],d=this.GetOutRec(c.OutPt1.Idx),f=this.GetOutRec(c.OutPt2.Idx);if(null!==d.Pts&&null!==f.Pts&&!d.IsOpen&&!f.IsOpen){var g=d===f?d:this.OutRec1RightOfOutRec2(d,f)?f:this.OutRec1RightOfOutRec2(f,d)?d:this.GetLowermostRec(d,f);this.JoinPoints(c,d,f)&&(d===f?(d.Pts=\nc.OutPt1,d.BottomPt=null,f=this.CreateOutRec(),f.Pts=c.OutPt2,this.UpdateOutPtIdxs(f),this.Poly2ContainsPoly1(f.Pts,d.Pts)?(f.IsHole=!d.IsHole,f.FirstLeft=d,this.m_UsingPolyTree&&this.FixupFirstLefts2(f,d),(f.IsHole^this.ReverseSolution)==0<this.Area$1(f)&&this.ReversePolyPtLinks(f.Pts)):this.Poly2ContainsPoly1(d.Pts,f.Pts)?(f.IsHole=d.IsHole,d.IsHole=!f.IsHole,f.FirstLeft=d.FirstLeft,d.FirstLeft=f,this.m_UsingPolyTree&&this.FixupFirstLefts2(d,f),(d.IsHole^this.ReverseSolution)==0<this.Area$1(d)&&\nthis.ReversePolyPtLinks(d.Pts)):(f.IsHole=d.IsHole,f.FirstLeft=d.FirstLeft,this.m_UsingPolyTree&&this.FixupFirstLefts1(d,f))):(f.Pts=null,f.BottomPt=null,f.Idx=d.Idx,d.IsHole=g.IsHole,g===f&&(d.FirstLeft=f.FirstLeft),f.FirstLeft=d,this.m_UsingPolyTree&&this.FixupFirstLefts3(f,d)))}}};d.Clipper.prototype.UpdateOutPtIdxs=function(a){var b=a.Pts;do b.Idx=a.Idx,b=b.Prev;while(b!==a.Pts)};d.Clipper.prototype.DoSimplePolygons=function(){for(var a=0;a<this.m_PolyOuts.length;){var b=this.m_PolyOuts[a++],\nc=b.Pts;if(null!==c&&!b.IsOpen){do{for(var e=c.Next;e!==b.Pts;){if(d.IntPoint.op_Equality(c.Pt,e.Pt)&&e.Next!==c&&e.Prev!==c){var f=c.Prev,g=e.Prev;c.Prev=g;g.Next=c;e.Prev=f;f.Next=e;b.Pts=c;f=this.CreateOutRec();f.Pts=e;this.UpdateOutPtIdxs(f);this.Poly2ContainsPoly1(f.Pts,b.Pts)?(f.IsHole=!b.IsHole,f.FirstLeft=b,this.m_UsingPolyTree&&this.FixupFirstLefts2(f,b)):this.Poly2ContainsPoly1(b.Pts,f.Pts)?(f.IsHole=b.IsHole,b.IsHole=!f.IsHole,f.FirstLeft=b.FirstLeft,b.FirstLeft=f,this.m_UsingPolyTree&&\nthis.FixupFirstLefts2(b,f)):(f.IsHole=b.IsHole,f.FirstLeft=b.FirstLeft,this.m_UsingPolyTree&&this.FixupFirstLefts1(b,f));e=c}e=e.Next}c=c.Next}while(c!==b.Pts)}}};d.Clipper.Area=function(a){if(!Array.isArray(a))return 0;var b=a.length;if(3>b)return 0;for(var c=0,d=0,f=b-1;d<b;++d)c+=(a[f].X+a[d].X)*(a[f].Y-a[d].Y),f=d;return.5*-c};d.Clipper.prototype.Area=function(a){var b=a;if(null===a)return 0;var c=0;do c+=(a.Prev.Pt.X+a.Pt.X)*(a.Prev.Pt.Y-a.Pt.Y),a=a.Next;while(a!==b);return.5*c};d.Clipper.prototype.Area$1=\nfunction(a){return this.Area(a.Pts)};d.Clipper.SimplifyPolygon=function(a,b){var c=[],e=new d.Clipper(0);e.StrictlySimple=!0;e.AddPath(a,d.PolyType.ptSubject,!0);e.Execute(d.ClipType.ctUnion,c,b,b);return c};d.Clipper.SimplifyPolygons=function(a,b){\"undefined\"===typeof b&&(b=d.PolyFillType.pftEvenOdd);var c=[],e=new d.Clipper(0);e.StrictlySimple=!0;e.AddPaths(a,d.PolyType.ptSubject,!0);e.Execute(d.ClipType.ctUnion,c,b,b);return c};d.Clipper.DistanceSqrd=function(a,b){var c=a.X-b.X,d=a.Y-b.Y;return c*\nc+d*d};d.Clipper.DistanceFromLineSqrd=function(a,b,c){var d=b.Y-c.Y;c=c.X-b.X;b=d*b.X+c*b.Y;b=d*a.X+c*a.Y-b;return b*b/(d*d+c*c)};d.Clipper.SlopesNearCollinear=function(a,b,c,e){return Math.abs(a.X-b.X)>Math.abs(a.Y-b.Y)?a.X>b.X===a.X<c.X?d.Clipper.DistanceFromLineSqrd(a,b,c)<e:b.X>a.X===b.X<c.X?d.Clipper.DistanceFromLineSqrd(b,a,c)<e:d.Clipper.DistanceFromLineSqrd(c,a,b)<e:a.Y>b.Y===a.Y<c.Y?d.Clipper.DistanceFromLineSqrd(a,b,c)<e:b.Y>a.Y===b.Y<c.Y?d.Clipper.DistanceFromLineSqrd(b,a,c)<e:d.Clipper.DistanceFromLineSqrd(c,\na,b)<e};d.Clipper.PointsAreClose=function(a,b,c){var d=a.X-b.X;a=a.Y-b.Y;return d*d+a*a<=c};d.Clipper.ExcludeOp=function(a){var b=a.Prev;b.Next=a.Next;a.Next.Prev=b;b.Idx=0;return b};d.Clipper.CleanPolygon=function(a,b){\"undefined\"===typeof b&&(b=1.415);var c=a.length;if(0===c)return[];for(var e=Array(c),f=0;f<c;++f)e[f]=new d.OutPt;for(f=0;f<c;++f)e[f].Pt=a[f],e[f].Next=e[(f+1)%c],e[f].Next.Prev=e[f],e[f].Idx=0;f=b*b;for(e=e[0];0===e.Idx&&e.Next!==e.Prev;)d.Clipper.PointsAreClose(e.Pt,e.Prev.Pt,\nf)?(e=d.Clipper.ExcludeOp(e),c--):d.Clipper.PointsAreClose(e.Prev.Pt,e.Next.Pt,f)?(d.Clipper.ExcludeOp(e.Next),e=d.Clipper.ExcludeOp(e),c-=2):d.Clipper.SlopesNearCollinear(e.Prev.Pt,e.Pt,e.Next.Pt,f)?(e=d.Clipper.ExcludeOp(e),c--):(e.Idx=1,e=e.Next);3>c&&(c=0);var g=Array(c);for(f=0;f<c;++f)g[f]=new d.IntPoint1(e.Pt),e=e.Next;return g};d.Clipper.CleanPolygons=function(a,b){for(var c=Array(a.length),e=0,f=a.length;e<f;e++)c[e]=d.Clipper.CleanPolygon(a[e],b);return c};d.Clipper.Minkowski=function(a,\nb,c,e){e=e?1:0;var f=a.length,g=b.length,h=[];if(c)for(c=0;c<g;c++){var k=Array(f);for(var l=0,n=a.length,r=a[l];l<n;l++,r=a[l])k[l]=new d.IntPoint2(b[c].X+r.X,b[c].Y+r.Y);h.push(k)}else for(c=0;c<g;c++){k=Array(f);l=0;n=a.length;for(r=a[l];l<n;l++,r=a[l])k[l]=new d.IntPoint2(b[c].X-r.X,b[c].Y-r.Y);h.push(k)}a=[];for(c=0;c<g-1+e;c++)for(l=0;l<f;l++)b=[],b.push(h[c%g][l%f]),b.push(h[(c+1)%g][l%f]),b.push(h[(c+1)%g][(l+1)%f]),b.push(h[c%g][(l+1)%f]),d.Clipper.Orientation(b)||b.reverse(),a.push(b);return a};\nd.Clipper.MinkowskiSum=function(a,b,c){if(b[0]instanceof Array){var e=b;var f=new d.Paths;b=new d.Clipper;for(var g=0;g<e.length;++g){var h=d.Clipper.Minkowski(a,e[g],!0,c);b.AddPaths(h,d.PolyType.ptSubject,!0);c&&(h=d.Clipper.TranslatePath(e[g],a[0]),b.AddPath(h,d.PolyType.ptClip,!0))}b.Execute(d.ClipType.ctUnion,f,d.PolyFillType.pftNonZero,d.PolyFillType.pftNonZero);return f}e=d.Clipper.Minkowski(a,b,!0,c);b=new d.Clipper;b.AddPaths(e,d.PolyType.ptSubject,!0);b.Execute(d.ClipType.ctUnion,e,d.PolyFillType.pftNonZero,\nd.PolyFillType.pftNonZero);return e};d.Clipper.TranslatePath=function(a,b){for(var c=new d.Path,e=0;e<a.length;e++)c.push(new d.IntPoint2(a[e].X+b.X,a[e].Y+b.Y));return c};d.Clipper.MinkowskiDiff=function(a,b){var c=d.Clipper.Minkowski(a,b,!1,!0),e=new d.Clipper;e.AddPaths(c,d.PolyType.ptSubject,!0);e.Execute(d.ClipType.ctUnion,c,d.PolyFillType.pftNonZero,d.PolyFillType.pftNonZero);return c};d.Clipper.PolyTreeToPaths=function(a){var b=[];d.Clipper.AddPolyNodeToPaths(a,d.Clipper.NodeType.ntAny,b);\nreturn b};d.Clipper.AddPolyNodeToPaths=function(a,b,c){var e=!0;switch(b){case d.Clipper.NodeType.ntOpen:return;case d.Clipper.NodeType.ntClosed:e=!a.IsOpen}0<a.m_polygon.length&&e&&c.push(a.m_polygon);e=0;a=a.Childs();for(var f=a.length,g=a[e];e<f;e++,g=a[e])d.Clipper.AddPolyNodeToPaths(g,b,c)};d.Clipper.OpenPathsFromPolyTree=function(a){for(var b=new d.Paths,c=0,e=a.ChildCount();c<e;c++)a.Childs()[c].IsOpen&&b.push(a.Childs()[c].m_polygon);return b};d.Clipper.ClosedPathsFromPolyTree=function(a){var b=\nnew d.Paths;d.Clipper.AddPolyNodeToPaths(a,d.Clipper.NodeType.ntClosed,b);return b};v(d.Clipper,d.ClipperBase);d.Clipper.NodeType={ntAny:0,ntOpen:1,ntClosed:2};d.ClipperOffset=function(a,b){\"undefined\"===typeof a&&(a=2);\"undefined\"===typeof b&&(b=d.ClipperOffset.def_arc_tolerance);this.m_destPolys=new d.Paths;this.m_srcPoly=new d.Path;this.m_destPoly=new d.Path;this.m_normals=[];this.m_StepsPerRad=this.m_miterLim=this.m_cos=this.m_sin=this.m_sinA=this.m_delta=0;this.m_lowest=new d.IntPoint0;this.m_polyNodes=\nnew d.PolyNode;this.MiterLimit=a;this.ArcTolerance=b;this.m_lowest.X=-1};d.ClipperOffset.two_pi=6.28318530717959;d.ClipperOffset.def_arc_tolerance=.25;d.ClipperOffset.prototype.Clear=function(){d.Clear(this.m_polyNodes.Childs());this.m_lowest.X=-1};d.ClipperOffset.Round=d.Clipper.Round;d.ClipperOffset.prototype.AddPath=function(a,b,c){var e=a.length-1;if(!(0>e)){var f=new d.PolyNode;f.m_jointype=b;f.m_endtype=c;if(c===d.EndType.etClosedLine||c===d.EndType.etClosedPolygon)for(;0<e&&d.IntPoint.op_Equality(a[0],\na[e]);)e--;f.m_polygon.push(a[0]);var g=0;b=0;for(var h=1;h<=e;h++)d.IntPoint.op_Inequality(f.m_polygon[g],a[h])&&(g++,f.m_polygon.push(a[h]),a[h].Y>f.m_polygon[b].Y||a[h].Y===f.m_polygon[b].Y&&a[h].X<f.m_polygon[b].X)&&(b=g);if(!(c===d.EndType.etClosedPolygon&&2>g)&&(this.m_polyNodes.AddChild(f),c===d.EndType.etClosedPolygon))if(0>this.m_lowest.X)this.m_lowest=new d.IntPoint2(this.m_polyNodes.ChildCount()-1,b);else if(a=this.m_polyNodes.Childs()[this.m_lowest.X].m_polygon[this.m_lowest.Y],f.m_polygon[b].Y>\na.Y||f.m_polygon[b].Y===a.Y&&f.m_polygon[b].X<a.X)this.m_lowest=new d.IntPoint2(this.m_polyNodes.ChildCount()-1,b)}};d.ClipperOffset.prototype.AddPaths=function(a,b,c){for(var d=0,f=a.length;d<f;d++)this.AddPath(a[d],b,c)};d.ClipperOffset.prototype.FixOrientations=function(){if(0<=this.m_lowest.X&&!d.Clipper.Orientation(this.m_polyNodes.Childs()[this.m_lowest.X].m_polygon))for(var a=0;a<this.m_polyNodes.ChildCount();a++){var b=this.m_polyNodes.Childs()[a];(b.m_endtype===d.EndType.etClosedPolygon||\nb.m_endtype===d.EndType.etClosedLine&&d.Clipper.Orientation(b.m_polygon))&&b.m_polygon.reverse()}else for(a=0;a<this.m_polyNodes.ChildCount();a++)b=this.m_polyNodes.Childs()[a],b.m_endtype!==d.EndType.etClosedLine||d.Clipper.Orientation(b.m_polygon)||b.m_polygon.reverse()};d.ClipperOffset.GetUnitNormal=function(a,b){var c=b.X-a.X,e=b.Y-a.Y;if(0===c&&0===e)return new d.DoublePoint2(0,0);var f=1/Math.sqrt(c*c+e*e);return new d.DoublePoint2(e*f,-(c*f))};d.ClipperOffset.prototype.DoOffset=function(a){var b;\nthis.m_destPolys=[];this.m_delta=a;if(d.ClipperBase.near_zero(a))for(var c=0;c<this.m_polyNodes.ChildCount();c++){var e=this.m_polyNodes.Childs()[c];e.m_endtype===d.EndType.etClosedPolygon&&this.m_destPolys.push(e.m_polygon)}else{this.m_miterLim=2<this.MiterLimit?2/(this.MiterLimit*this.MiterLimit):.5;var f=3.14159265358979/Math.acos(1-(0>=this.ArcTolerance?d.ClipperOffset.def_arc_tolerance:this.ArcTolerance>Math.abs(a)*d.ClipperOffset.def_arc_tolerance?Math.abs(a)*d.ClipperOffset.def_arc_tolerance:\nthis.ArcTolerance)/Math.abs(a));this.m_sin=Math.sin(d.ClipperOffset.two_pi/f);this.m_cos=Math.cos(d.ClipperOffset.two_pi/f);this.m_StepsPerRad=f/d.ClipperOffset.two_pi;0>a&&(this.m_sin=-this.m_sin);for(c=0;c<this.m_polyNodes.ChildCount();c++){e=this.m_polyNodes.Childs()[c];this.m_srcPoly=e.m_polygon;var g=this.m_srcPoly.length;if(!(0===g||0>=a&&(3>g||e.m_endtype!==d.EndType.etClosedPolygon))){this.m_destPoly=[];if(1===g)if(e.m_jointype===d.JoinType.jtRound)for(g=1,e=0,b=1;b<=f;b++){this.m_destPoly.push(new d.IntPoint2(d.ClipperOffset.Round(this.m_srcPoly[0].X+\ng*a),d.ClipperOffset.Round(this.m_srcPoly[0].Y+e*a)));var h=g;g=g*this.m_cos-this.m_sin*e;e=h*this.m_sin+e*this.m_cos}else for(e=g=-1,b=0;4>b;++b)this.m_destPoly.push(new d.IntPoint2(d.ClipperOffset.Round(this.m_srcPoly[0].X+g*a),d.ClipperOffset.Round(this.m_srcPoly[0].Y+e*a))),0>g?g=1:0>e?e=1:g=-1;else{for(b=this.m_normals.length=0;b<g-1;b++)this.m_normals.push(d.ClipperOffset.GetUnitNormal(this.m_srcPoly[b],this.m_srcPoly[b+1]));e.m_endtype===d.EndType.etClosedLine||e.m_endtype===d.EndType.etClosedPolygon?\nthis.m_normals.push(d.ClipperOffset.GetUnitNormal(this.m_srcPoly[g-1],this.m_srcPoly[0])):this.m_normals.push(new d.DoublePoint1(this.m_normals[g-2]));if(e.m_endtype===d.EndType.etClosedPolygon)for(h=g-1,b=0;b<g;b++)h=this.OffsetPoint(b,h,e.m_jointype);else if(e.m_endtype===d.EndType.etClosedLine){h=g-1;for(b=0;b<g;b++)h=this.OffsetPoint(b,h,e.m_jointype);this.m_destPolys.push(this.m_destPoly);this.m_destPoly=[];h=this.m_normals[g-1];for(b=g-1;0<b;b--)this.m_normals[b]=new d.DoublePoint2(-this.m_normals[b-\n1].X,-this.m_normals[b-1].Y);this.m_normals[0]=new d.DoublePoint2(-h.X,-h.Y);h=0;for(b=g-1;0<=b;b--)h=this.OffsetPoint(b,h,e.m_jointype)}else{h=0;for(b=1;b<g-1;++b)h=this.OffsetPoint(b,h,e.m_jointype);e.m_endtype===d.EndType.etOpenButt?(b=g-1,h=new d.IntPoint2(d.ClipperOffset.Round(this.m_srcPoly[b].X+this.m_normals[b].X*a),d.ClipperOffset.Round(this.m_srcPoly[b].Y+this.m_normals[b].Y*a)),this.m_destPoly.push(h),h=new d.IntPoint2(d.ClipperOffset.Round(this.m_srcPoly[b].X-this.m_normals[b].X*a),d.ClipperOffset.Round(this.m_srcPoly[b].Y-\nthis.m_normals[b].Y*a)),this.m_destPoly.push(h)):(b=g-1,h=g-2,this.m_sinA=0,this.m_normals[b]=new d.DoublePoint2(-this.m_normals[b].X,-this.m_normals[b].Y),e.m_endtype===d.EndType.etOpenSquare?this.DoSquare(b,h):this.DoRound(b,h));for(b=g-1;0<b;b--)this.m_normals[b]=new d.DoublePoint2(-this.m_normals[b-1].X,-this.m_normals[b-1].Y);this.m_normals[0]=new d.DoublePoint2(-this.m_normals[1].X,-this.m_normals[1].Y);h=g-1;for(b=h-1;0<b;--b)h=this.OffsetPoint(b,h,e.m_jointype);e.m_endtype===d.EndType.etOpenButt?\n(h=new d.IntPoint2(d.ClipperOffset.Round(this.m_srcPoly[0].X-this.m_normals[0].X*a),d.ClipperOffset.Round(this.m_srcPoly[0].Y-this.m_normals[0].Y*a)),this.m_destPoly.push(h),h=new d.IntPoint2(d.ClipperOffset.Round(this.m_srcPoly[0].X+this.m_normals[0].X*a),d.ClipperOffset.Round(this.m_srcPoly[0].Y+this.m_normals[0].Y*a)),this.m_destPoly.push(h)):(this.m_sinA=0,e.m_endtype===d.EndType.etOpenSquare?this.DoSquare(0,1):this.DoRound(0,1))}}this.m_destPolys.push(this.m_destPoly)}}}};d.ClipperOffset.prototype.Execute=\nfunction(){var a=arguments;if(a[0]instanceof d.PolyTree){var b=a[0];var c=a[1];b.Clear();this.FixOrientations();this.DoOffset(c);a=new d.Clipper(0);a.AddPaths(this.m_destPolys,d.PolyType.ptSubject,!0);if(0<c)a.Execute(d.ClipType.ctUnion,b,d.PolyFillType.pftPositive,d.PolyFillType.pftPositive);else{var e=d.Clipper.GetBounds(this.m_destPolys);c=new d.Path;c.push(new d.IntPoint2(e.left-10,e.bottom+10));c.push(new d.IntPoint2(e.right+10,e.bottom+10));c.push(new d.IntPoint2(e.right+10,e.top-10));c.push(new d.IntPoint2(e.left-\n10,e.top-10));a.AddPath(c,d.PolyType.ptSubject,!0);a.ReverseSolution=!0;a.Execute(d.ClipType.ctUnion,b,d.PolyFillType.pftNegative,d.PolyFillType.pftNegative);if(1===b.ChildCount()&&0<b.Childs()[0].ChildCount())for(a=b.Childs()[0],b.Childs()[0]=a.Childs()[0],b.Childs()[0].m_Parent=b,c=1;c<a.ChildCount();c++)b.AddChild(a.Childs()[c]);else b.Clear()}}else b=a[0],c=a[1],d.Clear(b),this.FixOrientations(),this.DoOffset(c),a=new d.Clipper(0),a.AddPaths(this.m_destPolys,d.PolyType.ptSubject,!0),0<c?a.Execute(d.ClipType.ctUnion,\nb,d.PolyFillType.pftPositive,d.PolyFillType.pftPositive):(e=d.Clipper.GetBounds(this.m_destPolys),c=new d.Path,c.push(new d.IntPoint2(e.left-10,e.bottom+10)),c.push(new d.IntPoint2(e.right+10,e.bottom+10)),c.push(new d.IntPoint2(e.right+10,e.top-10)),c.push(new d.IntPoint2(e.left-10,e.top-10)),a.AddPath(c,d.PolyType.ptSubject,!0),a.ReverseSolution=!0,a.Execute(d.ClipType.ctUnion,b,d.PolyFillType.pftNegative,d.PolyFillType.pftNegative),0<b.length&&b.splice(0,1))};d.ClipperOffset.prototype.OffsetPoint=\nfunction(a,b,c){this.m_sinA=this.m_normals[b].X*this.m_normals[a].Y-this.m_normals[a].X*this.m_normals[b].Y;if(1>Math.abs(this.m_sinA*this.m_delta)){if(0<this.m_normals[b].X*this.m_normals[a].X+this.m_normals[a].Y*this.m_normals[b].Y)return this.m_destPoly.push(new d.IntPoint2(d.ClipperOffset.Round(this.m_srcPoly[a].X+this.m_normals[b].X*this.m_delta),d.ClipperOffset.Round(this.m_srcPoly[a].Y+this.m_normals[b].Y*this.m_delta))),b}else 1<this.m_sinA?this.m_sinA=1:-1>this.m_sinA&&(this.m_sinA=-1);if(0>\nthis.m_sinA*this.m_delta)this.m_destPoly.push(new d.IntPoint2(d.ClipperOffset.Round(this.m_srcPoly[a].X+this.m_normals[b].X*this.m_delta),d.ClipperOffset.Round(this.m_srcPoly[a].Y+this.m_normals[b].Y*this.m_delta))),this.m_destPoly.push(new d.IntPoint1(this.m_srcPoly[a])),this.m_destPoly.push(new d.IntPoint2(d.ClipperOffset.Round(this.m_srcPoly[a].X+this.m_normals[a].X*this.m_delta),d.ClipperOffset.Round(this.m_srcPoly[a].Y+this.m_normals[a].Y*this.m_delta)));else switch(c){case d.JoinType.jtMiter:c=\n1+(this.m_normals[a].X*this.m_normals[b].X+this.m_normals[a].Y*this.m_normals[b].Y);c>=this.m_miterLim?this.DoMiter(a,b,c):this.DoSquare(a,b);break;case d.JoinType.jtSquare:this.DoSquare(a,b);break;case d.JoinType.jtRound:this.DoRound(a,b)}return a};d.ClipperOffset.prototype.DoSquare=function(a,b){var c=Math.tan(Math.atan2(this.m_sinA,this.m_normals[b].X*this.m_normals[a].X+this.m_normals[b].Y*this.m_normals[a].Y)/4);this.m_destPoly.push(new d.IntPoint2(d.ClipperOffset.Round(this.m_srcPoly[a].X+this.m_delta*\n(this.m_normals[b].X-this.m_normals[b].Y*c)),d.ClipperOffset.Round(this.m_srcPoly[a].Y+this.m_delta*(this.m_normals[b].Y+this.m_normals[b].X*c))));this.m_destPoly.push(new d.IntPoint2(d.ClipperOffset.Round(this.m_srcPoly[a].X+this.m_delta*(this.m_normals[a].X+this.m_normals[a].Y*c)),d.ClipperOffset.Round(this.m_srcPoly[a].Y+this.m_delta*(this.m_normals[a].Y-this.m_normals[a].X*c))))};d.ClipperOffset.prototype.DoMiter=function(a,b,c){c=this.m_delta/c;this.m_destPoly.push(new d.IntPoint2(d.ClipperOffset.Round(this.m_srcPoly[a].X+\n(this.m_normals[b].X+this.m_normals[a].X)*c),d.ClipperOffset.Round(this.m_srcPoly[a].Y+(this.m_normals[b].Y+this.m_normals[a].Y)*c)))};d.ClipperOffset.prototype.DoRound=function(a,b){for(var c=Math.max(d.Cast_Int32(d.ClipperOffset.Round(this.m_StepsPerRad*Math.abs(Math.atan2(this.m_sinA,this.m_normals[b].X*this.m_normals[a].X+this.m_normals[b].Y*this.m_normals[a].Y)))),1),e=this.m_normals[b].X,f=this.m_normals[b].Y,g,h=0;h<c;++h)this.m_destPoly.push(new d.IntPoint2(d.ClipperOffset.Round(this.m_srcPoly[a].X+\ne*this.m_delta),d.ClipperOffset.Round(this.m_srcPoly[a].Y+f*this.m_delta))),g=e,e=e*this.m_cos-this.m_sin*f,f=g*this.m_sin+f*this.m_cos;this.m_destPoly.push(new d.IntPoint2(d.ClipperOffset.Round(this.m_srcPoly[a].X+this.m_normals[a].X*this.m_delta),d.ClipperOffset.Round(this.m_srcPoly[a].Y+this.m_normals[a].Y*this.m_delta)))};d.Error=function(a){try{throw Error(a);}catch(b){alert(b.message)}};d.JS={};d.JS.AreaOfPolygon=function(a,b){b||(b=1);return d.Clipper.Area(a)/(b*b)};d.JS.AreaOfPolygons=function(a,\nb){b||(b=1);for(var c=0,e=0;e<a.length;e++)c+=d.Clipper.Area(a[e]);return c/(b*b)};d.JS.BoundsOfPath=function(a,b){return d.JS.BoundsOfPaths([a],b)};d.JS.BoundsOfPaths=function(a,b){b||(b=1);var c=d.Clipper.GetBounds(a);c.left/=b;c.bottom/=b;c.right/=b;c.top/=b;return c};d.JS.Clean=function(a,b){if(!(a instanceof Array))return[];var c=a[0]instanceof Array;a=d.JS.Clone(a);if(\"number\"!==typeof b||null===b)return d.Error(\"Delta is not a number in Clean().\"),a;if(0===a.length||1===a.length&&0===a[0].length||\n0>b)return a;c||(a=[a]);for(var e=a.length,f,g,h,k,l,n,r,p=[],t=0;t<e;t++)if(g=a[t],f=g.length,0!==f)if(3>f)h=g,p.push(h);else{h=g;k=b*b;l=g[0];for(r=n=1;r<f;r++)(g[r].X-l.X)*(g[r].X-l.X)+(g[r].Y-l.Y)*(g[r].Y-l.Y)<=k||(h[n]=g[r],l=g[r],n++);l=g[n-1];(g[0].X-l.X)*(g[0].X-l.X)+(g[0].Y-l.Y)*(g[0].Y-l.Y)<=k&&n--;n<f&&h.splice(n,f-n);h.length&&p.push(h)}!c&&p.length?p=p[0]:c||0!==p.length?c&&0===p.length&&(p=[[]]):p=[];return p};d.JS.Clone=function(a){if(!(a instanceof Array)||0===a.length)return[];if(1===\na.length&&0===a[0].length)return[[]];var b=a[0]instanceof Array;b||(a=[a]);var c=a.length,d,f,g=Array(c);for(d=0;d<c;d++){var h=a[d].length;var k=Array(h);for(f=0;f<h;f++)k[f]={X:a[d][f].X,Y:a[d][f].Y};g[d]=k}b||(g=g[0]);return g};d.JS.Lighten=function(a,b){if(!(a instanceof Array))return[];if(\"number\"!==typeof b||null===b)return d.Error(\"Tolerance is not a number in Lighten().\"),d.JS.Clone(a);if(0===a.length||1===a.length&&0===a[0].length||0>b)return d.JS.Clone(a);var c=a[0]instanceof Array;c||(a=\n[a]);var e,f,g,h=a.length,k=b*b,l=[];for(e=0;e<h;e++){var n=a[e];var r=n.length;if(0!==r){for(g=0;1E6>g;g++){var p=[];r=n.length;if(n[r-1].X!==n[0].X||n[r-1].Y!==n[0].Y){var t=1;n.push({X:n[0].X,Y:n[0].Y});r=n.length}else t=0;var u=[];for(f=0;f<r-2;f++){var q=n[f];var v=n[f+1];var w=n[f+2];var x=q.X;var y=q.Y;q=w.X-x;var A=w.Y-y;if(0!==q||0!==A){var z=((v.X-x)*q+(v.Y-y)*A)/(q*q+A*A);1<z?(x=w.X,y=w.Y):0<z&&(x+=q*z,y+=A*z)}q=v.X-x;A=v.Y-y;w=q*q+A*A;w<=k&&(u[f+1]=1,f++)}p.push({X:n[0].X,Y:n[0].Y});for(f=\n1;f<r-1;f++)u[f]||p.push({X:n[f].X,Y:n[f].Y});p.push({X:n[r-1].X,Y:n[r-1].Y});t&&n.pop();if(u.length)n=p;else break}r=p.length;p[r-1].X===p[0].X&&p[r-1].Y===p[0].Y&&p.pop();2<p.length&&l.push(p)}}c||(l=l[0]);\"undefined\"===typeof l&&(l=[]);return l};d.JS.PerimeterOfPath=function(a,b,c){if(\"undefined\"===typeof a)return 0;var d=Math.sqrt,f=0,g=a.length;if(2>g)return 0;b&&(a[g]=a[0],g++);for(;--g;){var h=a[g];var k=h.X;h=h.Y;var l=a[g-1];var n=l.X;l=l.Y;f+=d((k-n)*(k-n)+(h-l)*(h-l))}b&&a.pop();return f/\nc};d.JS.PerimeterOfPaths=function(a,b,c){c||(c=1);for(var e=0,f=0;f<a.length;f++)e+=d.JS.PerimeterOfPath(a[f],b,c);return e};d.JS.ScaleDownPath=function(a,b){var c;b||(b=1);for(c=a.length;c--;){var d=a[c];d.X/=b;d.Y/=b}};d.JS.ScaleDownPaths=function(a,b){var c,d;b||(b=1);for(c=a.length;c--;)for(d=a[c].length;d--;){var f=a[c][d];f.X/=b;f.Y/=b}};d.JS.ScaleUpPath=function(a,b){var c,d=Math.round;b||(b=1);for(c=a.length;c--;){var f=a[c];f.X=d(f.X*b);f.Y=d(f.Y*b)}};d.JS.ScaleUpPaths=function(a,b){var c,\nd,f=Math.round;b||(b=1);for(c=a.length;c--;)for(d=a[c].length;d--;){var g=a[c][d];g.X=f(g.X*b);g.Y=f(g.Y*b)}};d.ExPolygons=function(){return[]};d.ExPolygon=function(){this.holes=this.outer=null};d.JS.AddOuterPolyNodeToExPolygons=function(a,b){var c=new d.ExPolygon;c.outer=a.Contour();var e=a.Childs(),f=e.length;c.holes=Array(f);var g,h;for(g=0;g<f;g++){var k=e[g];c.holes[g]=k.Contour();var l=0;var n=k.Childs();for(h=n.length;l<h;l++)k=n[l],d.JS.AddOuterPolyNodeToExPolygons(k,b)}b.push(c)};d.JS.ExPolygonsToPaths=\nfunction(a){var b,c,e=new d.Paths;var f=0;for(b=a.length;f<b;f++){e.push(a[f].outer);var g=0;for(c=a[f].holes.length;g<c;g++)e.push(a[f].holes[g])}return e};d.JS.PolyTreeToExPolygons=function(a){var b=new d.ExPolygons,c;var e=0;var f=a.Childs();for(c=f.length;e<c;e++)a=f[e],d.JS.AddOuterPolyNodeToExPolygons(a,b);return b}})();"
  },
  {
    "path": "__tests__/pureJs.ts",
    "content": "import * as clipperLib from \"../src\";\n\n// another port of clipper in pure js\nexport const pureJsClipperLib = require(\"./external-libs/clipper\");\n\nexport interface PureJsPoint {\n  X: number;\n  Y: number;\n}\n\nexport type PureJsPath = PureJsPoint[];\nexport type PureJsPaths = PureJsPath[];\n\nfunction isPureJsPaths(path: PureJsPath | PureJsPaths): path is PureJsPaths {\n  return Array.isArray(path) && Array.isArray(path[0]);\n}\n\nexport function pureJsTestPolyOperation(\n  clipType: clipperLib.ClipType,\n  subjectFillType: clipperLib.PolyFillType,\n  subjectInput: PureJsPath | PureJsPaths,\n  clipInput: PureJsPath | PureJsPaths,\n  subjectClosed = true\n) {\n  const cl = new pureJsClipperLib.Clipper();\n  if (isPureJsPaths(subjectInput)) {\n    cl.AddPaths(subjectInput, pureJsClipperLib.PolyType.ptSubject, subjectClosed);\n  } else {\n    cl.AddPath(subjectInput, pureJsClipperLib.PolyType.ptSubject, subjectClosed);\n  }\n  if (isPureJsPaths(clipInput)) {\n    cl.AddPaths(clipInput, pureJsClipperLib.PolyType.ptClip, true);\n  } else {\n    cl.AddPath(clipInput, pureJsClipperLib.PolyType.ptClip, true);\n  }\n\n  const solutionPaths = new pureJsClipperLib.Paths();\n  cl.Execute(\n    clipTypeToPureJs(clipType),\n    solutionPaths,\n    polyFillTypeToPureJs(subjectFillType),\n    polyFillTypeToPureJs(subjectFillType)\n  );\n\n  return solutionPaths;\n}\n\nexport function pureJsTestOffset(\n  input: PureJsPath | PureJsPaths,\n  joinType: clipperLib.JoinType,\n  endType: clipperLib.EndType,\n  delta: number\n) {\n  const co = new pureJsClipperLib.ClipperOffset();\n  if (isPureJsPaths(input)) {\n    co.AddPaths(input, joinTypeToPureJs(joinType), endTypeToPureJs(endType));\n  } else {\n    co.AddPath(input, joinTypeToPureJs(joinType), endTypeToPureJs(endType));\n  }\n\n  const solutionPaths = new pureJsClipperLib.Paths();\n  co.Execute(solutionPaths, delta);\n\n  return solutionPaths;\n}\n\nexport function pathToPureJs(path: clipperLib.ReadonlyPath): PureJsPath {\n  return path.map((p) => ({\n    X: p.x,\n    Y: p.y,\n  }));\n}\n\nexport function pathsToPureJs(paths: clipperLib.ReadonlyPaths): PureJsPaths {\n  return paths.map((p) => pathToPureJs(p));\n}\n\nexport function clipTypeToPureJs(clipType: clipperLib.ClipType): number {\n  switch (clipType) {\n    case clipperLib.ClipType.Difference:\n      return pureJsClipperLib.ClipType.ctDifference;\n    case clipperLib.ClipType.Intersection:\n      return pureJsClipperLib.ClipType.ctIntersection;\n    case clipperLib.ClipType.Union:\n      return pureJsClipperLib.ClipType.ctUnion;\n    case clipperLib.ClipType.Xor:\n      return pureJsClipperLib.ClipType.ctXor;\n    default:\n      return -1;\n  }\n}\n\nexport function polyFillTypeToPureJs(polyFillType: clipperLib.PolyFillType): number {\n  switch (polyFillType) {\n    case clipperLib.PolyFillType.EvenOdd:\n      return pureJsClipperLib.PolyFillType.pftEvenOdd;\n    case clipperLib.PolyFillType.Negative:\n      return pureJsClipperLib.PolyFillType.pftNegative;\n    case clipperLib.PolyFillType.NonZero:\n      return pureJsClipperLib.PolyFillType.pftNonZero;\n    case clipperLib.PolyFillType.Positive:\n      return pureJsClipperLib.PolyFillType.pftPositive;\n    default:\n      return -1;\n  }\n}\n\nexport function joinTypeToPureJs(joinType: clipperLib.JoinType): number {\n  switch (joinType) {\n    case clipperLib.JoinType.Miter:\n      return pureJsClipperLib.JoinType.jtMiter;\n    case clipperLib.JoinType.Round:\n      return pureJsClipperLib.JoinType.jtRound;\n    case clipperLib.JoinType.Square:\n      return pureJsClipperLib.JoinType.jtSquare;\n    default:\n      return -1;\n  }\n}\n\nexport function endTypeToPureJs(endType: clipperLib.EndType): number {\n  switch (endType) {\n    case clipperLib.EndType.ClosedLine:\n      return pureJsClipperLib.EndType.etClosedLine;\n    case clipperLib.EndType.ClosedPolygon:\n      return pureJsClipperLib.EndType.etClosedPolygon;\n    case clipperLib.EndType.OpenButt:\n      return pureJsClipperLib.EndType.etOpenButt;\n    case clipperLib.EndType.OpenRound:\n      return pureJsClipperLib.EndType.etOpenRound;\n    case clipperLib.EndType.OpenSquare:\n      return pureJsClipperLib.EndType.etOpenSquare;\n    default:\n      return -1;\n  }\n}\n"
  },
  {
    "path": "__tests__/tests.spec.ts",
    "content": "import * as clipperLib from \"../src\";\nimport { hiRange } from \"../src/constants\";\nimport {\n  pathsToPureJs,\n  pathToPureJs,\n  pureJsClipperLib,\n  pureJsTestOffset,\n  pureJsTestPolyOperation,\n} from \"./pureJs\";\nimport { circlePath } from \"./utils\";\n\n// used by pureJs implementation\nglobalThis.alert = (msg) => console.error(\"window alert: \", msg);\n\nlet clipperWasm: clipperLib.ClipperLibWrapper;\nlet clipperAsmJs: clipperLib.ClipperLibWrapper;\n\nbeforeAll(async () => {\n  clipperWasm = await clipperLib.loadNativeClipperLibInstanceAsync(\n    clipperLib.NativeClipperLibRequestedFormat.WasmOnly\n  );\n  clipperAsmJs = await clipperLib.loadNativeClipperLibInstanceAsync(\n    clipperLib.NativeClipperLibRequestedFormat.AsmJsOnly\n  );\n}, 60000);\n\ndescribe(\"unit tests\", () => {\n  test(\"wasm instance must be loaded\", () => {\n    expect(clipperWasm).toBeDefined();\n    expect(clipperWasm.instance).toBeDefined();\n    expect(clipperWasm.format).toEqual(clipperLib.NativeClipperLibLoadedFormat.Wasm);\n  });\n\n  test(\"asmjs instance must be loaded\", () => {\n    expect(clipperAsmJs).toBeDefined();\n    expect(clipperAsmJs.instance).toBeDefined();\n    expect(clipperAsmJs.format).toEqual(clipperLib.NativeClipperLibLoadedFormat.AsmJs);\n  });\n\n  test(\"pureJs instance must be loaded\", () => {\n    expect(pureJsClipperLib).toBeDefined();\n    expect(new pureJsClipperLib.Clipper()).toBeDefined();\n  });\n\n  describe(\"simple polygons\", () => {\n    // create some polygons (note that they MUST be integer coordinates)\n    const poly1 = [\n      { x: 0, y: 10 },\n      { x: Math.trunc(hiRange / 3), y: 10 },\n      { x: Math.trunc(hiRange / 3), y: 20 },\n      { x: 0, y: 20 },\n    ];\n    const pureJsPoly1 = pathToPureJs(poly1);\n\n    const poly2 = [\n      { x: 10, y: 0 },\n      { x: Math.trunc(hiRange / 4), y: 0 },\n      { x: Math.trunc(hiRange / 4), y: 30 },\n      { x: 10, y: 30 },\n    ];\n    const pureJsPoly2 = pathToPureJs(poly2);\n\n    describe(\"boolean operations\", () => {\n      for (const clipType of [\n        clipperLib.ClipType.Intersection,\n        clipperLib.ClipType.Union,\n        clipperLib.ClipType.Difference,\n        clipperLib.ClipType.Xor,\n      ]) {\n        for (const polyFillType of [\n          clipperLib.PolyFillType.EvenOdd,\n          clipperLib.PolyFillType.NonZero,\n          clipperLib.PolyFillType.Negative,\n          clipperLib.PolyFillType.Positive,\n        ]) {\n          test(`clipType: ${clipType}, fillType: ${polyFillType}`, () => {\n            const res = testPolyOperation(clipType, polyFillType, poly1, poly2, {\n              wasm: true,\n              asm: true,\n            });\n\n            const pureJsRes = pureJsTestPolyOperation(\n              clipType,\n              polyFillType,\n              pureJsPoly1,\n              pureJsPoly2\n            );\n\n            expect(res.asmResult).toEqual(res.wasmResult);\n            expect(pureJsRes).toEqual(pathsToPureJs(res.wasmResult!));\n            expect(res.wasmResult).toMatchSnapshot();\n          });\n        }\n      }\n    });\n\n    describe(\"offset\", () => {\n      for (const joinType of [\n        clipperLib.JoinType.Miter,\n        clipperLib.JoinType.Round,\n        clipperLib.JoinType.Square,\n      ]) {\n        for (const endType of [\n          clipperLib.EndType.ClosedPolygon,\n          clipperLib.EndType.ClosedLine,\n          clipperLib.EndType.OpenButt,\n          clipperLib.EndType.OpenRound,\n          clipperLib.EndType.OpenSquare,\n        ]) {\n          for (const delta of [5, 0, -5]) {\n            test(`joinType: ${joinType}, endType: ${endType}, delta: ${delta}`, () => {\n              const res = testOffset(poly1, joinType, endType, delta, {\n                wasm: true,\n                asm: true,\n              });\n\n              const pureJsRes = pureJsTestOffset(pureJsPoly1, joinType, endType, delta);\n\n              expect(res.asmResult).toEqual(res.wasmResult);\n              expect(pureJsRes).toEqual(pathsToPureJs(res.wasmResult!));\n              expect(res.wasmResult).toMatchSnapshot();\n            });\n          }\n        }\n      }\n    });\n  });\n\n  test(\"using clipToPaths with open paths should throw\", () => {\n    const clipType = clipperLib.ClipType.Intersection;\n    const polyFillType = clipperLib.PolyFillType.Positive;\n\n    const poly1 = [\n      { x: 10, y: 10 },\n      { x: 90, y: 10 },\n      { x: 90, y: 90 },\n    ];\n    const poly2 = [\n      { x: 0, y: 0 },\n      { x: 50, y: 0 },\n      { x: 50, y: 50 },\n      { x: 0, y: 50 },\n    ];\n\n    function testShouldThrow(wasm: boolean) {\n      expect(() => {\n        testPolyOperation(\n          clipType,\n          polyFillType,\n          poly1,\n          poly2,\n          { wasm: wasm, asm: !wasm },\n          false,\n          false\n        );\n      }).toThrow(\"clip to a PolyTree (not to a Path) when using open paths\");\n    }\n\n    testShouldThrow(true);\n    testShouldThrow(false);\n  });\n\n  describe(\"issue #4\", () => {\n    for (const subjectClosed of [true, false]) {\n      test(`subjectClosed: ${subjectClosed}`, () => {\n        const clipType = clipperLib.ClipType.Intersection;\n        const polyFillType = clipperLib.PolyFillType.Positive;\n\n        const poly1 = [\n          { x: 10, y: 10 },\n          { x: 90, y: 10 },\n          { x: 90, y: 90 },\n        ];\n        const pureJsPoly1 = pathToPureJs(poly1);\n\n        const poly2 = [\n          { x: 0, y: 0 },\n          { x: 50, y: 0 },\n          { x: 50, y: 50 },\n          { x: 0, y: 50 },\n        ];\n        const pureJsPoly2 = pathToPureJs(poly2);\n\n        const pureJsRes = pureJsTestPolyOperation(\n          clipType,\n          polyFillType,\n          pureJsPoly1,\n          pureJsPoly2,\n          subjectClosed\n        );\n\n        const res = testPolyOperation(\n          clipType,\n          polyFillType,\n          poly1,\n          poly2,\n          { wasm: true, asm: true },\n          subjectClosed,\n          true\n        );\n\n        expect(res.ptAsmResult).toEqual(res.ptWasmResult);\n        const open = clipperWasm.openPathsFromPolyTree(res.ptWasmResult!);\n        const closed = clipperWasm.closedPathsFromPolyTree(res.ptWasmResult!);\n        if (subjectClosed) {\n          expect(pureJsRes).toEqual(pathsToPureJs(closed));\n          expect(open.length).toBe(0);\n        } else {\n          expect(pureJsRes).toEqual(pathsToPureJs(open));\n          expect(closed.length).toBe(0);\n        }\n        expect(res.ptWasmResult).toMatchSnapshot();\n      });\n    }\n  });\n\n  test(\"issue #9\", () => {\n    const clipper = clipperWasm;\n    const request = {\n      clipType: clipperLib.ClipType.Union,\n      subjectInputs: [\n        {\n          data: [\n            { x: 50, y: 50 },\n            { x: -50, y: 50 },\n            { x: -50, y: -50 },\n            { x: 50, y: -50 },\n          ],\n          closed: true,\n        },\n        {\n          data: [\n            { x: -5, y: -5 },\n            { x: -5, y: 5 },\n            { x: 5, y: 5 },\n            { x: 5, y: -5 },\n          ],\n          closed: true,\n        },\n      ],\n      subjectFillType: clipperLib.PolyFillType.NonZero,\n      strictlySimple: true,\n    };\n    const result = clipper.clipToPolyTree(request);\n    expect(result).toMatchSnapshot();\n  });\n});\n\ndescribe(\"benchmarks\", () => {\n  const oldNodeEnv = process.env.NODE_ENV;\n  beforeAll(() => {\n    process.env.NODE_ENV = \"production\";\n  });\n  afterAll(() => {\n    process.env.NODE_ENV = oldNodeEnv;\n  });\n\n  for (const benchmark of [\n    { ops: 500, points: 5000 },\n    { ops: 10000, points: 100 },\n  ]) {\n    describe(`${benchmark.ops} boolean operations over two circles of ${benchmark.points} points each`, () => {\n      const poly1 = circlePath({ x: 1000, y: 1000 }, 1000, benchmark.points);\n      const poly2 = circlePath({ x: 2500, y: 1000 }, 1000, benchmark.points);\n      const pureJsPoly1 = pathToPureJs(poly1);\n      const pureJsPoly2 = pathToPureJs(poly2);\n      const scale = 100;\n      pureJsClipperLib.JS.ScaleUpPaths(pureJsPoly1, scale);\n      pureJsClipperLib.JS.ScaleUpPaths(pureJsPoly2, scale);\n\n      for (const clipType of [\n        clipperLib.ClipType.Intersection,\n        clipperLib.ClipType.Union,\n        clipperLib.ClipType.Difference,\n        clipperLib.ClipType.Xor,\n      ]) {\n        for (const polyFillType of [\n          clipperLib.PolyFillType.EvenOdd,\n          // clipperLib.PolyFillType.NonZero,\n          // clipperLib.PolyFillType.Negative,\n          // clipperLib.PolyFillType.Positive,\n        ]) {\n          describe(`clipType: ${clipType}, subjectFillType: ${polyFillType}`, () => {\n            for (const mode of [\"wasm\", \"asmJs\", \"pureJs\"]) {\n              test(`${mode}`, () => {\n                for (let i = 0; i < benchmark.ops; i++) {\n                  if (mode === \"wasm\" || mode === \"asmJs\") {\n                    testPolyOperation(clipType, polyFillType, poly1, poly2, {\n                      wasm: mode === \"wasm\",\n                      asm: mode === \"asmJs\",\n                    });\n                  } else if (mode === \"pureJs\") {\n                    pureJsTestPolyOperation(clipType, polyFillType, pureJsPoly1, pureJsPoly2);\n                  }\n                }\n              });\n            }\n          });\n        }\n      }\n    });\n  }\n\n  for (const benchmark of [\n    { ops: 100, points: 5000 },\n    { ops: 5000, points: 100 },\n  ]) {\n    describe(`${benchmark.ops} offset operations over a circle of ${benchmark.points} points`, () => {\n      const poly1 = circlePath({ x: 1000, y: 1000 }, 1000, benchmark.points);\n      const pureJsPoly1 = pathToPureJs(poly1);\n      const scale = 100;\n      pureJsClipperLib.JS.ScaleUpPaths(pureJsPoly1, scale);\n\n      for (const joinType of [\n        clipperLib.JoinType.Miter,\n        // clipperLib.JoinType.Round,\n        // clipperLib.JoinType.Square\n      ]) {\n        for (const endType of [\n          clipperLib.EndType.ClosedPolygon,\n          // clipperLib.EndType.ClosedLine,\n          // clipperLib.EndType.OpenButt,\n          // clipperLib.EndType.OpenRound,\n          // clipperLib.EndType.OpenSquare,\n        ]) {\n          for (const delta of [5, 0, -5]) {\n            describe(`joinType: ${joinType}, endType: ${endType}, delta: ${delta}`, () => {\n              for (const mode of [\"wasm\", \"asmJs\", \"pureJs\"]) {\n                test(`${mode}`, () => {\n                  for (let i = 0; i < benchmark.ops; i++) {\n                    if (mode === \"wasm\" || mode === \"asmJs\") {\n                      testOffset(poly1, joinType, endType, delta, {\n                        wasm: mode === \"wasm\",\n                        asm: mode === \"asmJs\",\n                      });\n                    } else if (mode === \"pureJs\") {\n                      pureJsTestOffset(pureJsPoly1, joinType, endType, delta);\n                    }\n                  }\n                });\n              }\n            });\n          }\n        }\n      }\n    });\n  }\n});\n\nfunction testPolyOperation(\n  clipType: clipperLib.ClipType,\n  subjectFillType: clipperLib.PolyFillType,\n  subjectInput: clipperLib.Path | clipperLib.Paths,\n  clipInput: clipperLib.Path | clipperLib.Paths,\n  format: { wasm: boolean; asm: boolean },\n  subjectInputClosed = true,\n  clipToPolyTrees = false\n) {\n  const data = {\n    clipType: clipType,\n\n    subjectInputs: [{ data: subjectInput, closed: subjectInputClosed }],\n\n    clipInputs: [{ data: clipInput }],\n\n    subjectFillType: subjectFillType,\n  };\n\n  const pathResults = !clipToPolyTrees\n    ? {\n        asmResult: format.asm ? clipperAsmJs.clipToPaths(data) : undefined,\n        wasmResult: format.wasm ? clipperWasm.clipToPaths(data) : undefined,\n      }\n    : {};\n\n  const polyTreeResults = clipToPolyTrees\n    ? {\n        ptAsmResult: format.asm ? clipperAsmJs.clipToPolyTree(data) : undefined,\n        ptWasmResult: format.wasm ? clipperWasm.clipToPolyTree(data) : undefined,\n      }\n    : {};\n\n  return {\n    ...pathResults,\n    ...polyTreeResults,\n  };\n}\n\nfunction testOffset(\n  input: clipperLib.Path | clipperLib.Paths,\n  joinType: clipperLib.JoinType,\n  endType: clipperLib.EndType,\n  delta: number,\n  format: { wasm: boolean; asm: boolean }\n) {\n  const data: clipperLib.OffsetParams = {\n    delta: delta,\n    offsetInputs: [\n      {\n        joinType: joinType,\n        endType: endType,\n        data: input,\n      },\n    ],\n  };\n\n  return {\n    wasmResult: format.wasm ? clipperWasm.offsetToPaths(data) : undefined,\n    asmResult: format.asm ? clipperAsmJs.offsetToPaths(data) : undefined,\n  };\n}\n"
  },
  {
    "path": "__tests__/tsconfig.json",
    "content": "{\n  \"extends\": \"../tsconfig.json\",\n  \"include\": [\"../src/**/*\", \"./**/*\"]\n}\n"
  },
  {
    "path": "__tests__/utils.ts",
    "content": "import * as clipperLib from \"../src\";\n\nexport function circlePath(\n  center: clipperLib.IntPoint,\n  radius: number,\n  points: number\n): clipperLib.Path {\n  const path = [];\n\n  for (let i = 0; i < points; i++) {\n    const radAngle = (i / points) * (Math.PI * 2);\n    const p = {\n      x: Math.round(center.x + Math.cos(radAngle) * radius),\n      y: Math.round(center.y + Math.sin(radAngle) * radius),\n    };\n    path.push(p);\n  }\n\n  return path;\n}\n"
  },
  {
    "path": "build/compile-asm.ts",
    "content": "import * as shelljs from \"shelljs\";\nimport * as path from \"path\";\nimport * as fs from \"fs\";\nimport * as commandLineArgs from \"command-line-args\";\n\nconst cmdLineOptions = commandLineArgs([{ name: \"env\", type: String, defaultValue: \"universal\" }]);\n\nconst wasmDir = path.join(__dirname, \"..\", \"src\", \"wasm\");\nconsole.log(`using \"${wasmDir}\" as wasm dir`);\n\nfunction build(wasmMode: boolean, environment: string) {\n  const debug = false;\n\n  const options = [\n    \"--bind\",\n    \"--no-entry\",\n    \"-s STRICT=1\",\n    \"-s ALLOW_MEMORY_GROWTH=1\",\n    \"-s EXIT_RUNTIME=0\",\n    \"-s SINGLE_FILE=1\",\n    \"-s INVOKE_RUN=0\",\n    \"-s NODEJS_CATCH_EXIT=0\",\n    \"-s NO_FILESYSTEM=1\",\n    \"-s MODULARIZE=1\",\n    \"-s STRICT_JS=0\", // adds \"use strict\" and breaks module compilation\n    \"-s EXPORTED_FUNCTIONS=\\\"['_malloc', '_free']\\\"\", // without this these functions are not exported\n    // no speed difference\n    // \"-s WASM_BIGINT=1\",\n    // wasm with asmjs fallback, but does not work with SINGLE_FILE\n    // \"-s WASM=2\",\n    ...(debug\n      ? [\"-s DISABLE_EXCEPTION_CATCHING=0\", \"-O0\"]\n      : [\n          // \"-s ASSERTIONS=0\",\n          // \"-s PRECISE_I64_MATH=0\",\n          // \"-s ALIASING_FUNCTION_POINTERS=1\",\n          \"-O3\",\n        ]),\n  ];\n  if (environment !== \"universal\") {\n    options.push(`-s ENVIRONMENT=${environment}`);\n  }\n\n  if (wasmMode) {\n    options.push(\"-s WASM=1\");\n  } else {\n    options.push(\"-s WASM=0\");\n  }\n\n  const output = wasmMode ? `clipper-wasm.js` : `clipper.js`;\n\n  const cmd = `docker run --rm -v ${wasmDir}:/src emscripten/emsdk em++ ${options.join(\n    \" \"\n  )} clipper.cpp -o ${output}`;\n  const returnData = shelljs.exec(cmd);\n  if (returnData.code !== 0) {\n    console.error(`build failed with error code ${returnData.code}`);\n    process.exit(returnData.code);\n  }\n\n  shelljs.mkdir(\"dist\", \"dist/wasm\");\n  shelljs.cp(`src/wasm/${output}`, `dist/wasm/${output}`);\n}\n\nconsole.log(\"building asmjs version for env \" + cmdLineOptions.env);\nbuild(false, cmdLineOptions.env);\nconsole.log(\"building wasm version for env \" + cmdLineOptions.env);\nbuild(true, cmdLineOptions.env);\n"
  },
  {
    "path": "build/tsconfig.json",
    "content": "{\n  \"extends\": \"../tsconfig.json\",\n  \"include\": [\"./**/*.ts\"],\n  \"compilerOptions\": {\n    \"noEmit\": true\n  }\n}\n"
  },
  {
    "path": "docs/apiReference/clipping/ClipInput.md",
    "content": "#### interface ClipInput\n\nA single clip input (of multiple possible inputs) for the clipToPaths / clipToPolyTree operations.\n\nClipping paths must always be closed. Clipper allows polygons to clip both lines and other polygons, but doesn't allow lines to clip either lines or polygons.\nWith closed paths, orientation should conform with the filling rule that will be passed via Clipper's execute method.\n\n###### Required properties\n\n* **data: [Path](../shared/Path.md) | [Paths](../shared/Paths.md)**\n\n    Path / Paths data.\n       \n    Path Coordinate range:\n       \n    Path coordinates must be between ± 9007199254740991 (Number.MAX_SAFE_INTEGER), otherwise a range error will be thrown when attempting to add the path to the Clipper object.\n    If coordinates can be kept between ± 0x3FFFFFFF (± 1.0e+9), a modest increase in performance (approx. 15-20%) over the larger range can be achieved by\n    avoiding large integer math.\n       \n    The function operation will throw an error if the path is invalid for clipping. A path is invalid for clipping when:\n    - it has less than 2 vertices\n    - it has 2 vertices but is not an open path\n    - the vertices are all co-linear and it is not an open path\n"
  },
  {
    "path": "docs/apiReference/clipping/ClipParams.md",
    "content": "#### interface ClipParams\n\nParams for the clipToPaths / clipToPolyTree operations.\n\nAny number of subject and clip paths can be added to a clipping task.\n\nBoolean (clipping) operations are mostly applied to two sets of Polygons, represented in this library as subject and clip polygons. Whenever Polygons\nare added to the Clipper object, they must be assigned to either subject or clip polygons.\n\nUNION operations can be performed on one set or both sets of polygons, but all other boolean operations require both sets of polygons to derive\nmeaningful solutions.\n\n###### Required properties\n\n* **clipType: [ClipType](./ClipType.md)**\n   \n    Clipping operation type (Intersection, Union, Difference or Xor).\n   \n* **subjectFillType: [PolyFillType](../shared/PolyFillType.md)**\n   \n    Winding (fill) rule for subject polygons.\n\n* **subjectInputs: [SubjectInput](./SubjectInput.md)[]**\n   \n    Subject inputs.\n\n###### Optional properties\n\n* **clipFillType?: [PolyFillType](../shared/PolyFillType.md) = subjectFillType**\n\n    Winding (fill) rule for clipping polygons. If missing it will use the same one as subjectFillType.\n\n* **clipInputs?: [ClipInput](./ClipInput.md)[] = []**\n\n    Clipping inputs. Not required for union operations, required for others.\n\n* **reverseSolution?: boolean = false**\n\n    When this property is set to true, polygons returned in the solution parameter of the clip method will have orientations opposite to their normal\n    orientations.\n   \n* **strictlySimple?: boolean = false**\n\n    Terminology:   \n        \n    * A simple polygon is one that does not self-intersect. \n    * A weakly simple polygon is a simple polygon that contains 'touching' vertices, or 'touching' edges. \n    * A strictly simple polygon is a simple polygon that does not contain 'touching' vertices, or 'touching' edges. \n        \n    Vertices 'touch' if they share the same coordinates (and are not adjacent). An edge touches another if one of its end vertices touches another edge excluding its adjacent edges, or if they are co-linear and overlapping (including adjacent edges).\n       \n    Polygons returned by clipping operations should always be simple polygons. When the StrictlySimply property is enabled, polygons returned will be strictly simple, otherwise they may be weakly simple. It's computationally expensive ensuring polygons are strictly simple and so this property is disabled by default.\n        \n    *Note: There's currently no guarantee that polygons will be strictly simple since 'simplifying' is still a work in progress.*\n       \n       \n    ![image](https://user-images.githubusercontent.com/6306796/28289784-4875cc82-6b44-11e7-9be7-20d5eb30f597.png)\n        \n    In the image above, the two examples show weakly simple polygons being broken into two strictly simple polygons. (The outlines with arrows are intended to aid visualizing vertex order.)\n\n* **preserveCollinear?: boolean = false**\n       \n    By default, when three or more vertices are collinear in input polygons (subject or clip), the Clipper object removes the 'inner' vertices before\n    clipping. When enabled the preserveCollinear property prevents this default behavior to allow these inner vertices to appear in the solution.\n"
  },
  {
    "path": "docs/apiReference/clipping/ClipType.md",
    "content": "#### enum ClipType\n\nThere are four boolean operations - Intersection, Union, Difference & Xor.\n\nGiven that subject and clip polygon brush 'filling' is defined both by their vertices and their respective filling rules, the four boolean operations can be applied to polygons to define new filling regions: \n\n###### Values\n* **Intersection**\n    \n    AND - create regions where both subject and clip polygons are filled \n\n* **Union**\n\n    OR create regions where either subject or clip polygons (or both) are filled \n\n* **Difference**\n\n    NOT - create regions where subject polygons are filled except where clip polygons are filled \n\n* **Xor**\n\n    Exclusive or - create regions where either subject or clip polygons are filled but not where both are filled \n\n![image](https://user-images.githubusercontent.com/6306796/28289822-692abb18-6b44-11e7-9fa0-24382a7079fc.png)\n\n![image](https://user-images.githubusercontent.com/6306796/28289832-7436ff08-6b44-11e7-98cd-cd1ac5d9c12a.png)\n![image](https://user-images.githubusercontent.com/6306796/28289843-851c0fac-6b44-11e7-8442-f1a03b6aa170.png)\n![image](https://user-images.githubusercontent.com/6306796/28289847-87ba1380-6b44-11e7-9919-108187d270f0.png)\n![image](https://user-images.githubusercontent.com/6306796/28289851-8a15126a-6b44-11e7-865f-844fa3f491dd.png)\n\nAll polygon clipping is performed within the clip method with the specific boolean operation indicated by the ClipType parameter passed as an argument. \n\nWith regard to open paths (polylines), clipping rules generally match those of closed paths (polygons).\nHowever, when there are both polyline and polygon subjects, the following clipping rules apply: \n\nunion operations - polylines will be clipped by any overlapping polygons so that non-overlapped portions will be returned in the solution together with the union-ed polygons \nintersection, difference and xor operations - polylines will be clipped only by 'clip' polygons and there will be not interaction between polylines and subject polygons. \n\nExample of clipping behaviour when mixing polyline and polygon subjects:\n\n![image](https://user-images.githubusercontent.com/6306796/28289916-c0ebd4c2-6b44-11e7-8e47-15b78f9dd8c9.png)\n"
  },
  {
    "path": "docs/apiReference/clipping/SubjectInput.md",
    "content": "#### interface SubjectInput\n\nA single subject input (of multiple possible inputs) for the clipToPaths / clipToPolyTree operations\n\n'Subject' paths may be either open (lines) or closed (polygons) or even a mixture of both.\nWith closed paths, orientation should conform with the filling rule that will be passed via Clipper's execute method.\n\n###### Properties\n\n* **data: [Path](../shared/Path.md) | [Paths](../shared/Paths.md)**\n    \n    Path / Paths data.\n       \n    Path Coordinate range:\n       \n    Path coordinates must be between ± 9007199254740991 (Number.MAX_SAFE_INTEGER), otherwise a range error will be thrown when attempting to add the path to the Clipper object.\n    If coordinates can be kept between ± 0x3FFFFFFF (± 1.0e+9), a modest increase in performance (approx. 15-20%) over the larger range can be achieved by\n    avoiding large integer math.\n       \n    The function operation will throw an error if the path is invalid for clipping. A path is invalid for clipping when:\n    - it has less than 2 vertices\n    - it has 2 vertices but is not an open path\n    - the vertices are all co-linear and it is not an open path\n\n* **closed: boolean**\n\n    If the path/paths is closed or not.\n"
  },
  {
    "path": "docs/apiReference/clipping/clipTo.md",
    "content": "#### clipToPaths(params: [ClipParams](./ClipParams.md)): [Paths](../shared/Paths.md) | undefined\n#### clipToPolyTree(params: [ClipParams](./ClipParams.md)): [PolyTree](../shared/PolyTree.md) | undefined\n\nPerforms a polygon clipping (boolean) operation, returning the resulting Paths / PolyTree or throwing an error if failed.\n\nThe solution parameter in this case is a Paths or PolyTree structure. The Paths structure is simpler than the PolyTree structure. Because of this it is\nquicker to populate and hence clipping performance is a little better (it's roughly 10% faster). However, the PolyTree data structure provides more\ninformation about the returned paths which may be important to users. Firstly, the PolyTree structure preserves nested parent-child polygon relationships\n(ie outer polygons owning/containing holes and holes owning/containing other outer polygons etc). Also, only the PolyTree structure can differentiate\nbetween open and closed paths since each PolyNode has an IsOpen property. (The Path structure has no member indicating whether it's open or closed.)\nFor this reason, when open paths are passed to a Clipper object, the user must use a PolyTree object as the solution parameter, otherwise an exception\nwill be raised.\n\nWhen a PolyTree object is used in a clipping operation on open paths, two ancilliary functions have been provided to quickly separate out open and\nclosed paths from the solution - OpenPathsFromPolyTree and ClosedPathsFromPolyTree. PolyTreeToPaths is also available to convert path data to a Paths\nstructure (irrespective of whether they're open or closed).\n\nThere are several things to note about the solution paths returned:\n- they aren't in any specific order\n- they should never overlap or be self-intersecting (but see notes on rounding)\n- holes will be oriented opposite outer polygons\n- the solution fill type can be considered either EvenOdd or NonZero since it will comply with either filling rule\n- polygons may rarely share a common edge (though this is now very rare as of version 6)\n\n![image](https://user-images.githubusercontent.com/6306796/28289968-efa9dfac-6b44-11e7-85b4-826a29c6015f.png)\n"
  },
  {
    "path": "docs/apiReference/index.md",
    "content": "### API Reference\n\n1. Start by creating a library wrapper (for either the WebAssembly or Asm.js version) by using [loadNativeClipperLibInstanceAsync](./libInit/loadNativeClipperLibInstanceAsync.md)\n2. Explore and use all the functions available inside the returned [ClipperLibWrapper](./shared/ClipperLibWrapper.md) class instance.\n"
  },
  {
    "path": "docs/apiReference/libInit/NativeClipperLibLoadedFormat.md",
    "content": "#### enum NativeClipperLibLoadedFormat\n\nThe format the native library instance being used is in.\n\n###### Values\n* **Wasm = 'wasm'**\n\n    WebAssembly.\n\n* **AsmJs = 'asmJs'**\n\n    Asm.js.\n"
  },
  {
    "path": "docs/apiReference/libInit/NativeClipperLibRequestedFormat.md",
    "content": "#### enum NativeClipperLibRequestedFormat\n\nFormat to use when loading the native library instance.\n\n###### Values\n* **WasmWithAsmJsFallback = 'wasmWithAsmJsFallback'**\n\n    Try to load the WebAssembly version, if it fails try to load the Asm.js version.\n\n* **WasmOnly = 'wasmOnly'**\n\n    Load the WebAssembly version exclusively.\n\n* **AsmJsOnly = 'asmJsOnly'**\n\n    Load the Asm.js version exclusively.\n"
  },
  {
    "path": "docs/apiReference/libInit/loadNativeClipperLibInstanceAsync.md",
    "content": "#### async loadNativeClipperLibInstanceAsync(format: [NativeClipperLibRequestedFormat](./NativeClipperLibRequestedFormat.md)): Promise<[ClipperLibWrapper](../shared/ClipperLibWrapper.md)>\n\nAsynchronously tries to load a new native instance of the clipper library to be shared across all method invocations.\n\n###### Parameters\n\n- **format: [NativeClipperLibRequestedFormat](./NativeClipperLibRequestedFormat.md)**\n\n  Format to load, either WasmThenAsmJs, WasmOnly or AsmJsOnly.\n\n###### Returns\n\n- **Promise<[ClipperLibWrapper](../shared/ClipperLibWrapper.md)>**\n\n  Promise that resolves with the wrapper instance.\n"
  },
  {
    "path": "docs/apiReference/offsetting/EndType.md",
    "content": "#### enum EndType\n\nThe EndType enumerator has 5 values: \n\n###### Values\n* **ClosedPolygon**\n\n    Ends are joined using the JoinType value and the path filled as a polygon \n\n* **ClosedLine**\n\n    Ends are joined using the JoinType value and the path filled as a polyline \n\n* **EvenOdd**\n\n    Ends are squared off and extended delta units \n\n* **OpenSquare**\n\n    Ends are rounded off and extended delta units \n\n* **OpenButt**\n\n    Ends are squared off with no extension. \n\n* **OpenSingle (future)**\n\n    Offsets an open path in a single direction. Planned for a future update. \n\n*Note:* With ClosedPolygon and ClosedLine types, the path closure will be the same regardless of whether or not the first and last vertices in the path match.\n\n![image](https://user-images.githubusercontent.com/6306796/28289996-07f1520c-6b45-11e7-8ed8-7c0227915306.png)\n![image](https://user-images.githubusercontent.com/6306796/28290016-1149915c-6b45-11e7-962a-57e5d0ffacf0.png)\n\n"
  },
  {
    "path": "docs/apiReference/offsetting/JoinType.md",
    "content": "#### enum JoinType\n\nWhen adding paths to a offset operation, the joinType parameter may be one of three types - Miter, Square or Round.\n\n![image](https://user-images.githubusercontent.com/6306796/28290053-31d7b0b6-6b45-11e7-8b81-d47241617f90.png)\n\n###### Values\n* **Miter**\n\n    There's a necessary limit to mitered joins since offsetting edges that join at very acute angles will produce excessively long and narrow 'spikes'. To contain these potential spikes, the ClippOffset object's MiterLimit property specifies a maximum distance that vertices will be offset (in multiples of delta). For any given edge join, when miter offsetting would exceed that maximum distance, 'square' joining is applied.\n\n* **Round**\n\n    While flattened paths can never perfectly trace an arc, they are approximated by a series of arc chords (see ClipperObject's ArcTolerance property).\n\n* **Square**\n\n    Squaring is applied uniformally at all convex edge joins at 1 × delta. \n\n"
  },
  {
    "path": "docs/apiReference/offsetting/OffsetInput.md",
    "content": "#### interface OffsetInput\n\nA single input (of multiple possible inputs) for the offsetToPaths / offsetToPolyTree operation.\n\n###### Required properties\n\n* **data: [Path](../shared/Path.md) | [Paths](../shared/Paths.md)**\n\n    Data of one of the Path or Paths to be used in preparation for offsetting.\n    \n    All 'outer' Paths must have the same orientation, and any 'hole' paths must have reverse orientation. Closed paths must have at least 3 vertices.\n    Open paths may have as few as one vertex. Open paths can only be offset with positive deltas.\n\n* **joinType: [JoinType](./JoinType.md)**\n\n    Join type.\n\n* **endType: [EndType](./EndType.md)**\n\n    End type.\n"
  },
  {
    "path": "docs/apiReference/offsetting/OffsetParams.md",
    "content": "#### interface OffsetParams\n\nParams for the polygon offset operation.\n\n###### Required properties\n\n* **delta: number**\n\n    Negative delta values shrink polygons and positive delta expand them.\n\n* **offsetInputs: [OffsetInput](./OffsetInput.md)[]**\n\n    One or more inputs to use for the offset operation.\n\n###### Optional properties\n\n* **arcTolerance?: number = 0.25**\n\n    Firstly, this field/property is only relevant when JoinType = Round and/or EndType = Round.\n    \n    Since flattened paths can never perfectly represent arcs, this field/property specifies a maximum acceptable imprecision ('tolerance') when arcs are\n    approximated in an offsetting operation. Smaller values will increase 'smoothness' up to a point though at a cost of performance and in creating more\n    vertices to construct the arc.\n    \n    The default ArcTolerance is 0.25 units. This means that the maximum distance the flattened path will deviate from the 'true' arc will be no more\n    than 0.25 units (before rounding).\n    \n    Reducing tolerances below 0.25 will not improve smoothness since vertex coordinates will still be rounded to integer values. The only way to achieve\n    sub-integer precision is through coordinate scaling before and after offsetting (see example below).\n    \n    It's important to make ArcTolerance a sensible fraction of the offset delta (arc radius). Large tolerances relative to the offset delta will produce\n    poor arc approximations but, just as importantly, very small tolerances will substantially slow offsetting performance while providing unnecessary\n    degrees of precision. This is most likely to be an issue when offsetting polygons whose coordinates have been scaled to preserve floating point precision.\n    \n    Example: Imagine a set of polygons (defined in floating point coordinates) that is to be offset by 10 units using round joins, and the solution is to\n    retain floating point precision up to at least 6 decimal places.\n    To preserve this degree of floating point precision, and given that Clipper and ClipperOffset both operate on integer coordinates, the polygon\n    coordinates will be scaled up by 108 (and rounded to integers) prior to offsetting. Both offset delta and ArcTolerance will also need to be scaled\n    by this same factor. If ArcTolerance was left unscaled at the default 0.25 units, every arc in the solution would contain a fraction of 44 THOUSAND\n    vertices while the final arc imprecision would be 0.25 × 10-8 units (ie once scaling was reversed). However, if 0.1 units was an acceptable imprecision\n    in the final unscaled solution, then ArcTolerance should be set to 0.1 × scaling_factor (0.1 × 108 ). Now if scaling is applied equally to both\n    ArcTolerance and to Delta Offset, then in this example the number of vertices (steps) defining each arc would be a fraction of 23.\n    \n    The formula for the number of steps in a full circular arc is ... ```Pi / acos(1 - arc_tolerance / abs(delta))```\n\n* **miterLimit?: number = 2**\n\n    This property sets the maximum distance in multiples of delta that vertices can be offset from their original positions before squaring is applied.\n    (Squaring truncates a miter by 'cutting it off' at 1 × delta distance from the original vertex.)\n    \n    The default value for MiterLimit is 2 (ie twice delta). This is also the smallest MiterLimit that's allowed. If mitering was unrestricted (ie without\n    any squaring), then offsets at very acute angles would generate unacceptably long 'spikes'.\n    \n    An example of an offsetting 'spike' at a narrow angle that's a consequence of using a large MiterLimit (25) ...\n    \n    ![image](https://user-images.githubusercontent.com/6306796/28290111-5b2f0afe-6b45-11e7-8607-af35ffc01cbf.png)\n"
  },
  {
    "path": "docs/apiReference/offsetting/offsetTo.md",
    "content": "#### offsetToPaths(params: [OffsetParams](./OffsetParams.md)): [Paths](../shared/Paths.md) | undefined\n#### offsetToPolyTree(params: [OffsetParams](./OffsetParams.md)): [PolyTree](../shared/PolyTree.md) | undefined\n\nPerforms a polygon offset operation, returning the resulting PolyTree or undefined if failed.\n\nThis method encapsulates the process of offsetting (inflating/deflating) both open and closed paths using a number of different join types\nand end types.\n\n###### Preconditions for offsetting\n\n1. The orientations of closed paths must be consistent such that outer polygons share the same orientation, and any holes have the opposite orientation\n(ie non-zero filling). Open paths must be oriented with closed outer polygons.\n2. Polygons must not self-intersect.\n\n###### Limitations\n\nWhen offsetting, small artefacts may appear where polygons overlap. To avoid these artefacts, offset overlapping polygons separately.\n\n![image](https://user-images.githubusercontent.com/6306796/28290136-77a0f8a0-6b45-11e7-8fdd-a5a5570b96a7.png)\n"
  },
  {
    "path": "docs/apiReference/shared/ClipperLibWrapper.md",
    "content": "#### class ClipperLibWrapper\n\nA wrapper for the Native Clipper Library instance with all the operations available.\n\n###### Properties\n\n* **static readonly hiRange = 9007199254740991 (Number.MAX_SAFE_INTEGER)**\n\n    Max coordinate value (both positive and negative).\n\n* **readonly instance: NativeClipperLibInstance**\n    \n    Native library instance.\n\n* **readonly format: [NativeClipperLibLoadedFormat](../libInit/NativeClipperLibLoadedFormat.md)**\n\n    Native library format.\n    \n* **[clipToPaths](../clipping/clipTo.md)(params: [ClipParams](../clipping/ClipParams.md)): [Paths](../shared/Paths.md) | undefined**\n* **[clipToPolyTree](../clipping/clipTo.md)(params: [ClipParams](../clipping/ClipParams.md)): [PolyTree](../shared/PolyTree.md) | undefined**\n\n    Performs a polygon clipping (boolean) operation, returning the resulting Paths/PolyTree or throwing an error if failed.\n    See the method detailed [documentation](../clipping/clipTo.md) for more details.\n\n* **[offsetToPaths](../offsetting/offsetTo.md)(params: [OffsetParams](../offsetting/OffsetParams.md)): [Paths](../shared/Paths.md) | undefined**\n* **[offsetToPolyTree](../offsetting/offsetTo.md)(params: [OffsetParams](../offsetting/OffsetParams.md)): [PolyTree](../shared/PolyTree.md) | undefined**\n\n    Performs a polygon offset operation, returning the resulting Paths/PolyTree or undefined if failed.\n    See the method detailed [documentation](../offsetting/offsetTo.md) for more details.\n\n* **area(path: [Path](../shared/Path.md)): number**\n    \n    This function returns the area of the supplied polygon. It's assumed that the path is closed and does not self-intersect. Depending on orientation,\n       * this value may be positive or negative. If Orientation is true, then the area will be positive and conversely, if Orientation is false, then the\n       * area will be negative.\n       \n* **cleanPolygon(path: [Path](../shared/Path.md), distance = 1.1415): [Path](../shared/Path.md)**\n* **cleanPolygons(paths: [Paths](../shared/Paths.md), distance = 1.1415): [Paths](../shared/Paths.md)**\n\n    Removes vertices: \n    \n    * that join co-linear edges, or join edges that are almost co-linear (such that if the vertex was moved no more than the specified distance the edges would be co-linear) \n    * that are within the specified distance of an adjacent vertex \n    * that are within the specified distance of a semi-adjacent vertex together with their out-lying vertices \n    \n    Vertices are semi-adjacent when they are separated by a single (out-lying) vertex.\n    \n    The distance parameter's default value is approximately √2 so that a vertex will be removed when adjacent or semi-adjacent vertices having their corresponding X and Y coordinates differing by no more than 1 unit. (If the egdes are semi-adjacent the out-lying vertex will be removed too.)\n\n    ![image](https://user-images.githubusercontent.com/6306796/28290343-5dc75e46-6b46-11e7-83aa-4a387823d1a9.png)\n    ![image](https://user-images.githubusercontent.com/6306796/28290361-69632726-6b46-11e7-880a-09b965dde079.png)    \n\n* **closedPathsFromPolyTree(polyTree: [PolyTree](../shared/PolyTree.md)): [Paths](../shared/Paths.md)**\n\n    This function filters out open paths from the PolyTree structure and returns only closed paths in a Paths structure.\n    \n* **minkowskiDiff(poly1: [Path](../shared/Path.md), poly2: [Path](../shared/Path.md)): [Paths](../shared/Paths.md)**\n\n    Minkowski Difference is performed by subtracting each point in a polygon from the set of points in an open or closed path. A key feature of Minkowski Difference is that when it's applied to two polygons, the resulting polygon will contain the coordinate space origin whenever the two polygons touch or overlap. (This function is often used to determine when polygons collide.)\n\n    ![image](https://user-images.githubusercontent.com/6306796/28290392-8cd0af94-6b46-11e7-9bad-fd2e245cddc8.png)\n    \n    In the image above left the blue polygon is the 'minkowski difference' of the two red boxes. The black dot represents the coordinate space origin\n\n* **minkowskiSumPath(pattern: [Path](../shared/Path.md), path: [Path](../shared/Path.md), pathIsClosed: boolean): [Paths](../shared/Paths.md)**\n* **minkowskiSumPaths(pattern: [Path](../shared/Path.md), paths: [Paths](../shared/Paths.md), pathIsClosed: boolean): [Paths](../shared/Paths.md)**\n\n    Minkowski Addition is performed by adding each point in a polygon 'pattern' to the set of points in an open or closed path. The resulting polygon (or polygons) defines the region that the 'pattern' would pass over in moving from the beginning to the end of the 'path'.\n\n    ![image](https://user-images.githubusercontent.com/6306796/28290405-9636f11a-6b46-11e7-95e6-2e5cddb20789.png)\n\n* **openPathsFromPolyTree(polyTree: [PolyTree](../shared/PolyTree.md)): [Paths](../shared/Paths.md)**\n\n    This function filters out closed paths from the PolyTree structure and returns only open paths in a Paths structure. \n\n* **orientation(path: [Path](../shared/Path.md)): boolean**\n    Orientation is only important to closed paths. Given that vertices are declared in a specific order, orientation refers to the direction (clockwise or counter-clockwise) that these vertices progress around a closed path.\n    \n    Orientation is also dependent on axis direction:\n    * On Y-axis positive upward displays, orientation will return true if the polygon's orientation is counter-clockwise. \n    * On Y-axis positive downward displays, orientation will return true if the polygon's orientation is clockwise. \n    \n    ![image](https://user-images.githubusercontent.com/6306796/28290420-a1877378-6b46-11e7-9d29-37f6eebd7755.png)\n\n    Notes:\n    \n    * Self-intersecting polygons have indeterminate orientations in which case this function won't return a meaningful value. \n    * The majority of 2D graphic display libraries (eg GDI, GDI+, XLib, Cairo, AGG, Graphics32) and even the SVG file format have their coordinate origins at the top-left corner of their respective viewports with their Y axes increasing downward. However, some display libraries (eg Quartz, OpenGL) have their coordinate origins undefined or in the classic bottom-left position with their Y axes increasing upward. \n    * For Non-Zero filled polygons, the orientation of holes must be opposite that of outer polygons. \n    * For closed paths (polygons) in the solution returned by the clip method, their orientations will always be true for outer polygons and false for hole polygons (unless the reverseSolution property has been enabled). \n\n* **pointInPolygon(point: [IntPoint](../shared/IntPoint.md), path: [Path](../shared/Path.md)): [PointInPolygonResult](../shared/PointInPolygonResult.md)**\n\n    Returns *PointInPolygonResult.Outside* when false, *PointInPolygonResult.OnBoundary* when point is on poly and *PointInPolygonResult.Inside* when point is in poly.\n\n    It's assumed that 'poly' is closed and does not self-intersect.\n     \n* **polyTreeToPaths(polyTree: [PolyTree](../shared/PolyTree.md)): [Paths](../shared/Paths.md)**\n\n    This function converts a PolyTree structure into a Paths structure.\n     \n* **reversePath(path: [Path](../shared/Path.md)): void**\n\n    Reverses the vertex order (and hence orientation) in the specified path.\n    \n* **reversePaths(paths: [Paths](../shared/Paths.md)): void**\n\n    Reverses the vertex order (and hence orientation) in each contained path.\n    \n* **simplifyPolygon(path: [Path](../shared/Path.md), fillType: [PolyFillType](../shared/PolyFillType.md) = PolyFillType.EvenOdd): [Paths](../shared/Paths.md)**\n* **simplifyPolygons(paths: [Paths](../shared/Paths.md), fillType: [PolyFillType](../shared/PolyFillType.md) = PolyFillType.EvenOdd): [Paths](../shared/Paths.md)**\n\n    Removes self-intersections from the supplied polygon (by performing a boolean union operation using the nominated PolyFillType).\n    Polygons with non-contiguous duplicate vertices (ie 'touching') will be split into two polygons.\n    \n    Note: There's currently no guarantee that polygons will be strictly simple since 'simplifying' is still a work in progress.\n    \n    ![image](https://user-images.githubusercontent.com/6306796/28290432-b2402dfe-6b46-11e7-8d1f-d9e7ad7c1770.png)\n\n    ![image](https://user-images.githubusercontent.com/6306796/28290441-c55f97b2-6b46-11e7-8c14-ab667fb4003f.png)\n    ![image](https://user-images.githubusercontent.com/6306796/28290451-cca90fee-6b46-11e7-90e8-a7a0b98e7ae5.png)\n\n* **scalePath(path: [Path](../shared/Path.md), scale: number): [Path](../shared/Path.md)**\n\n    Scales a path by multiplying all its points by a number and then rounding them.\n    \n* **scalePaths(paths: [Paths](../shared/Paths.md), scale: number): [Paths](../shared/Paths.md)**\n\n    Scales all inner paths by multiplying all its points by a number and then rounding them.\n"
  },
  {
    "path": "docs/apiReference/shared/IntPoint.md",
    "content": "#### interface IntPoint\n```{ x: number; y: number; }```\n\nThe IntPoint structure is used to represent all vertices in the Clipper Library. An integer storage type has been deliberately chosen to preserve numerical robustness. (Early versions of the library used floating point coordinates, but it became apparent that floating point imprecision would always cause occasional errors.)\n\nA sequence of IntPoints are contained within a Path structure to represent a single contour.\n\nUsers wishing to clip or offset polygons containing floating point coordinates need to use appropriate scaling when converting these values to and from IntPoints, since they will be auto-converted to integers.\n\nSee also the notes on rounding. \n"
  },
  {
    "path": "docs/apiReference/shared/Path.md",
    "content": "#### type Path = [IntPoint](./IntPoint.md)[]\n\nThis structure contains a sequence of IntPoint vertices defining a single contour (see also terminology). Paths may be open and represent a series of line segments bounded by 2 or more vertices, or they may be closed and represent polygons. Whether or not a path is open depends on context. Closed paths may be 'outer' contours or 'hole' contours. Which they are depends on orientation.\n\nMultiple paths can be grouped into a Paths structure.\n"
  },
  {
    "path": "docs/apiReference/shared/Paths.md",
    "content": "#### type Paths = [Path](./Path.md)[]\n\nThis structure is fundamental to the Clipper Library. It's a list or array of one or more Path structures. (The Path structure contains an ordered list of vertices that make a single contour.)\n\nPaths may open (a series of line segments), or they may closed (polygons). Whether or not a path is open depends on context. Closed paths may be 'outer' contours or 'hole' contours. Which they are depends on orientation.\n"
  },
  {
    "path": "docs/apiReference/shared/PointInPolygonResult.md",
    "content": "#### enum PointInPolygonResult\n\nThe PointInPolygonResult enumerator has 3 values: \n\n###### Values\n* **Outside**\n\n    Point is outside the polygon \n\n* **Inside**\n\n    Point is inside the polygon \n\n* **OnBoundary**\n\n    Point is on the polygon boundary \n"
  },
  {
    "path": "docs/apiReference/shared/PolyFillType.md",
    "content": "#### enum PolyFillType\n\nFilling indicates those regions that are inside a closed path (ie 'filled' with a brush color or pattern in a graphical display) and those regions that are outside. The Clipper Library supports 4 filling rules: Even-Odd, Non-Zero, Positive and Negative.\n\nThe simplest filling rule is Even-Odd filling (sometimes called alternate filling). Given a group of closed paths start from a point outside the paths and progress along an imaginary line through the paths. When the first path is crossed the encountered region is filled. When the next path is crossed the encountered region is not filled. Likewise, each time a path is crossed, filling starts if it had stopped and stops if it had started.\n\nWith the exception of Even-Odd filling, all other filling rules rely on edge direction and winding numbers to determine filling. Edge direction is determined by the order in which vertices are declared when constructing a path. Edge direction is used to determine the winding number of each polygon subregion.\n\nThe winding number for each polygon sub-region can be derived by: \n\n1. starting with a winding number of zero and \n2. from a point (P1) that's outside all polygons, draw an imaginary line to a point that's inside a given sub-region (P2) \n3. while traversing the line from P1 to P2, for each path that crosses the imaginary line from right to left increment the winding number, and for each path that crosses the line from left to right decrement the winding number. \n4. Once you arrive at the given sub-region you have its winding number. \n\n![image](https://user-images.githubusercontent.com/6306796/28290194-ba109ac4-6b45-11e7-963e-fc80681cfa00.png)\n\n###### Values\n* **EvenOdd**\n\n    Alternate: Odd numbered sub-regions are filled, while even numbered sub-regions are not.\n\n* **NonZero**\n\n    Winding: All non-zero sub-regions are filled.\n\n* **Positive**\n\n    All sub-regions with winding counts > 0 are filled.\n\n* **Negative**\n\n    All sub-regions with winding counts < 0 are filled.\n\nPolygon regions are defined by one or more closed paths which may or may not intersect. A single polygon region can be defined by a single non-intersecting path or by multiple non-intersecting paths where there's typically an 'outer' path and one or more inner 'hole' paths. Looking at the three shapes in the image above, the middle shape consists of two concentric rectangles sharing the same clockwise orientation. With even-odd filling, where orientation can be disregarded, the inner rectangle would create a hole in the outer rectangular polygon. There would be no hole with non-zero filling. In the concentric rectangles on the right, where the inner rectangle is orientated opposite to the outer, a hole will be rendered with either even-odd or non-zero filling. A single path can also define multiple subregions if it self-intersects as in the example of the 5 pointed star shape below.\n\n![image](https://user-images.githubusercontent.com/6306796/28290200-c49146ec-6b45-11e7-947a-59248b510388.png)\n![image](https://user-images.githubusercontent.com/6306796/28290209-d1cefc82-6b45-11e7-8ca0-6ce51a24e884.png)\n![image](https://user-images.githubusercontent.com/6306796/28290211-d34cca12-6b45-11e7-80e6-5ea5f1d7ccc6.png)\n![image](https://user-images.githubusercontent.com/6306796/28290213-d51a5602-6b45-11e7-8c26-0925e2fb1f42.png)\n![image](https://user-images.githubusercontent.com/6306796/28290216-d6966084-6b45-11e7-82ff-aeb032de7c0c.png)\n\nBy far the most widely used fill rules are Even-Odd (aka Alternate) and Non-Zero (aka Winding). Most graphics rendering libraries (AGG, Android Graphics, Cairo, GDI+, OpenGL, Quartz 2D etc) and vector graphics storage formats (SVG, Postscript, Photoshop etc) support both these rules. However some libraries (eg Java's Graphics2D) only support one fill rule. Android Graphics and OpenGL are the only libraries (that I'm aware of) that support multiple filling rules.\n\nIt's useful to note that edge direction has no affect on a winding number's odd-ness or even-ness. (This is why orientation is ignored when the Even-Odd rule is employed.)\n\nThe direction of the Y-axis does affect polygon orientation and edge direction. However, changing Y-axis orientation will only change the sign of winding numbers, not their magnitudes, and has no effect on either Even-Odd or Non-Zero filling.\n"
  },
  {
    "path": "docs/apiReference/shared/PolyNode.md",
    "content": "#### class PolyNode\n_extended by [PolyTree](./PolyTree.md)_\n\nPolyNodes are encapsulated within a PolyTree container, and together provide a data structure representing the parent-child relationships of polygon\ncontours returned by clipping/ofsetting methods.\n\nA PolyNode object represents a single polygon. It's isHole property indicates whether it's an outer or a hole. PolyNodes may own any number of PolyNode\nchildren (childs), where children of outer polygons are holes, and children of holes are (nested) outer polygons.\n\n###### Properties\n\n* **get parent(): [PolyNode](./PolyNode.md) | undefined**\n\n    Returns the parent PolyNode.\n    \n    The PolyTree object (which is also a PolyNode) does not have a parent and will return undefined.\n\n* **get childs(): [PolyNode](./PolyNode.md)[]**\n\n    A read-only list of PolyNode.\n    \n    Outer PolyNode children contain hole PolyNodes, and hole PolyNode children contain nested outer PolyNodes.\n\n* **get contour(): [Path](./Path.md)**\n\n    Returns a path list which contains any number of vertices.\n\n* **get isOpen(): boolean**\n\n    Returns true when the PolyNode's Contour results from a clipping operation on an open contour (path). Only top-level PolyNodes can contain open contours.\n\n* **get index(): number**\n\n    Index in the parent's child list, or 0 if no parent.\n\n* **get isHole(): boolean**\n\n    Returns true when the PolyNode's polygon (Contour) is a hole.\n    \n    Children of outer polygons are always holes, and children of holes are always (nested) outer polygons.\n    The isHole property of a PolyTree object is undefined but its children are always top-level outer polygons.\n\n* **getNext(): [PolyNode](./PolyNode.md) | undefined**\n\n    The returned PolyNode will be the first child if any, otherwise the next sibling, otherwise the next sibling of the Parent etc.\n    \n    A PolyTree can be traversed very easily by calling GetFirst() followed by GetNext() in a loop until the returned object is undefined.\n"
  },
  {
    "path": "docs/apiReference/shared/PolyTree.md",
    "content": "#### class PolyTree\n_extends [PolyNode](./PolyNode.md)_\n\nPolyTree is intended as a read-only data structure that should only be used to receive solutions from clipping and offsetting operations. It's an\nalternative to the Paths data structure which also receives these solutions. PolyTree's two major advantages over the Paths structure are: it properly\nrepresents the parent-child relationships of the returned polygons; it differentiates between open and closed paths. However, since PolyTree is a more\ncomplex structure than the Paths structure, and since it's more computationally expensive to process (the Execute method being roughly 5-10% slower), it\nshould used only be when parent-child polygon relationships are needed, or when open paths are being 'clipped'.\n\nA PolyTree object is a container for any number of PolyNode children, with each contained PolyNode representing a single polygon contour (either an outer\nor hole polygon). PolyTree itself is a specialized PolyNode whose immediate children represent the top-level outer polygons of the solution. (It's own\nContour property is always empty.) The contained top-level PolyNodes may contain their own PolyNode children representing hole polygons that may also\ncontain children representing nested outer polygons etc. Children of outers will always be holes, and children of holes will always be outers.\n\nPolyTrees can also contain open paths. Open paths will always be represented by top level PolyNodes. Two functions are provided to quickly separate out\nopen and closed paths from a polytree - openPathsFromPolyTree and closedPathsFromPolyTree.\n\n![polytree](https://user-images.githubusercontent.com/6306796/28290312-41613a88-6b46-11e7-8098-e6f1585af71f.png)\n\n###### Properties\n\n* **get total(): number**\n\n    Returns the total number of PolyNodes (polygons) contained within the PolyTree. This value is not to be confused with childs.length which returns the\n    number of immediate children only (Childs) contained by PolyTree.\n\n* **getFirst(): [PolyNode](./PolyNode.md) | undefined**\n\n    This method returns the first outer polygon contour if any, otherwise undefined.\n    \n    This function is equivalent to calling childs[0].\n\n**Plus all properties from [PolyNode](./PolyNode.md)**\n"
  },
  {
    "path": "docs/faq/index.md",
    "content": "### FAQ\n\n#### Why does Clipper use integer coordinates, not floats?\n\nThis has been done to preserve numerical robustness. Early versions of the library did use floating point coordinates, but it became apparent that floating point imprecision was always going to cause occasional errors.\n\n#### How do I use floating point coordinates with Clipper?\n\nIt's a simple task to multiply your floating point coordinates by a scaling factor (that's typically a power of 10 depending on the desired precision). Then with the solution paths, divide the returned coordinates by this same scaling factor. Clipper accepts integer coordinates as large as ±9007199254740991 (Number.MAX_SAFE_INTEGER), so it can accommodate very large scaling.\n\n#### Does Clipper handle polygons with holes?\n\n'Holes' are defined by the specified polygon filling rule.\n\n#### Some polygons in the solution share a common edge. Is this a bug?\n\nNo, though this should happen rarely as of version 6.\n\n#### I have lots of polygons that I want to 'union'. Can I do this in one operation?\n\nYes. Just add all the polygons as subject polygons to the Clipper object. (You don't have to assign both subject and clip polygons.)\n\n#### The polygons produced by ClipperOffset have tiny artefacts? Could this be a bug?\n\nMake sure the input polygons don't self-intersect. Tiny self-intersections can sometimes be produced by previous clipping operations. These can be cleaned up using the CleanPolygon and CleanPolygons functions. Also, make sure the supplied polygons don't overlap. If they do, offset these separately. Finally, the precision of the input coordinates may be a problem. Because the Clipper Library only operates on integer coordinates, you may need to scale your coordinates (eg by a factor of 10) to improve precision.\n\n#### Is there an easy way to reverse polygon orientations?\n\nYes, see reversePaths.\n\n#### My drawings contain lots of beziers, ellipses and arcs. How can I perform clipping operations on these?\n\nYou'll have to convert them to 'flattened' paths. For an example of how this can be done (and even reconstructed back into beziers, arcs etc), see the CurvesDemo application included in this library.\n"
  },
  {
    "path": "docs/overview/index.md",
    "content": "### Overview\n\nThe Clipper Library performs clipping, and offsetting of both lines and polygons.\n\nA number of features set Clipper apart from other clipping libraries:\n\n- it accepts all types of polygons including self-intersecting ones\n- it supports multiple polygon filling rules (EvenOdd, NonZero, Positive, Negative)\n- it's very fast relative to other libraries\n- it's numerically robust\n- it also performs line and polygon offsetting\n- it's free to use in both freeware and commercial applications\n\n#### Terminology\n\n- **Clipping:** commonly refers to the process of cutting away from a set of 2-dimensional geometric shapes those parts that are outside a rectangular 'clipping' window. This can be achieved by intersecting subject paths (lines and polygons) with a clipping rectangle. In a more general sense, the clipping window need not be rectangular but can be any type of polygon, even multiple polygons. Also, while clipping typically refers to an intersection operation, in this documentation it will refer to any one of the four boolean operations (intersection, union, difference and exclusive-or).\n- **Path:** is an ordered sequence of vertices defining a single geometric contour that's either a line (an open path) or a polygon (a closed path).\n- **Line:** or polyline is an open path containing 2 or more vertices.\n- **Polygon:** commonly refers to a two-dimensional region bounded by an outer non-intersecting closed contour. That region may also contain a number of 'holes'. In this documentation however, polygon will simply refer to a closed path.\n- **Contour:** synonymous with path.\n- **Hole:** is a closed region within a polygon that's not part of the polygon. A 'hole polygon' is a closed path that forms the outer boundaries of a hole.\n- **Polygon Filling Rule:** the filling rule, together with a list of closed paths, defines those regions (bounded by paths) that are inside (ie regions 'brush filled' in a graphical display) and those which are outside (ie 'holes').\n\n#### Rounding\n\nBy using an integer type for polygon coordinates, the Clipper Library has been able to avoid problems of numerical robustness that can cause havoc with geometric computations. Problems associated with integer rounding and their possible solutions are discussed below.\n\n![image](https://user-images.githubusercontent.com/6306796/28289644-b46044f0-6b43-11e7-84f6-90c6b22a5bfe.png)\n\nIt's important to stress at the outset that rounding causes vertices to move fractions of a unit away from their 'true' positions. Nevertheless, the resulting imprecision can be very effectively managed by appropriate scaling.\n\nThe Clipper Library supports scaling to very high degrees of precision by accepting integer coordinate values in the range ±9007199254740991 (Number.MAX_SAFE_INTEGER).\n\nAnother complication of using a discrete numbers (as opposed to real numbers) is that very occasionally tiny self-intersection artefacts arise. In the unscaled image on the left (where one unit equals one pixel), the area of intersection of two polygons has been highlighted in bright green.\n\n![image](https://user-images.githubusercontent.com/6306796/28289657-c2ba74d0-6b43-11e7-83cf-47ab4b82de3a.png)\n\nA 30X 'close up' of the lower points of intersection of these same two polygons shows the presence of a tiny self-intersecting artefact. The three 'black dots' highlight the actual points of intersection (with their fractional coordinates displayed). The 'red dots' show where these points of intersection are located once rounding is applied. With a little care you can see that rounding reverses the orientation of these vertices and causes a tiny self-intersecting artefact.\n\nAlthough these tiny self-intersections are uncommon, if it's deemed necessary, they are best removed with CleanPolygons. (Setting Clipper's StrictlySimple property to true would also address this self-intersection but the tiny (sub-unit) polygon 'artefact' with incorrect orientation would still appear in the solution.)\n\n![image](https://user-images.githubusercontent.com/6306796/28289665-ca9deb64-6b43-11e7-823b-1bc02c3d5a58.png)\n\nIn this final example, the single polygon above also has a tiny self-intersection. However, the clipping algorithm sees this vertex (88,50) as simply 'touching' rather than intersecting the right edge of the polygon (though only by a fraction of a unit). Since this intersection won't normally be detected, the clipping solution (eg following a union operation) will still contain this tiny self-intersection. Setting Clipper's StrictlySimple property to true avoids this uncommon problem.\n"
  },
  {
    "path": "jest.config.js",
    "content": "module.exports = {\n  testEnvironment: \"node\",\n  transform: {\n    \".+\\\\.tsx?$\": \"ts-jest\",\n  },\n  transformIgnorePatterns: [\"/node_modules/\", \"/dist/\"],\n  testRegex: \"/__tests__/.*\\\\.spec\\\\.tsx?$\",\n};\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"js-angusj-clipper\",\n  \"version\": \"1.3.1\",\n  \"description\": \"Polygon and line clipping and offsetting library for Javascript / Typescript - a port of Angus Johnson's clipper to WebAssembly / Asm.JS\",\n  \"main\": \"universal/index.js\",\n  \"typings\": \"universal/index.d.ts\",\n  \"scripts\": {\n    \"_pull-docker-image\": \"docker pull emscripten/emsdk\",\n    \"travis\": \"yarn lint && yarn build && yarn test\",\n    \"test\": \"jest -t unit\",\n    \"benchmark\": \"jest -t benchmark\",\n    \"lint\": \"eslint src\",\n    \"build\": \"yarn build:web && yarn build:universal\",\n    \"build:universal\": \"rimraf ./dist && rimraf ./universal && yarn build:ts && yarn build:asm && shx mv dist universal\",\n    \"build:web\": \"rimraf ./dist && rimraf ./web && yarn build:ts && yarn build:asm --env web && shx mv dist web\",\n    \"build:ts\": \"tsc -p .\",\n    \"build:asm\": \"yarn _pull-docker-image && ts-node build/compile-asm\",\n    \"prettier-all\": \"prettier --write .\"\n  },\n  \"files\": [\n    \"universal\",\n    \"web\"\n  ],\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git+https://github.com/xaviergonz/js-angusj-clipper.git\"\n  },\n  \"keywords\": [\n    \"polygon\",\n    \"clipping\",\n    \"offseting\",\n    \"boolean\",\n    \"geometry\"\n  ],\n  \"author\": \"Javier Gonzalez Garces <xaviergonz@gmail.com>\",\n  \"license\": \"MIT\",\n  \"bugs\": {\n    \"url\": \"https://github.com/xaviergonz/js-angusj-clipper/issues\"\n  },\n  \"homepage\": \"https://github.com/xaviergonz/js-angusj-clipper#readme\",\n  \"devDependencies\": {\n    \"@types/command-line-args\": \"^5.2.0\",\n    \"@types/jest\": \"^29.5.0\",\n    \"@types/node\": \"^18.15.10\",\n    \"@types/shelljs\": \"^0.8.11\",\n    \"@typescript-eslint/eslint-plugin\": \"^5.57.0\",\n    \"@typescript-eslint/parser\": \"^5.57.0\",\n    \"command-line-args\": \"^5.2.1\",\n    \"eslint\": \"^8.36.0\",\n    \"eslint-config-prettier\": \"^8.8.0\",\n    \"eslint-plugin-import\": \"^2.27.5\",\n    \"eslint-plugin-prettier\": \"^4.2.1\",\n    \"jest\": \"^29.5.0\",\n    \"prettier\": \"^2.8.7\",\n    \"rimraf\": \"^4.4.1\",\n    \"shelljs\": \"^0.8.5\",\n    \"shx\": \"^0.3.4\",\n    \"ts-jest\": \"^29.0.5\",\n    \"ts-node\": \"^10.9.1\",\n    \"typescript\": \"^5.0.2\"\n  },\n  \"prettier\": {\n    \"printWidth\": 100,\n    \"arrowParens\": \"always\",\n    \"endOfLine\": \"lf\"\n  },\n  \"packageManager\": \"yarn@3.4.1\"\n}\n"
  },
  {
    "path": "src/Clipper.ts",
    "content": "/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { ClipType, PolyFillType, PolyType } from \"./enums\";\nimport { IntRect } from \"./IntRect\";\nimport { NativeClipper } from \"./native/NativeClipper\";\nimport { NativeClipperLibInstance } from \"./native/NativeClipperLibInstance\";\nimport {\n  clipTypeToNative,\n  polyFillTypeToNative,\n  polyTypeToNative,\n} from \"./native/nativeEnumConversion\";\nimport { nativePathsToPaths, pathsToNativePaths } from \"./native/PathsToNativePaths\";\nimport { pathToNativePath } from \"./native/PathToNativePath\";\nimport { ReadonlyPath } from \"./Path\";\nimport { Paths, ReadonlyPaths } from \"./Paths\";\nimport { PolyTree } from \"./PolyTree\";\nimport { nativeFinalizationRegistry } from \"./nativeFinalizationRegistry\";\n\nexport interface ClipperInitOptions {\n  /**\n   * When this property is set to true, polygons returned in the solution parameter of the execute() method will have orientations opposite to their normal\n   * orientations.\n   */\n  reverseSolution?: boolean;\n\n  /**\n   * When this property is set to true, polygons returned in the solution parameter of the execute() method will have orientations opposite to their normal\n   * orientations.\n   */\n  strictlySimple?: boolean;\n\n  /**\n   * By default, when three or more vertices are collinear in input polygons (subject or clip), the Clipper object removes the 'inner' vertices before\n   * clipping. When enabled the preserveCollinear property prevents this default behavior to allow these inner vertices to appear in the solution.\n   */\n  preserveCollinear?: boolean;\n}\n\nexport class Clipper {\n  private _clipper?: NativeClipper;\n\n  /**\n   * By default, when three or more vertices are collinear in input polygons (subject or clip), the Clipper object removes the 'inner' vertices before\n   * clipping. When enabled the preserveCollinear property prevents this default behavior to allow these inner vertices to appear in the solution.\n   *\n   * @return {boolean} - true if set, false otherwise\n   */\n  get preserveCollinear(): boolean {\n    return this._clipper!.preserveCollinear;\n  }\n\n  /**\n   * By default, when three or more vertices are collinear in input polygons (subject or clip), the Clipper object removes the 'inner' vertices before\n   * clipping. When enabled the preserveCollinear property prevents this default behavior to allow these inner vertices to appear in the solution.\n   *\n   * @param value - value to set\n   */\n  set preserveCollinear(value: boolean) {\n    this._clipper!.preserveCollinear = value;\n  }\n\n  /**\n   * When this property is set to true, polygons returned in the solution parameter of the execute() method will have orientations opposite to their normal\n   * orientations.\n   *\n   * @return {boolean} - true if set, false otherwise\n   */\n  get reverseSolution(): boolean {\n    return this._clipper!.reverseSolution;\n  }\n\n  /**\n   * When this property is set to true, polygons returned in the solution parameter of the execute() method will have orientations opposite to their normal\n   * orientations.\n   *\n   * @param value - value to set\n   */\n  set reverseSolution(value: boolean) {\n    this._clipper!.reverseSolution = value;\n  }\n\n  /**\n   * Terminology:\n   * - A simple polygon is one that does not self-intersect.\n   * - A weakly simple polygon is a simple polygon that contains 'touching' vertices, or 'touching' edges.\n   * - A strictly simple polygon is a simple polygon that does not contain 'touching' vertices, or 'touching' edges.\n   *\n   * Vertices 'touch' if they share the same coordinates (and are not adjacent). An edge touches another if one of its end vertices touches another edge\n   * excluding its adjacent edges, or if they are co-linear and overlapping (including adjacent edges).\n   *\n   * Polygons returned by clipping operations (see Clipper.execute()) should always be simple polygons. When the StrictlySimply property is enabled,\n   * polygons returned will be strictly simple, otherwise they may be weakly simple. It's computationally expensive ensuring polygons are strictly simple\n   * and so this property is disabled by default.\n   *\n   * Note: There's currently no guarantee that polygons will be strictly simple since 'simplifying' is still a work in progress.\n   *\n   * @return {boolean} - true if set, false otherwise\n   */\n  get strictlySimple(): boolean {\n    return this._clipper!.strictlySimple;\n  }\n\n  /**\n   * Terminology:\n   * - A simple polygon is one that does not self-intersect.\n   * - A weakly simple polygon is a simple polygon that contains 'touching' vertices, or 'touching' edges.\n   * - A strictly simple polygon is a simple polygon that does not contain 'touching' vertices, or 'touching' edges.\n   *\n   * Vertices 'touch' if they share the same coordinates (and are not adjacent). An edge touches another if one of its end vertices touches another edge\n   * excluding its adjacent edges, or if they are co-linear and overlapping (including adjacent edges).\n   *\n   * Polygons returned by clipping operations (see Clipper.execute()) should always be simple polygons. When the StrictlySimply property is enabled,\n   * polygons returned will be strictly simple, otherwise they may be weakly simple. It's computationally expensive ensuring polygons are strictly simple\n   * and so this property is disabled by default.\n   *\n   * Note: There's currently no guarantee that polygons will be strictly simple since 'simplifying' is still a work in progress.\n   *\n   * @param value - value to set\n   */\n  set strictlySimple(value: boolean) {\n    this._clipper!.strictlySimple = value;\n  }\n\n  /**\n   * The Clipper constructor creates an instance of the Clipper class. One or more InitOptions may be passed as a parameter to set the corresponding properties.\n   * (These properties can still be set or reset after construction.)\n   *\n   * @param _nativeLib\n   * @param initOptions\n   */\n  constructor(\n    private readonly _nativeLib: NativeClipperLibInstance,\n    initOptions: ClipperInitOptions = {}\n  ) {\n    const realInitOptions = {\n      reverseSolutions: false,\n      strictlySimple: false,\n      preserveCollinear: false,\n      ...initOptions,\n    };\n\n    let nativeInitOptions = 0;\n    if (realInitOptions.reverseSolutions) {\n      nativeInitOptions += _nativeLib.InitOptions.ReverseSolution.value;\n    }\n    if (realInitOptions.strictlySimple) {\n      nativeInitOptions += _nativeLib.InitOptions.StrictlySimple.value;\n    }\n    if (realInitOptions.preserveCollinear) {\n      nativeInitOptions += _nativeLib.InitOptions.PreserveCollinear.value;\n    }\n\n    this._clipper = new _nativeLib.Clipper(nativeInitOptions);\n    nativeFinalizationRegistry?.register(this, this._clipper, this);\n  }\n\n  /**\n   * Any number of subject and clip paths can be added to a clipping task, either individually via the addPath() method, or as groups via the addPaths()\n   * method, or even using both methods.\n   *\n   * 'Subject' paths may be either open (lines) or closed (polygons) or even a mixture of both, but 'clipping' paths must always be closed. Clipper allows\n   * polygons to clip both lines and other polygons, but doesn't allow lines to clip either lines or polygons.\n   *\n   * With closed paths, orientation should conform with the filling rule that will be passed via Clipper's execute method.\n   *\n   * Path Coordinate range:\n   * Path coordinates must be between ± 9007199254740991, otherwise a range error will be thrown when attempting to add the path to the Clipper object.\n   * If coordinates can be kept between ± 0x3FFFFFFF (± 1.0e+9), a modest increase in performance (approx. 15-20%) over the larger range can be achieved by\n   * avoiding large integer math.\n   *\n   * Return Value:\n   * The function will return false if the path is invalid for clipping. A path is invalid for clipping when:\n   * - it has less than 2 vertices\n   * - it has 2 vertices but is not an open path\n   * - the vertices are all co-linear and it is not an open path\n   *\n   * @param path - Path to add\n   * @param polyType - Polygon type\n   * @param closed - If the path is closed\n   */\n  addPath(path: ReadonlyPath, polyType: PolyType, closed: boolean): boolean {\n    const nativePath = pathToNativePath(this._nativeLib, path);\n    try {\n      return this._clipper!.addPath(\n        nativePath,\n        polyTypeToNative(this._nativeLib, polyType),\n        closed\n      );\n    } finally {\n      nativePath.delete();\n    }\n  }\n\n  /**\n   * Any number of subject and clip paths can be added to a clipping task, either individually via the addPath() method, or as groups via the addPaths()\n   * method, or even using both methods.\n   *\n   * 'Subject' paths may be either open (lines) or closed (polygons) or even a mixture of both, but 'clipping' paths must always be closed. Clipper allows\n   * polygons to clip both lines and other polygons, but doesn't allow lines to clip either lines or polygons.\n   *\n   * With closed paths, orientation should conform with the filling rule that will be passed via Clipper's execute method.\n   *\n   * Path Coordinate range:\n   * Path coordinates must be between ± 9007199254740991, otherwise a range error will be thrown when attempting to add the path to the Clipper object.\n   * If coordinates can be kept between ± 0x3FFFFFFF (± 1.0e+9), a modest increase in performance (approx. 15-20%) over the larger range can be achieved\n   * by avoiding large integer math.\n   *\n   * Return Value:\n   * The function will return false if the path is invalid for clipping. A path is invalid for clipping when:\n   * - it has less than 2 vertices\n   * - it has 2 vertices but is not an open path\n   * - the vertices are all co-linear and it is not an open path\n   *\n   * @param paths - Paths to add\n   * @param polyType - Paths polygon type\n   * @param closed - If all the inner paths are closed\n   */\n  addPaths(paths: ReadonlyPaths, polyType: PolyType, closed: boolean): boolean {\n    const nativePaths = pathsToNativePaths(this._nativeLib, paths);\n    try {\n      return this._clipper!.addPaths(\n        nativePaths,\n        polyTypeToNative(this._nativeLib, polyType),\n        closed\n      );\n    } finally {\n      nativePaths.delete();\n    }\n  }\n\n  /**\n   * The Clear method removes any existing subject and clip polygons allowing the Clipper object to be reused for clipping operations on different polygon sets.\n   */\n  clear(): void {\n    this._clipper!.clear();\n  }\n\n  /**\n   * This method returns the axis-aligned bounding rectangle of all polygons that have been added to the Clipper object.\n   *\n   * @return {{left: number, right: number, top: number, bottom: number}} - Bounds\n   */\n  getBounds(): IntRect {\n    const nativeBounds = this._clipper!.getBounds();\n    const rect = {\n      left: nativeBounds.left,\n      right: nativeBounds.right,\n      top: nativeBounds.top,\n      bottom: nativeBounds.bottom,\n    };\n    nativeBounds.delete();\n    return rect;\n  }\n\n  /**\n   * Once subject and clip paths have been assigned (via addPath and/or addPaths), execute can then perform the clipping operation (intersection, union,\n   * difference or XOR) specified by the clipType parameter.\n   *\n   * The solution parameter in this case is a Paths or PolyTree structure. The Paths structure is simpler than the PolyTree structure. Because of this it is\n   * quicker to populate and hence clipping performance is a little better (it's roughly 10% faster). However, the PolyTree data structure provides more\n   * information about the returned paths which may be important to users. Firstly, the PolyTree structure preserves nested parent-child polygon relationships\n   * (ie outer polygons owning/containing holes and holes owning/containing other outer polygons etc). Also, only the PolyTree structure can differentiate\n   * between open and closed paths since each PolyNode has an IsOpen property. (The Path structure has no member indicating whether it's open or closed.)\n   * For this reason, when open paths are passed to a Clipper object, the user must use a PolyTree object as the solution parameter, otherwise an exception\n   * will be raised.\n   *\n   * When a PolyTree object is used in a clipping operation on open paths, two ancilliary functions have been provided to quickly separate out open and\n   * closed paths from the solution - OpenPathsFromPolyTree and ClosedPathsFromPolyTree. PolyTreeToPaths is also available to convert path data to a Paths\n   * structure (irrespective of whether they're open or closed).\n   *\n   * There are several things to note about the solution paths returned:\n   * - they aren't in any specific order\n   * - they should never overlap or be self-intersecting (but see notes on rounding)\n   * - holes will be oriented opposite outer polygons\n   * - the solution fill type can be considered either EvenOdd or NonZero since it will comply with either filling rule\n   * - polygons may rarely share a common edge (though this is now very rare as of version 6)\n   *\n   * The subjFillType and clipFillType parameters define the polygon fill rule to be applied to the polygons (ie closed paths) in the subject and clip\n   * paths respectively. (It's usual though obviously not essential that both sets of polygons use the same fill rule.)\n   *\n   * execute can be called multiple times without reassigning subject and clip polygons (ie when different clipping operations are required on the\n   * same polygon sets).\n   *\n   * @param clipType - Clip operation type\n   * @param subjFillType - Fill type of the subject polygons\n   * @param clipFillType - Fill type of the clip polygons\n   * @param cleanDistance - Clean distance over the output, or undefined for no cleaning.\n   * @return {Paths | undefined} - The solution or undefined if there was an error\n   */\n  executeToPaths(\n    clipType: ClipType,\n    subjFillType: PolyFillType,\n    clipFillType: PolyFillType,\n    cleanDistance: number | undefined\n  ): Paths | undefined {\n    const outNativePaths = new this._nativeLib.Paths();\n    try {\n      const success = this._clipper!.executePathsWithFillTypes(\n        clipTypeToNative(this._nativeLib, clipType),\n        outNativePaths,\n        polyFillTypeToNative(this._nativeLib, subjFillType),\n        polyFillTypeToNative(this._nativeLib, clipFillType)\n      );\n      if (!success) {\n        return undefined;\n      } else {\n        if (cleanDistance !== undefined) {\n          this._nativeLib.cleanPolygons(outNativePaths, cleanDistance);\n        }\n        return nativePathsToPaths(this._nativeLib, outNativePaths, true); // frees outNativePaths\n      }\n    } finally {\n      if (!outNativePaths.isDeleted()) {\n        outNativePaths.delete();\n      }\n    }\n  }\n\n  /**\n   * Once subject and clip paths have been assigned (via addPath and/or addPaths), execute can then perform the clipping operation (intersection, union,\n   * difference or XOR) specified by the clipType parameter.\n   *\n   * The solution parameter can be either a Paths or PolyTree structure. The Paths structure is simpler than the PolyTree structure. Because of this it is\n   * quicker to populate and hence clipping performance is a little better (it's roughly 10% faster). However, the PolyTree data structure provides more\n   * information about the returned paths which may be important to users. Firstly, the PolyTree structure preserves nested parent-child polygon relationships\n   * (ie outer polygons owning/containing holes and holes owning/containing other outer polygons etc). Also, only the PolyTree structure can differentiate\n   * between open and closed paths since each PolyNode has an IsOpen property. (The Path structure has no member indicating whether it's open or closed.)\n   * For this reason, when open paths are passed to a Clipper object, the user must use a PolyTree object as the solution parameter, otherwise an exception\n   * will be raised.\n   *\n   * When a PolyTree object is used in a clipping operation on open paths, two ancilliary functions have been provided to quickly separate out open and\n   * closed paths from the solution - OpenPathsFromPolyTree and ClosedPathsFromPolyTree. PolyTreeToPaths is also available to convert path data to a Paths\n   * structure (irrespective of whether they're open or closed).\n   *\n   * There are several things to note about the solution paths returned:\n   * - they aren't in any specific order\n   * - they should never overlap or be self-intersecting (but see notes on rounding)\n   * - holes will be oriented opposite outer polygons\n   * - the solution fill type can be considered either EvenOdd or NonZero since it will comply with either filling rule\n   * - polygons may rarely share a common edge (though this is now very rare as of version 6)\n   *\n   * The subjFillType and clipFillType parameters define the polygon fill rule to be applied to the polygons (ie closed paths) in the subject and clip\n   * paths respectively. (It's usual though obviously not essential that both sets of polygons use the same fill rule.)\n   *\n   * execute can be called multiple times without reassigning subject and clip polygons (ie when different clipping operations are required on the\n   * same polygon sets).\n   *\n   * @param clipType - Clip operation type\n   * @param subjFillType - Fill type of the subject polygons\n   * @param clipFillType - Fill type of the clip polygons\n   * @return {PolyTree | undefined} - The solution or undefined if there was an error\n   */\n  executeToPolyTee(\n    clipType: ClipType,\n    subjFillType: PolyFillType,\n    clipFillType: PolyFillType\n  ): PolyTree | undefined {\n    const outNativePolyTree = new this._nativeLib.PolyTree();\n    try {\n      const success = this._clipper!.executePolyTreeWithFillTypes(\n        clipTypeToNative(this._nativeLib, clipType),\n        outNativePolyTree,\n        polyFillTypeToNative(this._nativeLib, subjFillType),\n        polyFillTypeToNative(this._nativeLib, clipFillType)\n      );\n      if (!success) {\n        return undefined;\n      } else {\n        return PolyTree.fromNativePolyTree(this._nativeLib, outNativePolyTree, true); // frees outNativePolyTree\n      }\n    } finally {\n      if (!outNativePolyTree.isDeleted()) {\n        outNativePolyTree.delete();\n      }\n    }\n  }\n\n  /**\n   * Checks if the object has been disposed.\n   *\n   * @return {boolean} - true if disposed, false if not\n   */\n  isDisposed(): boolean {\n    return this._clipper === undefined || this._clipper.isDeleted();\n  }\n\n  /**\n   * Since this library uses WASM/ASM.JS internally for speed this means that you must dispose objects after you are done using them or mem leaks will occur.\n   * (If the runtime supports FinalizationRegistry then this becomes non-mandatory, but still recommended).\n   */\n  dispose(): void {\n    if (this._clipper) {\n      this._clipper.delete();\n      nativeFinalizationRegistry?.unregister(this);\n      this._clipper = undefined;\n    }\n  }\n}\n"
  },
  {
    "path": "src/ClipperError.ts",
    "content": "export class ClipperError extends Error {\n  constructor(public message: string) {\n    super(message);\n    Object.setPrototypeOf(this, ClipperError.prototype);\n    this.name = this.constructor.name;\n    this.stack = new Error().stack;\n  }\n}\n"
  },
  {
    "path": "src/ClipperOffset.ts",
    "content": "/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { EndType, JoinType } from \"./enums\";\nimport { NativeClipperLibInstance } from \"./native/NativeClipperLibInstance\";\nimport { NativeClipperOffset } from \"./native/NativeClipperOffset\";\nimport { endTypeToNative, joinTypeToNative } from \"./native/nativeEnumConversion\";\nimport { nativePathsToPaths, pathsToNativePaths } from \"./native/PathsToNativePaths\";\nimport { pathToNativePath } from \"./native/PathToNativePath\";\nimport { ReadonlyPath } from \"./Path\";\nimport { Paths, ReadonlyPaths } from \"./Paths\";\nimport { PolyTree } from \"./PolyTree\";\nimport { nativeFinalizationRegistry } from \"./nativeFinalizationRegistry\";\n\n/**\n * The ClipperOffset class encapsulates the process of offsetting (inflating/deflating) both open and closed paths using a number of different join types\n * and end types.\n *\n * Preconditions for offsetting:\n * 1. The orientations of closed paths must be consistent such that outer polygons share the same orientation, and any holes have the opposite orientation\n * (ie non-zero filling). Open paths must be oriented with closed outer polygons.\n * 2. Polygons must not self-intersect.\n *\n * Limitations:\n * When offsetting, small artefacts may appear where polygons overlap. To avoid these artefacts, offset overlapping polygons separately.\n */\nexport class ClipperOffset {\n  private _clipperOffset?: NativeClipperOffset;\n\n  /**\n   * Firstly, this field/property is only relevant when JoinType = Round and/or EndType = Round.\n   *\n   * Since flattened paths can never perfectly represent arcs, this field/property specifies a maximum acceptable imprecision ('tolerance') when arcs are\n   * approximated in an offsetting operation. Smaller values will increase 'smoothness' up to a point though at a cost of performance and in creating more\n   * vertices to construct the arc.\n   *\n   * The default ArcTolerance is 0.25 units. This means that the maximum distance the flattened path will deviate from the 'true' arc will be no more\n   * than 0.25 units (before rounding).\n   *\n   * Reducing tolerances below 0.25 will not improve smoothness since vertex coordinates will still be rounded to integer values. The only way to achieve\n   * sub-integer precision is through coordinate scaling before and after offsetting (see example below).\n   *\n   * It's important to make ArcTolerance a sensible fraction of the offset delta (arc radius). Large tolerances relative to the offset delta will produce\n   * poor arc approximations but, just as importantly, very small tolerances will substantially slow offsetting performance while providing unnecessary\n   * degrees of precision. This is most likely to be an issue when offsetting polygons whose coordinates have been scaled to preserve floating point precision.\n   *\n   * Example: Imagine a set of polygons (defined in floating point coordinates) that is to be offset by 10 units using round joins, and the solution is to\n   * retain floating point precision up to at least 6 decimal places.\n   * To preserve this degree of floating point precision, and given that Clipper and ClipperOffset both operate on integer coordinates, the polygon\n   * coordinates will be scaled up by 108 (and rounded to integers) prior to offsetting. Both offset delta and ArcTolerance will also need to be scaled\n   * by this same factor. If ArcTolerance was left unscaled at the default 0.25 units, every arc in the solution would contain a fraction of 44 THOUSAND\n   * vertices while the final arc imprecision would be 0.25 × 10-8 units (ie once scaling was reversed). However, if 0.1 units was an acceptable imprecision\n   * in the final unscaled solution, then ArcTolerance should be set to 0.1 × scaling_factor (0.1 × 108 ). Now if scaling is applied equally to both\n   * ArcTolerance and to Delta Offset, then in this example the number of vertices (steps) defining each arc would be a fraction of 23.\n   *\n   * The formula for the number of steps in a full circular arc is ... Pi / acos(1 - arc_tolerance / abs(delta))\n   *\n   * @return {number} - Current arc tolerance\n   */\n  get arcTolerance(): number {\n    return this._clipperOffset!.arcTolerance;\n  }\n\n  /**\n   * Firstly, this field/property is only relevant when JoinType = Round and/or EndType = Round.\n   *\n   * Since flattened paths can never perfectly represent arcs, this field/property specifies a maximum acceptable imprecision ('tolerance') when arcs are\n   * approximated in an offsetting operation. Smaller values will increase 'smoothness' up to a point though at a cost of performance and in creating more\n   * vertices to construct the arc.\n   *\n   * The default ArcTolerance is 0.25 units. This means that the maximum distance the flattened path will deviate from the 'true' arc will be no more\n   * than 0.25 units (before rounding).\n   *\n   * Reducing tolerances below 0.25 will not improve smoothness since vertex coordinates will still be rounded to integer values. The only way to achieve\n   * sub-integer precision is through coordinate scaling before and after offsetting (see example below).\n   *\n   * It's important to make ArcTolerance a sensible fraction of the offset delta (arc radius). Large tolerances relative to the offset delta will produce\n   * poor arc approximations but, just as importantly, very small tolerances will substantially slow offsetting performance while providing unnecessary\n   * degrees of precision. This is most likely to be an issue when offsetting polygons whose coordinates have been scaled to preserve floating point precision.\n   *\n   * Example: Imagine a set of polygons (defined in floating point coordinates) that is to be offset by 10 units using round joins, and the solution is to\n   * retain floating point precision up to at least 6 decimal places.\n   * To preserve this degree of floating point precision, and given that Clipper and ClipperOffset both operate on integer coordinates, the polygon\n   * coordinates will be scaled up by 108 (and rounded to integers) prior to offsetting. Both offset delta and ArcTolerance will also need to be scaled\n   * by this same factor. If ArcTolerance was left unscaled at the default 0.25 units, every arc in the solution would contain a fraction of 44 THOUSAND\n   * vertices while the final arc imprecision would be 0.25 × 10-8 units (ie once scaling was reversed). However, if 0.1 units was an acceptable imprecision\n   * in the final unscaled solution, then ArcTolerance should be set to 0.1 × scaling_factor (0.1 × 108 ). Now if scaling is applied equally to both\n   * ArcTolerance and to Delta Offset, then in this example the number of vertices (steps) defining each arc would be a fraction of 23.\n   *\n   * The formula for the number of steps in a full circular arc is ... Pi / acos(1 - arc_tolerance / abs(delta))\n   *\n   * @param value - Arc tolerance to set.\n   */\n  set arcTolerance(value: number) {\n    this._clipperOffset!.arcTolerance = value;\n  }\n\n  /**\n   * This property sets the maximum distance in multiples of delta that vertices can be offset from their original positions before squaring is applied.\n   * (Squaring truncates a miter by 'cutting it off' at 1 × delta distance from the original vertex.)\n   *\n   * The default value for MiterLimit is 2 (ie twice delta). This is also the smallest MiterLimit that's allowed. If mitering was unrestricted (ie without\n   * any squaring), then offsets at very acute angles would generate unacceptably long 'spikes'.\n   *\n   * @return {number} - Current miter limit\n   */\n  get miterLimit(): number {\n    return this._clipperOffset!.miterLimit;\n  }\n\n  /**\n   * Sets the current miter limit (see getter docs for more info).\n   *\n   * @param value - Mit limit to set.\n   */\n  set miterLimit(value: number) {\n    this._clipperOffset!.miterLimit = value;\n  }\n\n  /**\n   * The ClipperOffset constructor takes 2 optional parameters: MiterLimit and ArcTolerance. The two parameters corresponds to properties of the same name.\n   * MiterLimit is only relevant when JoinType is Miter, and ArcTolerance is only relevant when JoinType is Round or when EndType is OpenRound.\n   *\n   * @param _nativeLib - Native clipper lib instance to use\n   * @param miterLimit - Miter limit\n   * @param arcTolerance - ArcTolerance (round precision)\n   */\n  constructor(\n    private readonly _nativeLib: NativeClipperLibInstance,\n    miterLimit = 2,\n    arcTolerance = 0.25\n  ) {\n    this._clipperOffset = new _nativeLib.ClipperOffset(miterLimit, arcTolerance);\n    nativeFinalizationRegistry?.register(this, this._clipperOffset, this);\n  }\n\n  /**\n   * Adds a Path to a ClipperOffset object in preparation for offsetting.\n   *\n   * Any number of paths can be added, and each has its own JoinType and EndType. All 'outer' Paths must have the same orientation, and any 'hole' paths must\n   * have reverse orientation. Closed paths must have at least 3 vertices. Open paths may have as few as one vertex. Open paths can only be offset\n   * with positive deltas.\n   *\n   * @param path - Path to add\n   * @param joinType - Join type\n   * @param endType - End type\n   */\n  addPath(path: ReadonlyPath, joinType: JoinType, endType: EndType): void {\n    const nativePath = pathToNativePath(this._nativeLib, path);\n    try {\n      this._clipperOffset!.addPath(\n        nativePath,\n        joinTypeToNative(this._nativeLib, joinType),\n        endTypeToNative(this._nativeLib, endType)\n      );\n    } finally {\n      nativePath.delete();\n    }\n  }\n\n  /**\n   * Adds Paths to a ClipperOffset object in preparation for offsetting.\n   *\n   * Any number of paths can be added, and each path has its own JoinType and EndType. All 'outer' Paths must have the same orientation, and any 'hole'\n   * paths must have reverse orientation. Closed paths must have at least 3 vertices. Open paths may have as few as one vertex. Open paths can only be\n   * offset with positive deltas.\n   *\n   * @param paths - Paths to add\n   * @param joinType - Join type\n   * @param endType - End type\n   */\n  addPaths(paths: ReadonlyPaths, joinType: JoinType, endType: EndType): void {\n    const nativePaths = pathsToNativePaths(this._nativeLib, paths);\n    try {\n      this._clipperOffset!.addPaths(\n        nativePaths,\n        joinTypeToNative(this._nativeLib, joinType),\n        endTypeToNative(this._nativeLib, endType)\n      );\n    } finally {\n      nativePaths.delete();\n    }\n  }\n\n  /**\n   * Negative delta values shrink polygons and positive delta expand them.\n   *\n   * This method can be called multiple times, offsetting the same paths by different amounts (ie using different deltas).\n   *\n   * @param delta - Delta\n   * @param cleanDistance - Clean distance over the output, or undefined for no cleaning.\n   * @return {Paths} - Solution paths\n   */\n  executeToPaths(delta: number, cleanDistance: number | undefined): Paths {\n    const outNativePaths = new this._nativeLib.Paths();\n    try {\n      this._clipperOffset!.executePaths(outNativePaths, delta);\n      if (cleanDistance !== undefined) {\n        this._nativeLib.cleanPolygons(outNativePaths, cleanDistance);\n      }\n      return nativePathsToPaths(this._nativeLib, outNativePaths, true); // frees outNativePaths\n    } finally {\n      if (!outNativePaths.isDeleted()) {\n        outNativePaths.delete();\n      }\n    }\n  }\n\n  /**\n   * This method takes two parameters. The first is the structure that receives the result of the offset operation (a PolyTree structure). The second parameter\n   * is the amount to which the supplied paths will be offset. Negative delta values shrink polygons and positive delta expand them.\n   *\n   * This method can be called multiple times, offsetting the same paths by different amounts (ie using different deltas).\n   *\n   * @param delta - Delta\n   * @return {Paths} - Solution paths\n   */\n  executeToPolyTree(delta: number): PolyTree {\n    const outNativePolyTree = new this._nativeLib.PolyTree();\n    try {\n      this._clipperOffset!.executePolyTree(outNativePolyTree, delta);\n      return PolyTree.fromNativePolyTree(this._nativeLib, outNativePolyTree, true); // frees outNativePolyTree\n    } finally {\n      if (!outNativePolyTree.isDeleted()) {\n        outNativePolyTree.delete();\n      }\n    }\n  }\n\n  /**\n   * This method clears all paths from the ClipperOffset object, allowing new paths to be assigned.\n   */\n  clear(): void {\n    this._clipperOffset!.clear();\n  }\n\n  /**\n   * Checks if the object has been disposed.\n   *\n   * @return {boolean} - true if disposed, false if not\n   */\n  isDisposed(): boolean {\n    return this._clipperOffset === undefined || this._clipperOffset.isDeleted();\n  }\n\n  /**\n   * Since this library uses WASM/ASM.JS internally for speed this means that you must dispose objects after you are done using them or mem leaks will occur.\n   * (If the runtime supports FinalizationRegistry then this becomes non-mandatory, but still recommended).\n   */\n  dispose(): void {\n    if (this._clipperOffset) {\n      this._clipperOffset.delete();\n      nativeFinalizationRegistry?.unregister(this);\n      this._clipperOffset = undefined;\n    }\n  }\n}\n"
  },
  {
    "path": "src/IntPoint.ts",
    "content": "export interface IntPoint {\n  x: number;\n  y: number;\n}\n"
  },
  {
    "path": "src/IntRect.ts",
    "content": "export interface IntRect {\n  left: number;\n  top: number;\n  right: number;\n  bottom: number;\n}\n"
  },
  {
    "path": "src/Path.ts",
    "content": "import { IntPoint } from \"./IntPoint\";\n\nexport type Path = IntPoint[];\nexport type ReadonlyPath = ReadonlyArray<Readonly<IntPoint>>;\n"
  },
  {
    "path": "src/Paths.ts",
    "content": "import { Path, ReadonlyPath } from \"./Path\";\n\nexport type Paths = Path[];\nexport type ReadonlyPaths = ReadonlyArray<ReadonlyPath>;\n"
  },
  {
    "path": "src/PolyNode.ts",
    "content": "import { NativeClipperLibInstance } from \"./native/NativeClipperLibInstance\";\nimport { NativePolyNode } from \"./native/NativePolyNode\";\nimport { nativePathToPath } from \"./native/PathToNativePath\";\nimport { ReadonlyPath } from \"./Path\";\n\n/**\n * PolyNodes are encapsulated within a PolyTree container, and together provide a data structure representing the parent-child relationships of polygon\n * contours returned by clipping/ofsetting methods.\n *\n * A PolyNode object represents a single polygon. It's isHole property indicates whether it's an outer or a hole. PolyNodes may own any number of PolyNode\n * children (childs), where children of outer polygons are holes, and children of holes are (nested) outer polygons.\n */\nexport class PolyNode {\n  protected _parent?: PolyNode;\n\n  /**\n   * Returns the parent PolyNode.\n   *\n   * The PolyTree object (which is also a PolyNode) does not have a parent and will return undefined.\n   */\n  get parent(): PolyNode | undefined {\n    return this._parent;\n  }\n\n  protected _childs: PolyNode[] = [];\n  /**\n   * A read-only list of PolyNode.\n   * Outer PolyNode childs contain hole PolyNodes, and hole PolyNode childs contain nested outer PolyNodes.\n   */\n  get childs(): PolyNode[] {\n    return this._childs;\n  }\n\n  protected _contour: ReadonlyPath = [];\n  /**\n   * Returns a path list which contains any number of vertices.\n   */\n  get contour(): ReadonlyPath {\n    return this._contour;\n  }\n\n  protected _isOpen = false;\n  /**\n   * Returns true when the PolyNode's Contour results from a clipping operation on an open contour (path). Only top-level PolyNodes can contain open contours.\n   */\n  get isOpen(): boolean {\n    return this._isOpen;\n  }\n\n  protected _index = 0;\n  /**\n   * Index in the parent's child list, or 0 if no parent.\n   */\n  get index(): number {\n    return this._index;\n  }\n\n  protected _isHole?: boolean;\n  /**\n   * Returns true when the PolyNode's polygon (Contour) is a hole.\n   *\n   * Children of outer polygons are always holes, and children of holes are always (nested) outer polygons.\n   * The isHole property of a PolyTree object is undefined but its children are always top-level outer polygons.\n   *\n   * @return {boolean}\n   */\n  get isHole(): boolean {\n    if (this._isHole === undefined) {\n      let result = true;\n      let node: PolyNode | undefined = this._parent;\n      while (node !== undefined) {\n        result = !result;\n        node = node._parent;\n      }\n      this._isHole = result;\n    }\n\n    return this._isHole;\n  }\n\n  /**\n   * The returned PolyNode will be the first child if any, otherwise the next sibling, otherwise the next sibling of the Parent etc.\n   *\n   * A PolyTree can be traversed very easily by calling GetFirst() followed by GetNext() in a loop until the returned object is undefined.\n   *\n   * @return {PolyNode | undefined}\n   */\n  getNext(): PolyNode | undefined {\n    if (this._childs.length > 0) {\n      return this._childs[0];\n    } else {\n      return this.getNextSiblingUp();\n    }\n  }\n\n  protected getNextSiblingUp(): PolyNode | undefined {\n    if (this._parent === undefined) {\n      return undefined;\n    } else if (this._index === this._parent._childs.length - 1) {\n      //noinspection TailRecursionJS\n      return this._parent.getNextSiblingUp();\n    } else {\n      return this._parent._childs[this._index + 1];\n    }\n  }\n\n  protected static fillFromNativePolyNode(\n    pn: PolyNode,\n    nativeLib: NativeClipperLibInstance,\n    nativePolyNode: NativePolyNode,\n    parent: PolyNode | undefined,\n    childIndex: number,\n    freeNativePolyNode: boolean\n  ): void {\n    pn._parent = parent;\n\n    const childs = nativePolyNode.childs;\n    const max = childs.size();\n    pn._childs.length = max;\n\n    for (let i = 0; i < max; i++) {\n      const newChild = PolyNode.fromNativePolyNode(\n        nativeLib,\n        childs.get(i),\n        pn,\n        i,\n        freeNativePolyNode\n      );\n      pn._childs[i] = newChild;\n    }\n\n    // do we need to clear the object ourselves? for now let's assume so (seems to work)\n    pn._contour = nativePathToPath(nativeLib, nativePolyNode.contour, true);\n    pn._isOpen = nativePolyNode.isOpen();\n    pn._index = childIndex;\n\n    if (freeNativePolyNode) {\n      nativePolyNode.delete();\n    }\n  }\n\n  protected static fromNativePolyNode(\n    nativeLib: NativeClipperLibInstance,\n    nativePolyNode: NativePolyNode,\n    parent: PolyNode | undefined,\n    childIndex: number,\n    freeNativePolyNode: boolean\n  ): PolyNode {\n    const pn = new PolyNode();\n    PolyNode.fillFromNativePolyNode(\n      pn,\n      nativeLib,\n      nativePolyNode,\n      parent,\n      childIndex,\n      freeNativePolyNode\n    );\n    return pn;\n  }\n}\n"
  },
  {
    "path": "src/PolyTree.ts",
    "content": "import { NativeClipperLibInstance } from \"./native/NativeClipperLibInstance\";\nimport { NativePolyTree } from \"./native/NativePolyTree\";\nimport { PolyNode } from \"./PolyNode\";\n\n/**\n * PolyTree is intended as a read-only data structure that should only be used to receive solutions from clipping and offsetting operations. It's an\n * alternative to the Paths data structure which also receives these solutions. PolyTree's two major advantages over the Paths structure are: it properly\n * represents the parent-child relationships of the returned polygons; it differentiates between open and closed paths. However, since PolyTree is a more\n * complex structure than the Paths structure, and since it's more computationally expensive to process (the Execute method being roughly 5-10% slower), it\n * should used only be when parent-child polygon relationships are needed, or when open paths are being 'clipped'.\n *\n * A PolyTree object is a container for any number of PolyNode children, with each contained PolyNode representing a single polygon contour (either an outer\n * or hole polygon). PolyTree itself is a specialized PolyNode whose immediate children represent the top-level outer polygons of the solution. (It's own\n * Contour property is always empty.) The contained top-level PolyNodes may contain their own PolyNode children representing hole polygons that may also\n * contain children representing nested outer polygons etc. Children of outers will always be holes, and children of holes will always be outers.\n *\n * PolyTrees can also contain open paths. Open paths will always be represented by top level PolyNodes. Two functions are provided to quickly separate out\n * open and closed paths from a polytree - openPathsFromPolyTree and closedPathsFromPolyTree.\n */\nexport class PolyTree extends PolyNode {\n  protected _total = 0;\n\n  /**\n   * Returns the total number of PolyNodes (polygons) contained within the PolyTree. This value is not to be confused with childs.length which returns the\n   * number of immediate children only (Childs) contained by PolyTree.\n   */\n  get total(): number {\n    return this._total;\n  }\n\n  /**\n   * This method returns the first outer polygon contour if any, otherwise undefined.\n   *\n   * This function is equivalent to calling childs[0].\n   */\n  getFirst(): PolyNode | undefined {\n    if (this.childs.length > 0) {\n      return this.childs[0];\n    } else {\n      return undefined;\n    }\n  }\n\n  protected constructor() {\n    super();\n  }\n\n  /**\n   * Internal use.\n   * Constructs a PolyTree from a native PolyTree.\n   */\n  static fromNativePolyTree(\n    nativeLib: NativeClipperLibInstance,\n    nativePolyTree: NativePolyTree,\n    freeNativePolyTree: boolean\n  ): PolyTree {\n    const pt = new PolyTree();\n    PolyNode.fillFromNativePolyNode(pt, nativeLib, nativePolyTree, undefined, 0, false); // do NOT free them, they are freed on destruction of the polytree\n\n    pt._total = nativePolyTree.total();\n\n    if (freeNativePolyTree) {\n      nativePolyTree.delete(); // this deletes all inner paths, contours etc\n    }\n\n    return pt;\n  }\n}\n"
  },
  {
    "path": "src/clipFunctions.ts",
    "content": "import { Clipper } from \"./Clipper\";\nimport { ClipperError } from \"./ClipperError\";\nimport { ClipType, PolyFillType, PolyType } from \"./enums\";\nimport { NativeClipperLibInstance } from \"./native/NativeClipperLibInstance\";\nimport { Path, ReadonlyPath } from \"./Path\";\nimport { Paths, ReadonlyPaths } from \"./Paths\";\nimport { PolyTree } from \"./PolyTree\";\n\nconst devMode =\n  typeof process !== \"undefined\" && process.env && process.env.NODE_ENV !== \"production\";\n\n/**\n * A single subject input (of multiple possible inputs) for the clipToPaths / clipToPolyTree operations\n *\n * 'Subject' paths may be either open (lines) or closed (polygons) or even a mixture of both.\n * With closed paths, orientation should conform with the filling rule that will be passed via Clipper's execute method.\n */\nexport interface SubjectInput {\n  /**\n   * Path / Paths data.\n   *\n   * Path Coordinate range:\n   * Path coordinates must be between ± 9007199254740991, otherwise a range error will be thrown when attempting to add the path to the Clipper object.\n   * If coordinates can be kept between ± 0x3FFFFFFF (± 1.0e+9), a modest increase in performance (approx. 15-20%) over the larger range can be achieved by\n   * avoiding large integer math.\n   *\n   * The function operation will throw an error if the path is invalid for clipping. A path is invalid for clipping when:\n   * - it has less than 2 vertices\n   * - it has 2 vertices but is not an open path\n   * - the vertices are all co-linear and it is not an open path\n   */\n  data: ReadonlyPath | ReadonlyPaths;\n\n  /**\n   * If the path/paths is closed or not.\n   */\n  closed: boolean;\n}\n\n/**\n * A single clip input (of multiple possible inputs) for the clipToPaths / clipToPolyTree operations.\n *\n * Clipping paths must always be closed. Clipper allows polygons to clip both lines and other polygons, but doesn't allow lines to clip either lines or polygons.\n * With closed paths, orientation should conform with the filling rule that will be passed via Clipper's execute method.\n */\nexport interface ClipInput {\n  /**\n   * Path / Paths data.\n   *\n   * Path Coordinate range:\n   * Path coordinates must be between ± 9007199254740991, otherwise a range error will be thrown when attempting to add the path to the Clipper object.\n   * If coordinates can be kept between ± 0x3FFFFFFF (± 1.0e+9), a modest increase in performance (approx. 15-20%) over the larger range can be achieved by\n   * avoiding large integer math.\n   *\n   * The function operation will throw an error if the path is invalid for clipping. A path is invalid for clipping when:\n   * - it has less than 2 vertices\n   * - it has 2 vertices but is not an open path\n   * - the vertices are all co-linear and it is not an open path\n   */\n  data: ReadonlyPath | ReadonlyPaths;\n}\n\n/**\n * Params for the clipToPaths / clipToPolyTree operations.\n *\n * Any number of subject and clip paths can be added to a clipping task.\n *\n * Boolean (clipping) operations are mostly applied to two sets of Polygons, represented in this library as subject and clip polygons. Whenever Polygons\n * are added to the Clipper object, they must be assigned to either subject or clip polygons.\n *\n * UNION operations can be performed on one set or both sets of polygons, but all other boolean operations require both sets of polygons to derive\n * meaningful solutions.\n */\nexport interface ClipParams {\n  /**\n   * Clipping operation type (Intersection, Union, Difference or Xor).\n   */\n  clipType: ClipType;\n\n  /**\n   * Winding (fill) rule for subject polygons.\n   */\n  subjectFillType: PolyFillType;\n\n  /**\n   * Subject inputs.\n   */\n  subjectInputs: SubjectInput[];\n\n  /**\n   * Winding (fill) rule for clipping polygons. If missing it will use the same one as subjectFillType.\n   */\n  clipFillType?: PolyFillType;\n\n  /**\n   * Clipping inputs. Not required for union operations, required for others.\n   */\n  clipInputs?: ClipInput[];\n\n  /**\n   * When this property is set to true, polygons returned in the solution parameter of the clip method will have orientations opposite to their normal\n   * orientations.\n   */\n  reverseSolution?: boolean;\n\n  /**\n   * Terminology:\n   * - A simple polygon is one that does not self-intersect.\n   * - A weakly simple polygon is a simple polygon that contains 'touching' vertices, or 'touching' edges.\n   * - A strictly simple polygon is a simple polygon that does not contain 'touching' vertices, or 'touching' edges.\n   *\n   * Vertices 'touch' if they share the same coordinates (and are not adjacent). An edge touches another if one of its end vertices touches another edge\n   * excluding its adjacent edges, or if they are co-linear and overlapping (including adjacent edges).\n   *\n   * Polygons returned by clipping operations (see Clipper.execute()) should always be simple polygons. When the StrictlySimply property is enabled,\n   * polygons returned will be strictly simple, otherwise they may be weakly simple. It's computationally expensive ensuring polygons are strictly simple\n   * and so this property is disabled by default.\n   *\n   * Note: There's currently no guarantee that polygons will be strictly simple since 'simplifying' is still a work in progress.\n   */\n  strictlySimple?: boolean;\n\n  /**\n   * By default, when three or more vertices are collinear in input polygons (subject or clip), the Clipper object removes the 'inner' vertices before\n   * clipping. When enabled the preserveCollinear property prevents this default behavior to allow these inner vertices to appear in the solution.\n   */\n  preserveCollinear?: boolean;\n\n  /**\n   * If this is not undefined then cleaning of the result polygon will be performed.\n   * This operation is only available when the output format is not a poly tree.\n   */\n  cleanDistance?: number;\n}\n\nconst addPathOrPaths = (\n  clipper: Clipper,\n  inputDatas: (SubjectInput | ClipInput)[] | undefined,\n  polyType: PolyType\n) => {\n  if (inputDatas === undefined) {\n    return;\n  }\n\n  // add each input\n  for (let i = 0, maxi = inputDatas.length; i < maxi; i++) {\n    const inputData = inputDatas[i];\n\n    // add the path/paths\n    const pathOrPaths = inputData.data;\n    if (!pathOrPaths || pathOrPaths.length <= 0) {\n      continue;\n    }\n\n    const closed =\n      (inputData as SubjectInput).closed === undefined ? true : (inputData as SubjectInput).closed;\n\n    // is it a path or paths?\n    if (Array.isArray(pathOrPaths[0])) {\n      // paths\n      if (!clipper.addPaths(pathOrPaths as Paths, polyType, closed)) {\n        throw new ClipperError(\"invalid paths\");\n      }\n    } else {\n      // path\n      if (!clipper.addPath(pathOrPaths as Path, polyType, closed)) {\n        throw new ClipperError(\"invalid path\");\n      }\n    }\n  }\n};\n\nexport function clipToPathsOrPolyTree(\n  polyTreeMode: boolean,\n  nativeClipperLib: NativeClipperLibInstance,\n  params: ClipParams\n): Paths | PolyTree {\n  if (devMode) {\n    if (!polyTreeMode && params.subjectInputs && params.subjectInputs.some((si) => !si.closed)) {\n      throw new Error(\"clip to a PolyTree (not to a Path) when using open paths\");\n    }\n  }\n\n  const clipper = new Clipper(nativeClipperLib, params);\n\n  //noinspection UnusedCatchParameterJS\n  try {\n    addPathOrPaths(clipper, params.subjectInputs, PolyType.Subject);\n    addPathOrPaths(clipper, params.clipInputs, PolyType.Clip);\n    let result;\n    const clipFillType =\n      params.clipFillType === undefined ? params.subjectFillType : params.clipFillType;\n    if (!polyTreeMode) {\n      result = clipper.executeToPaths(\n        params.clipType,\n        params.subjectFillType,\n        clipFillType,\n        params.cleanDistance\n      );\n    } else {\n      if (params.cleanDistance !== undefined) {\n        throw new ClipperError(\"cleaning is not available for poly tree results\");\n      }\n      result = clipper.executeToPolyTee(params.clipType, params.subjectFillType, clipFillType);\n    }\n    if (result === undefined) {\n      throw new ClipperError(\"error while performing clipping task\");\n    }\n    return result;\n  } finally {\n    clipper.dispose();\n  }\n}\n\nexport function clipToPaths(nativeClipperLib: NativeClipperLibInstance, params: ClipParams): Paths {\n  return clipToPathsOrPolyTree(false, nativeClipperLib, params) as Paths;\n}\n\nexport function clipToPolyTree(\n  nativeClipperLib: NativeClipperLibInstance,\n  params: ClipParams\n): PolyTree {\n  return clipToPathsOrPolyTree(true, nativeClipperLib, params) as PolyTree;\n}\n"
  },
  {
    "path": "src/constants.ts",
    "content": "/**\n * Max coordinate value (both positive and negative)\n */\nexport const hiRange = 9007199254740991;\n"
  },
  {
    "path": "src/enums.ts",
    "content": "/**\n * By far the most widely used winding rules for polygon filling are EvenOdd & NonZero (GDI, GDI+, XLib, OpenGL, Cairo, AGG, Quartz, SVG, Gr32)\n * Others rules include Positive, Negative and ABS_GTR_EQ_TWO (only in OpenGL)\n * see http://glprogramming.com/red/chapter11.html\n */\nexport enum PolyFillType {\n  EvenOdd = \"evenOdd\",\n  NonZero = \"nonZero\",\n  Positive = \"positive\",\n  Negative = \"negative\",\n}\n\nexport enum ClipType {\n  Intersection = \"intersection\",\n  Union = \"union\",\n  Difference = \"difference\",\n  Xor = \"xor\",\n}\nexport enum PolyType {\n  Subject = \"subject\",\n  Clip = \"clip\",\n}\n\nexport enum JoinType {\n  Square = \"square\",\n  Round = \"round\",\n  Miter = \"miter\",\n}\nexport enum EndType {\n  ClosedPolygon = \"closedPolygon\",\n  ClosedLine = \"closedLine\",\n  OpenButt = \"openButt\",\n  OpenSquare = \"openSquare\",\n  OpenRound = \"openRound\",\n}\n\nexport enum PointInPolygonResult {\n  Outside = 0,\n  Inside = 1,\n  OnBoundary = -1,\n}\n\n/**\n * Format to use when loading the native library instance.\n */\nexport enum NativeClipperLibRequestedFormat {\n  /**\n   * Try to load the WebAssembly version, if it fails try to load the Asm.js version.\n   */\n  WasmWithAsmJsFallback = \"wasmWithAsmJsFallback\",\n  /**\n   * Load the WebAssembly version exclusively.\n   */\n  WasmOnly = \"wasmOnly\",\n  /**\n   * Load the Asm.js version exclusively.\n   */\n  AsmJsOnly = \"asmJsOnly\",\n}\n\n/**\n * The format the native library being used is in.\n */\nexport enum NativeClipperLibLoadedFormat {\n  /**\n   * WebAssembly.\n   */\n  Wasm = \"wasm\",\n  /**\n   * Asm.js.\n   */\n  AsmJs = \"asmJs\",\n}\n"
  },
  {
    "path": "src/functions.ts",
    "content": "import { PointInPolygonResult, PolyFillType } from \"./enums\";\nimport { IntPoint } from \"./IntPoint\";\nimport { NativeClipperLibInstance } from \"./native/NativeClipperLibInstance\";\nimport { NativeDeletable } from \"./native/NativeDeletable\";\nimport { polyFillTypeToNative } from \"./native/nativeEnumConversion\";\nimport { nativePathsToPaths, pathsToNativePaths } from \"./native/PathsToNativePaths\";\nimport { nativePathToPath, pathToNativePath } from \"./native/PathToNativePath\";\nimport { Path, ReadonlyPath } from \"./Path\";\nimport { Paths, ReadonlyPaths } from \"./Paths\";\nimport { PolyNode } from \"./PolyNode\";\nimport { PolyTree } from \"./PolyTree\";\n\nfunction tryDelete(...objs: NativeDeletable[]) {\n  for (const obj of objs) {\n    if (!obj.isDeleted()) {\n      obj.delete();\n    }\n  }\n}\n\nexport function area(path: ReadonlyPath): number {\n  // we use JS since copying structures is slower than actually doing it\n  const cnt = path.length;\n  if (cnt < 3) {\n    return 0;\n  }\n  let a = 0;\n  for (let i = 0, j = cnt - 1; i < cnt; ++i) {\n    a += (path[j].x + path[i].x) * (path[j].y - path[i].y);\n    j = i;\n  }\n  return -a * 0.5;\n}\n\nexport function cleanPolygon(\n  nativeLib: NativeClipperLibInstance,\n  path: ReadonlyPath,\n  distance = 1.1415\n): Path {\n  const nativePath = pathToNativePath(nativeLib, path);\n  try {\n    nativeLib.cleanPolygon(nativePath, distance);\n    return nativePathToPath(nativeLib, nativePath, true); // frees nativePath\n  } finally {\n    tryDelete(nativePath);\n  }\n}\n\nexport function cleanPolygons(\n  nativeLib: NativeClipperLibInstance,\n  paths: ReadonlyPaths,\n  distance = 1.1415\n): Paths {\n  const nativePaths = pathsToNativePaths(nativeLib, paths);\n  try {\n    nativeLib.cleanPolygons(nativePaths, distance);\n    return nativePathsToPaths(nativeLib, nativePaths, true); // frees nativePath\n  } finally {\n    tryDelete(nativePaths);\n  }\n}\n\nconst enum NodeType {\n  Any,\n  Open,\n  Closed,\n}\n\nfunction addPolyNodeToPaths(polynode: PolyNode, nt: NodeType, paths: ReadonlyPath[]): void {\n  let match = true;\n  switch (nt) {\n    case NodeType.Open:\n      return;\n    case NodeType.Closed:\n      match = !polynode.isOpen;\n      break;\n    default:\n      break;\n  }\n\n  if (polynode.contour.length > 0 && match) {\n    paths.push(polynode.contour);\n  }\n  for (let ii = 0, max = polynode.childs.length; ii < max; ii++) {\n    const pn = polynode.childs[ii];\n    addPolyNodeToPaths(pn, nt, paths);\n  }\n}\n\nexport function closedPathsFromPolyTree(polyTree: PolyTree): Paths {\n  // we do this in JS since copying path is more expensive than just doing it\n\n  const result: Paths = [];\n  // result.Capacity = polytree.Total;\n  addPolyNodeToPaths(polyTree, NodeType.Closed, result);\n  return result;\n}\n\nexport function minkowskiDiff(\n  nativeLib: NativeClipperLibInstance,\n  poly1: ReadonlyPath,\n  poly2: ReadonlyPath\n): Paths {\n  const nativePath1 = pathToNativePath(nativeLib, poly1);\n  const nativePath2 = pathToNativePath(nativeLib, poly2);\n  const outNativePaths = new nativeLib.Paths();\n\n  try {\n    nativeLib.minkowskiDiff(nativePath1, nativePath2, outNativePaths);\n    tryDelete(nativePath1, nativePath2);\n    return nativePathsToPaths(nativeLib, outNativePaths, true); // frees outNativePaths\n  } finally {\n    tryDelete(nativePath1, nativePath2, outNativePaths);\n  }\n}\n\nexport function minkowskiSumPath(\n  nativeLib: NativeClipperLibInstance,\n  pattern: ReadonlyPath,\n  path: ReadonlyPath,\n  pathIsClosed: boolean\n): Paths {\n  const patternNativePath = pathToNativePath(nativeLib, pattern);\n  const nativePath = pathToNativePath(nativeLib, path);\n  const outNativePaths = new nativeLib.Paths();\n\n  try {\n    nativeLib.minkowskiSumPath(patternNativePath, nativePath, outNativePaths, pathIsClosed);\n    tryDelete(patternNativePath, nativePath);\n    return nativePathsToPaths(nativeLib, outNativePaths, true); // frees outNativePaths\n  } finally {\n    tryDelete(patternNativePath, nativePath, outNativePaths);\n  }\n}\n\nexport function minkowskiSumPaths(\n  nativeLib: NativeClipperLibInstance,\n  pattern: ReadonlyPath,\n  paths: ReadonlyPaths,\n  pathIsClosed: boolean\n): Paths {\n  // TODO: im not sure if for this method we can reuse the input/output path\n\n  const patternNativePath = pathToNativePath(nativeLib, pattern);\n  const nativePaths = pathsToNativePaths(nativeLib, paths);\n\n  try {\n    nativeLib.minkowskiSumPaths(patternNativePath, nativePaths, nativePaths, pathIsClosed);\n    tryDelete(patternNativePath);\n    return nativePathsToPaths(nativeLib, nativePaths, true); // frees nativePaths\n  } finally {\n    tryDelete(patternNativePath, nativePaths);\n  }\n}\n\nexport function openPathsFromPolyTree(polyTree: PolyTree): ReadonlyPath[] {\n  // we do this in JS since copying path is more expensive than just doing it\n\n  const result = [];\n  const len = polyTree.childs.length;\n  result.length = len;\n  let resultLength = 0;\n  for (let i = 0; i < len; i++) {\n    if (polyTree.childs[i].isOpen) {\n      result[resultLength++] = polyTree.childs[i].contour;\n    }\n  }\n  result.length = resultLength;\n  return result;\n}\n\nexport function orientation(path: ReadonlyPath): boolean {\n  return area(path) >= 0;\n}\n\nexport function pointInPolygon(\n  point: Readonly<IntPoint>,\n  path: ReadonlyPath\n): PointInPolygonResult {\n  // we do this in JS since copying path is more expensive than just doing it\n\n  // returns 0 if false, +1 if true, -1 if pt ON polygon boundary\n  // See \"The Point in Polygon Problem for Arbitrary Polygons\" by Hormann & Agathos\n  // http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.88.5498&rep=rep1&type=pdf\n  let result = 0;\n  const cnt = path.length;\n  if (cnt < 3) {\n    return 0;\n  }\n  let ip = path[0];\n  for (let i = 1; i <= cnt; ++i) {\n    const ipNext = i === cnt ? path[0] : path[i];\n    if (ipNext.y === point.y) {\n      if (ipNext.x === point.x || (ip.y === point.y && ipNext.x > point.x === ip.x < point.x)) {\n        return -1;\n      }\n    }\n    if (ip.y < point.y !== ipNext.y < point.y) {\n      if (ip.x >= point.x) {\n        if (ipNext.x > point.x) {\n          result = 1 - result;\n        } else {\n          const d =\n            (ip.x - point.x) * (ipNext.y - point.y) - (ipNext.x - point.x) * (ip.y - point.y);\n          if (d === 0) {\n            return -1;\n          } else if (d > 0 === ipNext.y > ip.y) {\n            result = 1 - result;\n          }\n        }\n      } else {\n        if (ipNext.x > point.x) {\n          const d =\n            (ip.x - point.x) * (ipNext.y - point.y) - (ipNext.x - point.x) * (ip.y - point.y);\n          if (d === 0) {\n            return -1;\n          } else if (d > 0 === ipNext.y > ip.y) {\n            result = 1 - result;\n          }\n        }\n      }\n    }\n    ip = ipNext;\n  }\n  return result;\n}\n\nexport function polyTreeToPaths(polyTree: PolyTree): Paths {\n  // we do this in JS since copying path is more expensive than just doing it\n\n  const result: Paths = [];\n  // result.Capacity = polytree.total;\n  addPolyNodeToPaths(polyTree, NodeType.Any, result);\n  return result;\n}\n\nexport function reversePath(path: Path): void {\n  // we use JS since copying structures is slower than actually doing it\n  path.reverse();\n}\n\nexport function reversePaths(paths: Paths): void {\n  // we use JS since copying structures is slower than actually doing it\n  for (let i = 0, max = paths.length; i < max; i++) {\n    reversePath(paths[i]);\n  }\n}\n\nexport function simplifyPolygon(\n  nativeLib: NativeClipperLibInstance,\n  path: ReadonlyPath,\n  fillType: PolyFillType = PolyFillType.EvenOdd\n): Paths {\n  const nativePath = pathToNativePath(nativeLib, path);\n  const outNativePaths = new nativeLib.Paths();\n  try {\n    nativeLib.simplifyPolygon(\n      nativePath,\n      outNativePaths,\n      polyFillTypeToNative(nativeLib, fillType)\n    );\n    tryDelete(nativePath);\n    return nativePathsToPaths(nativeLib, outNativePaths, true); // frees outNativePaths\n  } finally {\n    tryDelete(nativePath, outNativePaths);\n  }\n}\n\nexport function simplifyPolygons(\n  nativeLib: NativeClipperLibInstance,\n  paths: ReadonlyPaths,\n  fillType: PolyFillType = PolyFillType.EvenOdd\n): Paths {\n  const nativePaths = pathsToNativePaths(nativeLib, paths);\n  try {\n    nativeLib.simplifyPolygonsOverwrite(nativePaths, polyFillTypeToNative(nativeLib, fillType));\n    return nativePathsToPaths(nativeLib, nativePaths, true); // frees nativePaths\n  } finally {\n    tryDelete(nativePaths);\n  }\n}\n\nexport function scalePath(path: ReadonlyPath, scale: number): Path {\n  const len = path.length;\n\n  const sol: Path = [];\n  sol.length = path.length;\n\n  for (let i = 0; i < len; i++) {\n    const p = path[i];\n    sol[i] = {\n      x: Math.round(p.x * scale),\n      y: Math.round(p.y * scale),\n    };\n  }\n\n  return sol;\n}\n\n/**\n * Scales all inner paths by multiplying all its coordinates by a number and then rounding them.\n *\n * @param paths - Paths to scale\n * @param scale - Scale multiplier\n * @return {Paths} - The scaled paths\n */\nexport function scalePaths(paths: ReadonlyPaths, scale: number): Paths {\n  if (scale === 0) {\n    return [];\n  }\n\n  const len = paths.length;\n\n  const sol: Paths = [];\n  sol.length = len;\n\n  for (let i = 0; i < len; i++) {\n    sol[i] = scalePath(paths[i], scale);\n  }\n\n  return sol;\n}\n"
  },
  {
    "path": "src/index.ts",
    "content": "import { ClipInput, ClipParams, clipToPaths, clipToPolyTree, SubjectInput } from \"./clipFunctions\";\nimport { ClipperError } from \"./ClipperError\";\nimport { hiRange } from \"./constants\";\nimport {\n  ClipType,\n  EndType,\n  JoinType,\n  NativeClipperLibLoadedFormat,\n  NativeClipperLibRequestedFormat,\n  PointInPolygonResult,\n  PolyFillType,\n} from \"./enums\";\nimport * as functions from \"./functions\";\nimport { IntPoint } from \"./IntPoint\";\nimport { IntRect } from \"./IntRect\";\nimport { NativeClipperLibInstance } from \"./native/NativeClipperLibInstance\";\nimport { OffsetInput, OffsetParams, offsetToPaths, offsetToPolyTree } from \"./offsetFunctions\";\nimport { Path, ReadonlyPath } from \"./Path\";\nimport { Paths, ReadonlyPaths } from \"./Paths\";\nimport { PolyNode } from \"./PolyNode\";\nimport { PolyTree } from \"./PolyTree\";\n\n// export types\nexport {\n  ClipType,\n  EndType,\n  JoinType,\n  PolyFillType,\n  NativeClipperLibLoadedFormat,\n  NativeClipperLibRequestedFormat,\n  PointInPolygonResult,\n  PolyNode,\n  PolyTree,\n  IntPoint,\n  IntRect,\n  Path,\n  ReadonlyPath,\n  Paths,\n  ReadonlyPaths,\n  ClipInput,\n  ClipParams,\n  SubjectInput,\n  OffsetInput,\n  OffsetParams,\n  ClipperError,\n};\n\n/**\n * A wrapper for the Native Clipper Library instance with all the operations available.\n */\nexport class ClipperLibWrapper {\n  /**\n   * Max coordinate value (both positive and negative).\n   */\n  static readonly hiRange = hiRange;\n\n  /**\n   * Native library instance.\n   */\n  readonly instance: NativeClipperLibInstance;\n\n  /**\n   * Native library format.\n   */\n  readonly format: NativeClipperLibLoadedFormat;\n\n  /**\n   * Internal constructor. Use loadNativeClipperLibInstanceAsync instead.\n   *\n   * @param instance\n   * @param format\n   */\n  constructor(instance: NativeClipperLibInstance, format: NativeClipperLibLoadedFormat) {\n    this.format = format;\n    this.instance = instance;\n  }\n\n  /**\n   * Performs a polygon clipping (boolean) operation, returning the resulting Paths or throwing an error if failed.\n   *\n   * The solution parameter in this case is a Paths or PolyTree structure. The Paths structure is simpler than the PolyTree structure. Because of this it is\n   * quicker to populate and hence clipping performance is a little better (it's roughly 10% faster). However, the PolyTree data structure provides more\n   * information about the returned paths which may be important to users. Firstly, the PolyTree structure preserves nested parent-child polygon relationships\n   * (ie outer polygons owning/containing holes and holes owning/containing other outer polygons etc). Also, only the PolyTree structure can differentiate\n   * between open and closed paths since each PolyNode has an IsOpen property. (The Path structure has no member indicating whether it's open or closed.)\n   * For this reason, when open paths are passed to a Clipper object, the user must use a PolyTree object as the solution parameter, otherwise an exception\n   * will be raised.\n   *\n   * When a PolyTree object is used in a clipping operation on open paths, two ancilliary functions have been provided to quickly separate out open and\n   * closed paths from the solution - OpenPathsFromPolyTree and ClosedPathsFromPolyTree. PolyTreeToPaths is also available to convert path data to a Paths\n   * structure (irrespective of whether they're open or closed).\n   *\n   * There are several things to note about the solution paths returned:\n   * - they aren't in any specific order\n   * - they should never overlap or be self-intersecting (but see notes on rounding)\n   * - holes will be oriented opposite outer polygons\n   * - the solution fill type can be considered either EvenOdd or NonZero since it will comply with either filling rule\n   * - polygons may rarely share a common edge (though this is now very rare as of version 6)\n   *\n   * @param params - clipping operation data\n   * @return {Paths} - the resulting Paths.\n   */\n  clipToPaths(params: ClipParams): Paths {\n    return clipToPaths(this.instance, params);\n  }\n\n  /**\n   * Performs a polygon clipping (boolean) operation, returning the resulting PolyTree or throwing an error if failed.\n   *\n   * The solution parameter in this case is a Paths or PolyTree structure. The Paths structure is simpler than the PolyTree structure. Because of this it is\n   * quicker to populate and hence clipping performance is a little better (it's roughly 10% faster). However, the PolyTree data structure provides more\n   * information about the returned paths which may be important to users. Firstly, the PolyTree structure preserves nested parent-child polygon relationships\n   * (ie outer polygons owning/containing holes and holes owning/containing other outer polygons etc). Also, only the PolyTree structure can differentiate\n   * between open and closed paths since each PolyNode has an IsOpen property. (The Path structure has no member indicating whether it's open or closed.)\n   * For this reason, when open paths are passed to a Clipper object, the user must use a PolyTree object as the solution parameter, otherwise an exception\n   * will be raised.\n   *\n   * When a PolyTree object is used in a clipping operation on open paths, two ancilliary functions have been provided to quickly separate out open and\n   * closed paths from the solution - OpenPathsFromPolyTree and ClosedPathsFromPolyTree. PolyTreeToPaths is also available to convert path data to a Paths\n   * structure (irrespective of whether they're open or closed).\n   *\n   * There are several things to note about the solution paths returned:\n   * - they aren't in any specific order\n   * - they should never overlap or be self-intersecting (but see notes on rounding)\n   * - holes will be oriented opposite outer polygons\n   * - the solution fill type can be considered either EvenOdd or NonZero since it will comply with either filling rule\n   * - polygons may rarely share a common edge (though this is now very rare as of version 6)\n   *\n   * @param params - clipping operation data\n   * @return {PolyTree} - the resulting PolyTree.\n   */\n  clipToPolyTree(params: ClipParams): PolyTree {\n    return clipToPolyTree(this.instance, params);\n  }\n\n  /**\n   * Performs a polygon offset operation, returning the resulting Paths or undefined if failed.\n   *\n   * This method encapsulates the process of offsetting (inflating/deflating) both open and closed paths using a number of different join types\n   * and end types.\n   *\n   * Preconditions for offsetting:\n   * 1. The orientations of closed paths must be consistent such that outer polygons share the same orientation, and any holes have the opposite orientation\n   * (ie non-zero filling). Open paths must be oriented with closed outer polygons.\n   * 2. Polygons must not self-intersect.\n   *\n   * Limitations:\n   * When offsetting, small artefacts may appear where polygons overlap. To avoid these artefacts, offset overlapping polygons separately.\n   *\n   * @param params - offset operation params\n   * @return {Paths|undefined} - the resulting Paths or undefined if failed.\n   */\n  offsetToPaths(params: OffsetParams): Paths | undefined {\n    return offsetToPaths(this.instance, params);\n  }\n\n  /**\n   * Performs a polygon offset operation, returning the resulting PolyTree or undefined if failed.\n   *\n   * This method encapsulates the process of offsetting (inflating/deflating) both open and closed paths using a number of different join types\n   * and end types.\n   *\n   * Preconditions for offsetting:\n   * 1. The orientations of closed paths must be consistent such that outer polygons share the same orientation, and any holes have the opposite orientation\n   * (ie non-zero filling). Open paths must be oriented with closed outer polygons.\n   * 2. Polygons must not self-intersect.\n   *\n   * Limitations:\n   * When offsetting, small artefacts may appear where polygons overlap. To avoid these artefacts, offset overlapping polygons separately.\n   *\n   * @param params - offset operation params\n   * @return {PolyTree|undefined} - the resulting PolyTree or undefined if failed.\n   */\n  offsetToPolyTree(params: OffsetParams): PolyTree | undefined {\n    return offsetToPolyTree(this.instance, params);\n  }\n\n  //noinspection JSMethodCanBeStatic\n  /**\n   * This function returns the area of the supplied polygon. It's assumed that the path is closed and does not self-intersect. Depending on orientation,\n   * this value may be positive or negative. If Orientation is true, then the area will be positive and conversely, if Orientation is false, then the\n   * area will be negative.\n   *\n   * @param path - The path\n   * @return {number} - Area\n   */\n  area(path: ReadonlyPath): number {\n    return functions.area(path);\n  }\n\n  /**\n   * Removes vertices:\n   * - that join co-linear edges, or join edges that are almost co-linear (such that if the vertex was moved no more than the specified distance the edges\n   * would be co-linear)\n   * - that are within the specified distance of an adjacent vertex\n   * - that are within the specified distance of a semi-adjacent vertex together with their out-lying vertices\n   *\n   * Vertices are semi-adjacent when they are separated by a single (out-lying) vertex.\n   *\n   * The distance parameter's default value is approximately √2 so that a vertex will be removed when adjacent or semi-adjacent vertices having their\n   * corresponding X and Y coordinates differing by no more than 1 unit. (If the egdes are semi-adjacent the out-lying vertex will be removed too.)\n   *\n   * @param path - The path to clean\n   * @param distance - How close points need to be before they are cleaned\n   * @return {Path} - The cleaned path\n   */\n  cleanPolygon(path: ReadonlyPath, distance = 1.1415): Path {\n    return functions.cleanPolygon(this.instance, path, distance);\n  }\n\n  /**\n   * Removes vertices:\n   * - that join co-linear edges, or join edges that are almost co-linear (such that if the vertex was moved no more than the specified distance the edges\n   * would be co-linear)\n   * - that are within the specified distance of an adjacent vertex\n   * - that are within the specified distance of a semi-adjacent vertex together with their out-lying vertices\n   *\n   * Vertices are semi-adjacent when they are separated by a single (out-lying) vertex.\n   *\n   * The distance parameter's default value is approximately √2 so that a vertex will be removed when adjacent or semi-adjacent vertices having their\n   * corresponding X and Y coordinates differing by no more than 1 unit. (If the egdes are semi-adjacent the out-lying vertex will be removed too.)\n   *\n   * @param paths - The paths to clean\n   * @param distance - How close points need to be before they are cleaned\n   * @return {Paths} - The cleaned paths\n   */\n  cleanPolygons(paths: ReadonlyPaths, distance = 1.1415): Paths {\n    return functions.cleanPolygons(this.instance, paths, distance);\n  }\n\n  //noinspection JSMethodCanBeStatic\n  /**\n   * This function filters out open paths from the PolyTree structure and returns only closed paths in a Paths structure.\n   *\n   * @param polyTree\n   * @return {Paths}\n   */\n  closedPathsFromPolyTree(polyTree: PolyTree): Paths {\n    return functions.closedPathsFromPolyTree(polyTree);\n  }\n\n  /**\n   *  Minkowski Difference is performed by subtracting each point in a polygon from the set of points in an open or closed path. A key feature of Minkowski\n   *  Difference is that when it's applied to two polygons, the resulting polygon will contain the coordinate space origin whenever the two polygons touch or\n   *  overlap. (This function is often used to determine when polygons collide.)\n   *\n   * @param poly1\n   * @param poly2\n   * @return {Paths}\n   */\n  minkowskiDiff(poly1: ReadonlyPath, poly2: ReadonlyPath): Paths {\n    return functions.minkowskiDiff(this.instance, poly1, poly2);\n  }\n\n  /**\n   * Minkowski Addition is performed by adding each point in a polygon 'pattern' to the set of points in an open or closed path. The resulting polygon\n   * (or polygons) defines the region that the 'pattern' would pass over in moving from the beginning to the end of the 'path'.\n   *\n   * @param pattern\n   * @param path\n   * @param pathIsClosed\n   * @return {Paths}\n   */\n  minkowskiSumPath(pattern: ReadonlyPath, path: ReadonlyPath, pathIsClosed: boolean): Paths {\n    return functions.minkowskiSumPath(this.instance, pattern, path, pathIsClosed);\n  }\n\n  /**\n   * Minkowski Addition is performed by adding each point in a polygon 'pattern' to the set of points in an open or closed path. The resulting polygon\n   * (or polygons) defines the region that the 'pattern' would pass over in moving from the beginning to the end of the 'path'.\n   *\n   * @param pattern\n   * @param paths\n   * @param pathIsClosed\n   * @return {Paths}\n   */\n  minkowskiSumPaths(pattern: ReadonlyPath, paths: ReadonlyPaths, pathIsClosed: boolean): Paths {\n    return functions.minkowskiSumPaths(this.instance, pattern, paths, pathIsClosed);\n  }\n\n  //noinspection JSMethodCanBeStatic\n  /**\n   * This function filters out closed paths from the PolyTree structure and returns only open paths in a Paths structure.\n   *\n   * @param polyTree\n   * @return {ReadonlyPath[]}\n   */\n  openPathsFromPolyTree(polyTree: PolyTree): ReadonlyPath[] {\n    return functions.openPathsFromPolyTree(polyTree);\n  }\n\n  //noinspection JSMethodCanBeStatic\n  /**\n   * Orientation is only important to closed paths. Given that vertices are declared in a specific order, orientation refers to the direction (clockwise or\n   * counter-clockwise) that these vertices progress around a closed path.\n   *\n   * Orientation is also dependent on axis direction:\n   * - On Y-axis positive upward displays, orientation will return true if the polygon's orientation is counter-clockwise.\n   * - On Y-axis positive downward displays, orientation will return true if the polygon's orientation is clockwise.\n   *\n   * Notes:\n   * - Self-intersecting polygons have indeterminate orientations in which case this function won't return a meaningful value.\n   * - The majority of 2D graphic display libraries (eg GDI, GDI+, XLib, Cairo, AGG, Graphics32) and even the SVG file format have their coordinate origins\n   * at the top-left corner of their respective viewports with their Y axes increasing downward. However, some display libraries (eg Quartz, OpenGL) have their\n   * coordinate origins undefined or in the classic bottom-left position with their Y axes increasing upward.\n   * - For Non-Zero filled polygons, the orientation of holes must be opposite that of outer polygons.\n   * - For closed paths (polygons) in the solution returned by the clip method, their orientations will always be true for outer polygons and false\n   * for hole polygons (unless the reverseSolution property has been enabled).\n   *\n   * @param path - Path\n   * @return {boolean}\n   */\n  orientation(path: ReadonlyPath): boolean {\n    return functions.orientation(path);\n  }\n\n  //noinspection JSMethodCanBeStatic\n  /**\n   * Returns PointInPolygonResult.Outside when false, PointInPolygonResult.OnBoundary when point is on poly and PointInPolygonResult.Inside when point is in\n   * poly.\n   *\n   * It's assumed that 'poly' is closed and does not self-intersect.\n   *\n   * @param point\n   * @param path\n   * @return {PointInPolygonResult}\n   */\n  pointInPolygon(point: Readonly<IntPoint>, path: ReadonlyPath): PointInPolygonResult {\n    return functions.pointInPolygon(point, path);\n  }\n\n  //noinspection JSMethodCanBeStatic\n  /**\n   * This function converts a PolyTree structure into a Paths structure.\n   *\n   * @param polyTree\n   * @return {Paths}\n   */\n  polyTreeToPaths(polyTree: PolyTree): Paths {\n    return functions.polyTreeToPaths(polyTree);\n  }\n\n  //noinspection JSMethodCanBeStatic\n  /**\n   * Reverses the vertex order (and hence orientation) in the specified path.\n   *\n   * @param path - Path to reverse, which gets overwritten rather than copied\n   */\n  reversePath(path: Path): void {\n    functions.reversePath(path);\n  }\n\n  //noinspection JSMethodCanBeStatic\n  /**\n   * Reverses the vertex order (and hence orientation) in each contained path.\n   *\n   * @param paths - Paths to reverse, which get overwritten rather than copied\n   */\n  reversePaths(paths: Paths): void {\n    functions.reversePaths(paths);\n  }\n\n  /**\n   * Removes self-intersections from the supplied polygon (by performing a boolean union operation using the nominated PolyFillType).\n   * Polygons with non-contiguous duplicate vertices (ie 'touching') will be split into two polygons.\n   *\n   * Note: There's currently no guarantee that polygons will be strictly simple since 'simplifying' is still a work in progress.\n   *\n   * @param path\n   * @param fillType\n   * @return {Paths} - The solution\n   */\n  simplifyPolygon(path: ReadonlyPath, fillType: PolyFillType = PolyFillType.EvenOdd): Paths {\n    return functions.simplifyPolygon(this.instance, path, fillType);\n  }\n\n  /**\n   * Removes self-intersections from the supplied polygons (by performing a boolean union operation using the nominated PolyFillType).\n   * Polygons with non-contiguous duplicate vertices (ie 'vertices are touching') will be split into two polygons.\n   *\n   * Note: There's currently no guarantee that polygons will be strictly simple since 'simplifying' is still a work in progress.\n   *\n   * @param paths\n   * @param fillType\n   * @return {Paths} - The solution\n   */\n  simplifyPolygons(paths: ReadonlyPaths, fillType: PolyFillType = PolyFillType.EvenOdd): Paths {\n    return functions.simplifyPolygons(this.instance, paths, fillType);\n  }\n\n  //noinspection JSMethodCanBeStatic\n  /**\n   * Scales a path by multiplying all its points by a number and then rounding them.\n   *\n   * @param path - Path to scale\n   * @param scale - Scale multiplier\n   * @return {Path} - The scaled path\n   */\n  scalePath(path: ReadonlyPath, scale: number): Path {\n    return functions.scalePath(path, scale);\n  }\n\n  //noinspection JSMethodCanBeStatic\n  /**\n   * Scales all inner paths by multiplying all its points by a number and then rounding them.\n   *\n   * @param paths - Paths to scale\n   * @param scale - Scale multiplier\n   * @return {Paths} - The scaled paths\n   */\n  scalePaths(paths: ReadonlyPaths, scale: number): Paths {\n    return functions.scalePaths(paths, scale);\n  }\n}\n\ntype LibraryLoadResult = { library?: ClipperLibWrapper; error?: unknown };\nconst wasmModule: LibraryLoadResult = {};\nconst asmJsModule: LibraryLoadResult = {};\n\nasync function loadModule(\n  result: LibraryLoadResult,\n  requireNativeModule: () => () => Promise<NativeClipperLibInstance>,\n  format: NativeClipperLibLoadedFormat\n): Promise<ClipperLibWrapper> {\n  // We tried this already, and it failed?\n  if (result.error) throw result.error;\n  // We already have a library loaded?\n  if (result.library) return result.library;\n  try {\n    const createModuleAsync = requireNativeModule();\n    const library = new ClipperLibWrapper(await createModuleAsync(), format);\n    result.library = library;\n    return library;\n  } catch (error) {\n    result.error = error;\n    throw error;\n  }\n}\n\nasync function loadWasmModule(): Promise<ClipperLibWrapper> {\n  return loadModule(\n    wasmModule,\n    () => require(\"./wasm/clipper-wasm\"),\n    NativeClipperLibLoadedFormat.Wasm\n  );\n}\n\nasync function loadAsmJsModule(): Promise<ClipperLibWrapper> {\n  return loadModule(\n    asmJsModule,\n    () => require(\"./wasm/clipper\"),\n    NativeClipperLibLoadedFormat.AsmJs\n  );\n}\n\n/**\n * Asynchronously tries to load a new native instance of the clipper library to be shared across all method invocations.\n *\n * @param format - Format to load, either WasmThenAsmJs, WasmOnly or AsmJsOnly.\n * @return {Promise<ClipperLibWrapper>} - Promise that resolves with the wrapper instance.\n */\nexport async function loadNativeClipperLibInstanceAsync(\n  format: NativeClipperLibRequestedFormat\n): Promise<ClipperLibWrapper> {\n  // TODO: in the future use these methods instead https://github.com/jedisct1/libsodium.js/issues/94\n  const loaders = [];\n  if (\n    format === NativeClipperLibRequestedFormat.WasmWithAsmJsFallback ||\n    format === NativeClipperLibRequestedFormat.WasmOnly\n  ) {\n    loaders.push(loadWasmModule);\n  }\n  if (\n    format === NativeClipperLibRequestedFormat.WasmWithAsmJsFallback ||\n    format === NativeClipperLibRequestedFormat.AsmJsOnly\n  ) {\n    loaders.push(loadAsmJsModule);\n  }\n  for (const loader of loaders) {\n    try {\n      return loader();\n    } catch (error) {\n      // ignore\n    }\n  }\n  throw new ClipperError(\"could not load native clipper in the desired format\");\n}\n"
  },
  {
    "path": "src/native/NativeClipper.ts",
    "content": "import { NativeClipperBase } from \"./NativeClipperBase\";\nimport { NativeClipType, NativePolyFillType } from \"./nativeEnums\";\nimport { NativePaths } from \"./NativePaths\";\nimport { NativePolyTree } from \"./NativePolyTree\";\n\nexport interface NativeClipper extends NativeClipperBase {\n  executePaths(\n    clipType: NativeClipType,\n    outPaths: NativePaths,\n    polyFillType: NativePolyFillType\n  ): boolean;\n  executePathsWithFillTypes(\n    clipType: NativeClipType,\n    outPaths: NativePaths,\n    subjPolyFillType: NativePolyFillType,\n    clipPolyFillType: NativePolyFillType\n  ): boolean;\n  executePolyTree(\n    clipType: NativeClipType,\n    outPolyTree: NativePolyTree,\n    polyFillType: NativePolyFillType\n  ): boolean;\n  executePolyTreeWithFillTypes(\n    clipType: NativeClipType,\n    outPolyTree: NativePolyTree,\n    subjPolyFillType: NativePolyFillType,\n    clipPolyFillType: NativePolyFillType\n  ): boolean;\n  reverseSolution: boolean;\n  strictlySimple: boolean;\n}\n"
  },
  {
    "path": "src/native/NativeClipperBase.ts",
    "content": "import { NativeDeletable } from \"./NativeDeletable\";\nimport { NativePolyType } from \"./nativeEnums\";\nimport { NativeIntRect } from \"./NativeIntRect\";\nimport { NativePath } from \"./NativePath\";\nimport { NativePaths } from \"./NativePaths\";\n\nexport interface NativeClipperBase extends NativeDeletable {\n  addPath(path: NativePath, polyType: NativePolyType, closed: boolean): boolean;\n  addPaths(paths: NativePaths, polyType: NativePolyType, closed: boolean): boolean;\n  clear(): void;\n  getBounds(): NativeIntRect;\n  preserveCollinear: boolean;\n}\n"
  },
  {
    "path": "src/native/NativeClipperLibInstance.ts",
    "content": "import { NativeClipper } from \"./NativeClipper\";\nimport { NativeClipperOffset } from \"./NativeClipperOffset\";\nimport {\n  NativeClipType,\n  NativeEndType,\n  NativeInitOptions,\n  NativeJoinType,\n  NativePolyFillType,\n  NativePolyType,\n} from \"./nativeEnums\";\nimport { NativeIntPoint } from \"./NativeIntPoint\";\nimport { NativePath } from \"./NativePath\";\nimport { NativePaths } from \"./NativePaths\";\nimport { NativePolyTree } from \"./NativePolyTree\";\n\nexport interface NativeClipperLibInstance {\n  // custom conversion functions\n  toPath(dest: NativePath, coordsPtr: number): void;\n  toPaths(dest: NativePaths, pathsPtr: number): void;\n  fromPath(path: NativePath): Float64Array;\n  fromPaths(paths: NativePaths): Float64Array;\n\n  // memory\n  _malloc(nofBytes: number): number;\n  _free(ptr: number): void;\n  HEAPF64: {\n    buffer: ArrayBuffer;\n  };\n\n  // types\n  Path: new () => NativePath;\n  Paths: new () => NativePaths;\n  PolyTree: new () => NativePolyTree;\n  Clipper: new (initOptions: number) => NativeClipper;\n  ClipperOffset: new (miterLimit: number, arcTolerance: number) => NativeClipperOffset;\n\n  // functions\n  newIntPoint(x: number, y: number): NativeIntPoint;\n\n  orientation(path: NativePath): boolean;\n  area(path: NativePath): number;\n  pointInPolygon(pt: NativeIntPoint, path: NativePath): number;\n\n  simplifyPolygon(path: NativePath, outPaths: NativePaths, fillType: NativePolyFillType): void;\n  simplifyPolygonsInOut(\n    paths: NativePaths,\n    outPaths: NativePaths,\n    fillType: NativePolyFillType\n  ): void;\n  simplifyPolygonsOverwrite(paths: NativePaths, fillType: NativePolyFillType): void;\n\n  cleanPolygon(path: NativePath, outPath: NativePath, distance: number): void;\n  cleanPolygon(inOutPath: NativePath, distance: number): void;\n  cleanPolygons(paths: NativePaths, outPaths: NativePaths, distance: number): void;\n  cleanPolygons(inOutPaths: NativePaths, distance: number): void;\n\n  minkowskiSumPath(\n    pattern: NativePath,\n    path: NativePath,\n    outPaths: NativePaths,\n    pathIsClosed: boolean\n  ): void;\n  minkowskiSumPaths(\n    pattern: NativePath,\n    paths: NativePaths,\n    outPaths: NativePaths,\n    pathIsClosed: boolean\n  ): void;\n  minkowskiDiff(path1: NativePath, path2: NativePath, outPaths: NativePaths): void;\n\n  polyTreeToPaths(polyTree: NativePolyTree, outPaths: NativePaths): void;\n  closedPathsFromPolyTree(polyTree: NativePolyTree, outPaths: NativePaths): void;\n  openPathsFromPolyTree(polyTree: NativePolyTree, outPaths: NativePaths): void;\n\n  reversePath(inOutPath: NativePath): void;\n  reversePaths(inOutPaths: NativePaths): void;\n\n  ClipType: NativeClipType;\n  PolyType: NativePolyType;\n  PolyFillType: NativePolyFillType;\n  InitOptions: NativeInitOptions;\n  JoinType: NativeJoinType;\n  EndType: NativeEndType;\n}\n"
  },
  {
    "path": "src/native/NativeClipperOffset.ts",
    "content": "import { NativeDeletable } from \"./NativeDeletable\";\nimport { NativeEndType, NativeJoinType } from \"./nativeEnums\";\nimport { NativePath } from \"./NativePath\";\nimport { NativePaths } from \"./NativePaths\";\nimport { NativePolyTree } from \"./NativePolyTree\";\n\nexport interface NativeClipperOffset extends NativeDeletable {\n  addPath(outPath: NativePath, joinType: NativeJoinType, endType: NativeEndType): void;\n  addPaths(outPaths: NativePaths, joinType: NativeJoinType, endType: NativeEndType): void;\n  executePaths(outPaths: NativePaths, delta: number): void;\n  executePolyTree(outPolyTree: NativePolyTree, delta: number): void;\n  clear(): void;\n  miterLimit: number;\n  arcTolerance: number;\n}\n"
  },
  {
    "path": "src/native/NativeDeletable.ts",
    "content": "export interface NativeDeletable {\n  isDeleted(): boolean;\n  delete(): void;\n}\n"
  },
  {
    "path": "src/native/NativeIntPoint.ts",
    "content": "import { NativeDeletable } from \"./NativeDeletable\";\n\nexport interface NativeIntPoint extends NativeDeletable {\n  x: number;\n  y: number;\n}\n"
  },
  {
    "path": "src/native/NativeIntRect.ts",
    "content": "import { NativeDeletable } from \"./NativeDeletable\";\n\nexport interface NativeIntRect extends NativeDeletable {\n  left: number;\n  top: number;\n  right: number;\n  bottom: number;\n}\n"
  },
  {
    "path": "src/native/NativePath.ts",
    "content": "import { NativeIntPoint } from \"./NativeIntPoint\";\nimport { NativeVector } from \"./NativeVector\";\n\nexport type NativePath = NativeVector<NativeIntPoint>;\n"
  },
  {
    "path": "src/native/NativePaths.ts",
    "content": "import { NativePath } from \"./NativePath\";\nimport { NativeVector } from \"./NativeVector\";\n\nexport type NativePaths = NativeVector<NativePath>;\n"
  },
  {
    "path": "src/native/NativePolyNode.ts",
    "content": "import { NativeDeletable } from \"./NativeDeletable\";\nimport { NativePath } from \"./NativePath\";\nimport { NativeVector } from \"./NativeVector\";\n\nexport interface NativePolyNode extends NativeDeletable {\n  contour: NativePath;\n  childs: NativeVector<NativePolyNode>;\n  getParent(): NativePolyNode | null;\n  getNext(): NativePolyNode | null;\n  isHole(): boolean;\n  isOpen(): boolean;\n  childCount(): number;\n  index: number;\n}\n"
  },
  {
    "path": "src/native/NativePolyTree.ts",
    "content": "import { NativePolyNode } from \"./NativePolyNode\";\n\nexport interface NativePolyTree extends NativePolyNode {\n  clear(): void;\n  getFirst(): NativePolyNode;\n  total(): number;\n}\n"
  },
  {
    "path": "src/native/NativeVector.ts",
    "content": "import { NativeDeletable } from \"./NativeDeletable\";\n\nexport interface NativeVector<T> extends NativeDeletable {\n  size(): number;\n  get(index: number): T;\n  set(index: number, value: T): void;\n}\n"
  },
  {
    "path": "src/native/PathToNativePath.ts",
    "content": "import { Path, ReadonlyPath } from \"../Path\";\nimport { freeTypedArray, mallocDoubleArray } from \"./mem\";\nimport { NativeClipperLibInstance } from \"./NativeClipperLibInstance\";\nimport { NativePath } from \"./NativePath\";\n\nconst coordsPerPoint = 2;\n\nexport function getNofItemsForPath(path: ReadonlyPath): number {\n  return 1 + path.length * coordsPerPoint;\n}\n\n// js to c++\n\nexport function writePathToDoubleArray(\n  path: ReadonlyPath,\n  heapBytes: Float64Array,\n  startPtr: number\n): number {\n  const len = path.length;\n\n  heapBytes[startPtr] = len;\n\n  let arrayI = 1 + startPtr;\n  for (let i = 0; i < len; i++) {\n    heapBytes[arrayI++] = path[i].x;\n    heapBytes[arrayI++] = path[i].y;\n  }\n\n  return arrayI;\n}\n\nexport function pathToDoubleArray(\n  nativeClipperLib: NativeClipperLibInstance,\n  path: ReadonlyPath\n): Float64Array {\n  const nofItems = getNofItemsForPath(path);\n  const heapBytes = mallocDoubleArray(nativeClipperLib, nofItems);\n  writePathToDoubleArray(path, heapBytes, 0);\n  return heapBytes;\n}\n\nexport function doubleArrayToNativePath(\n  nativeClipperLib: NativeClipperLibInstance,\n  array: Float64Array,\n  freeArray: boolean\n): NativePath {\n  const p = new nativeClipperLib.Path();\n  nativeClipperLib.toPath(p, array.byteOffset);\n  if (freeArray) {\n    freeTypedArray(nativeClipperLib, array);\n  }\n  return p;\n}\n\nexport function pathToNativePath(\n  nativeClipperLib: NativeClipperLibInstance,\n  path: ReadonlyPath\n): NativePath {\n  const array = pathToDoubleArray(nativeClipperLib, path);\n  return doubleArrayToNativePath(nativeClipperLib, array, true);\n}\n\n// c++ to js\n\nexport function nativePathToDoubleArray(\n  nativeClipperLib: NativeClipperLibInstance,\n  nativePath: NativePath,\n  freeNativePath: boolean\n): Float64Array {\n  const array = nativeClipperLib.fromPath(nativePath);\n  if (freeNativePath) {\n    nativePath.delete();\n  }\n  return array;\n}\n\nexport function doubleArrayToPath(\n  nativeClipperLib: NativeClipperLibInstance,\n  array: Float64Array,\n  _freeDoubleArray: boolean,\n  startPtr: number\n): { path: Path; ptrEnd: number } {\n  const len = array[startPtr];\n  const path = [];\n  path.length = len;\n\n  let arrayI = 1 + startPtr;\n  for (let i = 0; i < len; i++) {\n    path[i] = {\n      x: array[arrayI++],\n      y: array[arrayI++],\n    };\n  }\n\n  if (_freeDoubleArray) {\n    freeTypedArray(nativeClipperLib, array);\n  }\n\n  return {\n    path: path,\n    ptrEnd: arrayI,\n  };\n}\n\nexport function nativePathToPath(\n  nativeClipperLib: NativeClipperLibInstance,\n  nativePath: NativePath,\n  freeNativePath: boolean\n): Path {\n  const array = nativePathToDoubleArray(nativeClipperLib, nativePath, freeNativePath);\n  return doubleArrayToPath(nativeClipperLib, array, true, 0).path;\n}\n"
  },
  {
    "path": "src/native/PathsToNativePaths.ts",
    "content": "import { Path } from \"../Path\";\nimport { Paths, ReadonlyPaths } from \"../Paths\";\nimport { freeTypedArray, mallocDoubleArray } from \"./mem\";\nimport { NativeClipperLibInstance } from \"./NativeClipperLibInstance\";\nimport { NativePaths } from \"./NativePaths\";\nimport { doubleArrayToPath, getNofItemsForPath, writePathToDoubleArray } from \"./PathToNativePath\";\n\n// js to c++\n\nexport function pathsToDoubleArray(\n  nativeClipperLib: NativeClipperLibInstance,\n  myPaths: ReadonlyPaths\n): Float64Array {\n  const nofPaths = myPaths.length;\n\n  // first calculate nof items required\n  let nofItems = 1; // for path count\n  for (let i = 0; i < nofPaths; i++) {\n    nofItems += getNofItemsForPath(myPaths[i]);\n  }\n  const heapBytes = mallocDoubleArray(nativeClipperLib, nofItems);\n  heapBytes[0] = nofPaths;\n\n  let ptr = 1;\n  for (let i = 0; i < nofPaths; i++) {\n    const path = myPaths[i];\n    ptr = writePathToDoubleArray(path, heapBytes, ptr);\n  }\n\n  return heapBytes;\n}\n\nexport function doubleArrayToNativePaths(\n  nativeClipperLib: NativeClipperLibInstance,\n  array: Float64Array,\n  freeArray: boolean\n): NativePaths {\n  const p = new nativeClipperLib.Paths();\n  nativeClipperLib.toPaths(p, array.byteOffset);\n  if (freeArray) {\n    freeTypedArray(nativeClipperLib, array);\n  }\n  return p;\n}\n\nexport function pathsToNativePaths(\n  nativeClipperLib: NativeClipperLibInstance,\n  paths: ReadonlyPaths\n): NativePaths {\n  const array = pathsToDoubleArray(nativeClipperLib, paths);\n  return doubleArrayToNativePaths(nativeClipperLib, array, true);\n}\n\n// c++ to js\n\nexport function nativePathsToDoubleArray(\n  nativeClipperLib: NativeClipperLibInstance,\n  nativePaths: NativePaths,\n  freeNativePaths: boolean\n): Float64Array {\n  const array = nativeClipperLib.fromPaths(nativePaths);\n  if (freeNativePaths) {\n    nativePaths.delete();\n  }\n  return array;\n}\n\nexport function doubleArrayToPaths(\n  nativeClipperLib: NativeClipperLibInstance,\n  array: Float64Array,\n  _freeDoubleArray: boolean\n): Paths {\n  const len = array[0];\n  const paths: Path[] = [];\n  paths.length = len;\n\n  let arrayI = 1;\n  for (let i = 0; i < len; i++) {\n    const result = doubleArrayToPath(nativeClipperLib, array, false, arrayI);\n    paths[i] = result.path;\n    arrayI = result.ptrEnd;\n  }\n\n  if (_freeDoubleArray) {\n    freeTypedArray(nativeClipperLib, array);\n  }\n\n  return paths;\n}\n\nexport function nativePathsToPaths(\n  nativeClipperLib: NativeClipperLibInstance,\n  nativePaths: NativePaths,\n  freeNativePaths: boolean\n): Paths {\n  const array = nativePathsToDoubleArray(nativeClipperLib, nativePaths, freeNativePaths);\n  return doubleArrayToPaths(nativeClipperLib, array, true);\n}\n"
  },
  {
    "path": "src/native/mem.ts",
    "content": "import { NativeClipperLibInstance } from \"./NativeClipperLibInstance\";\n\nexport function mallocDoubleArray(\n  nativeClipperLib: NativeClipperLibInstance,\n  len: number\n): Float64Array {\n  const nofBytes = len * Float64Array.BYTES_PER_ELEMENT;\n  const ptr = nativeClipperLib._malloc(nofBytes);\n  return new Float64Array(nativeClipperLib.HEAPF64.buffer, ptr, len);\n}\n\nexport function freeTypedArray(\n  nativeClipperLib: NativeClipperLibInstance,\n  array: Float64Array | Uint32Array\n): void {\n  nativeClipperLib._free(array.byteOffset);\n}\n"
  },
  {
    "path": "src/native/nativeEnumConversion.ts",
    "content": "import { ClipType, EndType, JoinType, PolyFillType, PolyType } from \"../enums\";\nimport { NativeClipperLibInstance } from \"./NativeClipperLibInstance\";\nimport {\n  NativeClipType,\n  NativeEndType,\n  NativeJoinType,\n  NativePolyFillType,\n  NativePolyType,\n} from \"./nativeEnums\";\n\nexport function polyFillTypeToNative(\n  nativeLib: NativeClipperLibInstance,\n  polyFillType: PolyFillType\n): NativePolyFillType {\n  switch (polyFillType) {\n    case PolyFillType.EvenOdd:\n      return nativeLib.PolyFillType.EvenOdd;\n    case PolyFillType.NonZero:\n      return nativeLib.PolyFillType.NonZero;\n    case PolyFillType.Positive:\n      return nativeLib.PolyFillType.Positive;\n    case PolyFillType.Negative:\n      return nativeLib.PolyFillType.Negative;\n    default:\n      throw new Error(\"unknown poly fill type\");\n  }\n}\n\nexport function clipTypeToNative(\n  nativeLib: NativeClipperLibInstance,\n  clipType: ClipType\n): NativeClipType {\n  switch (clipType) {\n    case ClipType.Intersection:\n      return nativeLib.ClipType.Intersection;\n    case ClipType.Union:\n      return nativeLib.ClipType.Union;\n    case ClipType.Difference:\n      return nativeLib.ClipType.Difference;\n    case ClipType.Xor:\n      return nativeLib.ClipType.Xor;\n    default:\n      throw new Error(\"unknown clip type\");\n  }\n}\n\nexport function polyTypeToNative(\n  nativeLib: NativeClipperLibInstance,\n  polyType: PolyType\n): NativePolyType {\n  switch (polyType) {\n    case PolyType.Subject:\n      return nativeLib.PolyType.Subject;\n    case PolyType.Clip:\n      return nativeLib.PolyType.Clip;\n    default:\n      throw new Error(\"unknown poly type\");\n  }\n}\n\nexport function joinTypeToNative(\n  nativeLib: NativeClipperLibInstance,\n  joinType: JoinType\n): NativeJoinType {\n  switch (joinType) {\n    case JoinType.Square:\n      return nativeLib.JoinType.Square;\n    case JoinType.Round:\n      return nativeLib.JoinType.Round;\n    case JoinType.Miter:\n      return nativeLib.JoinType.Miter;\n    default:\n      throw new Error(\"unknown join type\");\n  }\n}\n\nexport function endTypeToNative(\n  nativeLib: NativeClipperLibInstance,\n  endType: EndType\n): NativeEndType {\n  switch (endType) {\n    case EndType.ClosedPolygon:\n      return nativeLib.EndType.ClosedPolygon;\n    case EndType.ClosedLine:\n      return nativeLib.EndType.ClosedLine;\n    case EndType.OpenButt:\n      return nativeLib.EndType.OpenButt;\n    case EndType.OpenSquare:\n      return nativeLib.EndType.OpenSquare;\n    case EndType.OpenRound:\n      return nativeLib.EndType.OpenRound;\n    default:\n      throw new Error(\"unknown end type\");\n  }\n}\n"
  },
  {
    "path": "src/native/nativeEnums.ts",
    "content": "export interface NativeEnum {\n  value: number;\n}\n\n// native enum\nexport interface NativeClipType {\n  Intersection: NativeEnum & NativeClipType;\n  Union: NativeEnum & NativeClipType;\n  Difference: NativeEnum & NativeClipType;\n  Xor: NativeEnum & NativeClipType;\n}\n\n// native enum\nexport interface NativePolyType {\n  Subject: NativeEnum & NativePolyType;\n  Clip: NativeEnum & NativePolyType;\n}\n\n// native enum\nexport interface NativePolyFillType {\n  EvenOdd: NativeEnum & NativePolyFillType;\n  NonZero: NativeEnum & NativePolyFillType;\n  Positive: NativeEnum & NativePolyFillType;\n  Negative: NativeEnum & NativePolyFillType;\n}\n\n// native enum\nexport interface NativeInitOptions {\n  ReverseSolution: NativeEnum & NativeInitOptions;\n  StrictlySimple: NativeEnum & NativeInitOptions;\n  PreserveCollinear: NativeEnum & NativeInitOptions;\n}\n\n// native enum\nexport interface NativeJoinType {\n  Square: NativeEnum & NativeJoinType;\n  Round: NativeEnum & NativeJoinType;\n  Miter: NativeEnum & NativeJoinType;\n}\n\n// native enum\nexport interface NativeEndType {\n  ClosedPolygon: NativeEnum & NativeEndType;\n  ClosedLine: NativeEnum & NativeEndType;\n  OpenButt: NativeEnum & NativeEndType;\n  OpenSquare: NativeEnum & NativeEndType;\n  OpenRound: NativeEnum & NativeEndType;\n}\n"
  },
  {
    "path": "src/nativeFinalizationRegistry.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { NativeDeletable } from \"./native/NativeDeletable\";\n\ninterface FinalizationRegistry {\n  readonly [Symbol.toStringTag]: \"FinalizationRegistry\";\n\n  /**\n   * Registers an object with the registry.\n   * @param target The target object to register.\n   * @param heldValue The value to pass to the finalizer for this object. This cannot be the\n   * target object.\n   * @param unregisterToken The token to pass to the unregister method to unregister the target\n   * object. If provided (and not undefined), this must be an object. If not provided, the target\n   * cannot be unregistered.\n   */\n  register(target: any, heldValue: any, unregisterToken?: any): void;\n\n  /**\n   * Unregisters an object from the registry.\n   * @param unregisterToken The token that was used as the unregisterToken argument when calling\n   * register to register the target object.\n   */\n  unregister(unregisterToken: any): void;\n}\n\ninterface FinalizationRegistryConstructor {\n  readonly prototype: FinalizationRegistry;\n\n  /**\n   * Creates a finalization registry with an associated cleanup callback\n   * @param cleanupCallback The callback to call after an object in the registry has been reclaimed.\n   */\n  new (cleanupCallback: (heldValue: any) => void): FinalizationRegistry;\n}\n\ndeclare let FinalizationRegistry: FinalizationRegistryConstructor;\n\nexport const nativeFinalizationRegistry =\n  typeof FinalizationRegistry === \"undefined\"\n    ? undefined\n    : new FinalizationRegistry((nativeObj: NativeDeletable) => {\n        if (!nativeObj.isDeleted()) {\n          nativeObj.delete();\n        }\n      });\n"
  },
  {
    "path": "src/offsetFunctions.ts",
    "content": "import { ClipperOffset } from \"./ClipperOffset\";\nimport { EndType, JoinType } from \"./enums\";\nimport { NativeClipperLibInstance } from \"./native/NativeClipperLibInstance\";\nimport { ReadonlyPath } from \"./Path\";\nimport { Paths, ReadonlyPaths } from \"./Paths\";\nimport { PolyTree } from \"./PolyTree\";\n\n/**\n * A single input (of multiple possible inputs) for the offsetToPaths / offsetToPolyTree operation.\n */\nexport interface OffsetInput {\n  /**\n   * Join type.\n   */\n  joinType: JoinType;\n\n  /**\n   * End type.\n   */\n  endType: EndType;\n\n  /**\n   * Data of one of the Path or Paths to be used in preparation for offsetting.\n   *\n   * All 'outer' Paths must have the same orientation, and any 'hole' paths must have reverse orientation. Closed paths must have at least 3 vertices.\n   * Open paths may have as few as one vertex. Open paths can only be offset with positive deltas.\n   */\n  data: ReadonlyPath | ReadonlyPaths;\n}\n\n/**\n * Params for the polygon offset operation.\n */\nexport interface OffsetParams {\n  /**\n   * Firstly, this field/property is only relevant when JoinType = Round and/or EndType = Round.\n   *\n   * Since flattened paths can never perfectly represent arcs, this field/property specifies a maximum acceptable imprecision ('tolerance') when arcs are\n   * approximated in an offsetting operation. Smaller values will increase 'smoothness' up to a point though at a cost of performance and in creating more\n   * vertices to construct the arc.\n   *\n   * The default ArcTolerance is 0.25 units. This means that the maximum distance the flattened path will deviate from the 'true' arc will be no more\n   * than 0.25 units (before rounding).\n   *\n   * Reducing tolerances below 0.25 will not improve smoothness since vertex coordinates will still be rounded to integer values. The only way to achieve\n   * sub-integer precision is through coordinate scaling before and after offsetting (see example below).\n   *\n   * It's important to make ArcTolerance a sensible fraction of the offset delta (arc radius). Large tolerances relative to the offset delta will produce\n   * poor arc approximations but, just as importantly, very small tolerances will substantially slow offsetting performance while providing unnecessary\n   * degrees of precision. This is most likely to be an issue when offsetting polygons whose coordinates have been scaled to preserve floating point precision.\n   *\n   * Example: Imagine a set of polygons (defined in floating point coordinates) that is to be offset by 10 units using round joins, and the solution is to\n   * retain floating point precision up to at least 6 decimal places.\n   * To preserve this degree of floating point precision, and given that Clipper and ClipperOffset both operate on integer coordinates, the polygon\n   * coordinates will be scaled up by 108 (and rounded to integers) prior to offsetting. Both offset delta and ArcTolerance will also need to be scaled\n   * by this same factor. If ArcTolerance was left unscaled at the default 0.25 units, every arc in the solution would contain a fraction of 44 THOUSAND\n   * vertices while the final arc imprecision would be 0.25 × 10-8 units (ie once scaling was reversed). However, if 0.1 units was an acceptable imprecision\n   * in the final unscaled solution, then ArcTolerance should be set to 0.1 × scaling_factor (0.1 × 108 ). Now if scaling is applied equally to both\n   * ArcTolerance and to Delta Offset, then in this example the number of vertices (steps) defining each arc would be a fraction of 23.\n   *\n   * The formula for the number of steps in a full circular arc is ... Pi / acos(1 - arc_tolerance / abs(delta))\n   */\n  arcTolerance?: number; // defaults to 0.25\n\n  /**\n   * This property sets the maximum distance in multiples of delta that vertices can be offset from their original positions before squaring is applied.\n   * (Squaring truncates a miter by 'cutting it off' at 1 × delta distance from the original vertex.)\n   *\n   * The default value for MiterLimit is 2 (ie twice delta). This is also the smallest MiterLimit that's allowed. If mitering was unrestricted (ie without\n   * any squaring), then offsets at very acute angles would generate unacceptably long 'spikes'.\n   */\n  miterLimit?: number; // defaults to 2 (twice delta)\n\n  /**\n   * Negative delta values shrink polygons and positive delta expand them.\n   */\n  delta: number;\n\n  /**\n   * One or more inputs to use for the offset operation.\n   */\n  offsetInputs: OffsetInput[];\n\n  /**\n   * If this is not undefined then cleaning of the result polygon will be performed.\n   * This operation is only available when the output format is not a poly tree.\n   */\n  cleanDistance?: number;\n}\n\nconst addPathOrPaths = (offset: ClipperOffset, inputDatas: OffsetInput[] | undefined) => {\n  if (inputDatas === undefined) {\n    return;\n  }\n\n  // add each input\n  for (let i = 0, maxi = inputDatas.length; i < maxi; i++) {\n    const inputData = inputDatas[i];\n\n    // add the path/paths\n    const pathOrPaths = inputData.data;\n    if (!pathOrPaths || pathOrPaths.length <= 0) {\n      continue;\n    }\n\n    // is it a path or paths?\n    if (Array.isArray(pathOrPaths[0])) {\n      // paths\n      offset.addPaths(pathOrPaths as ReadonlyPaths, inputData.joinType, inputData.endType);\n    } else {\n      // path\n      offset.addPath(pathOrPaths as ReadonlyPath, inputData.joinType, inputData.endType);\n    }\n  }\n};\n\nfunction offsetToPathsOrPolyTree(\n  polyTreeMode: boolean,\n  nativeClipperLib: NativeClipperLibInstance,\n  params: OffsetParams\n): Paths | PolyTree | undefined {\n  const filledData = {\n    arcTolerance: 0.25,\n    miterLimit: 2,\n    ...params,\n  };\n\n  const offset = new ClipperOffset(\n    nativeClipperLib,\n    filledData.miterLimit,\n    filledData.arcTolerance\n  );\n\n  //noinspection UnusedCatchParameterJS\n  try {\n    addPathOrPaths(offset, params.offsetInputs);\n    if (!polyTreeMode) {\n      return offset.executeToPaths(params.delta, params.cleanDistance);\n    } else {\n      if (params.cleanDistance !== undefined) {\n        return undefined; // cleaning is not available for poly tree results\n      }\n      return offset.executeToPolyTree(params.delta);\n    }\n  } catch (err) {\n    return undefined;\n  } finally {\n    offset.dispose();\n  }\n}\n\nexport function offsetToPaths(\n  nativeClipperLib: NativeClipperLibInstance,\n  params: OffsetParams\n): Paths | undefined {\n  return offsetToPathsOrPolyTree(false, nativeClipperLib, params) as Paths | undefined;\n}\n\nexport function offsetToPolyTree(\n  nativeClipperLib: NativeClipperLibInstance,\n  params: OffsetParams\n): PolyTree | undefined {\n  return offsetToPathsOrPolyTree(true, nativeClipperLib, params) as PolyTree | undefined;\n}\n"
  },
  {
    "path": "src/wasm/binding.hpp",
    "content": "#include <emscripten/bind.h>\n#include <emscripten/val.h>\n\nusing namespace emscripten;\nusing namespace ClipperLib;\n\n#ifdef use_xyz\nint coordsPerPoint = 3;\n#else\nint coordsPerPoint = 2;\n#endif\n\ntypedef unsigned int intPtr;\n\nsize_t JS_DoublesForPath(Path &path) {\n  return 1 + (path.size() * coordsPerPoint);\n}\n\nsize_t JS_DoublesForPaths(Paths &paths) {\n  size_t nofPaths = paths.size();\n  int items = 1; // for path count\n  for (size_t i = 0; i < nofPaths; i++) {\n    items += JS_DoublesForPath(paths[i]);\n  }\n  return items;\n}\n\ndouble* JS_ToPathHelper(Path &dest, double* coords) {\n  // first double in array is nof coords\n\n  double* pointer = coords;\n  size_t nofCoords = *pointer; pointer++;\n  dest.clear();\n  dest.resize(nofCoords);\n  IntPoint p;\n  for (size_t i = 0; i < nofCoords; ++i) {\n    p.X = *pointer; pointer++;\n    p.Y = *pointer; pointer++;\n#ifdef use_xyz\n    p.Z = *pointer; pointer++;\n#endif\n    dest[i] = p;\n  }\n\n  return pointer;\n}\n\nvoid JS_ToPath(Path &dest, intPtr coordsPtr) {\n  JS_ToPathHelper(dest, reinterpret_cast<double*>(coordsPtr));\n}\n\nvoid JS_ToPathsHelper(Paths &dest, double* p) {\n  // first double in array has nof paths\n  // then each path\n\n  size_t nofPaths = *p; ++p;\n  dest.clear();\n  dest.reserve(nofPaths);\n  for (size_t i = 0; i < nofPaths; ++i) {\n    Path path;\n    p = JS_ToPathHelper(path, p);\n    dest.push_back(path);\n  }\n}\n\nvoid JS_ToPaths(Paths &dest, intPtr pathsPtr) {\n  JS_ToPathsHelper(dest, reinterpret_cast<double*>(pathsPtr));\n}\n\ndouble* JS_WriteFromPath(Path &path, double* p) {\n  // first double in array is nof coords\n\n  size_t size = path.size();\n  double* p2 = p;\n\n  *p2 = size; p2++;\n  for (size_t i = 0; i < size; ++i) {\n    IntPoint *point = &path[i];\n    *p2 = point->X; p2++;\n    *p2 = point->Y; p2++;\n#ifdef use_xyz\n    *p2 = point->Z; p2++;\n#endif\n  }\n\n  return p2;\n}\n\ndouble* JS_FromPathHelper(Path &path) {\n  // first double in array is nof coords\n\n  size_t size = path.size();\n  size_t nofBytes = JS_DoublesForPath(path) * sizeof(double);\n  double* p = (double*)malloc(nofBytes);\n  JS_WriteFromPath(path, p);\n  return p;\n}\n\nval JS_FromPath(Path &path) {\n  double* p = JS_FromPathHelper(path);\n  return val(typed_memory_view(JS_DoublesForPath(path), p));\n}\n\ndouble* JS_FromPathsHelper(Paths &paths) {\n  // first double in array is nof paths\n\n  size_t size = paths.size();\n  size_t nofBytes = JS_DoublesForPaths(paths) * sizeof(double);\n  double* p = (double*)malloc(nofBytes);\n  double* p2 = p;\n\n  *p2 = size; p2++;\n\n  for (size_t i = 0; i < size; ++i) {\n    p2 = JS_WriteFromPath(paths[i], p2);\n  }\n\n  return p;\n}\n\nval JS_FromPaths(Paths &paths) {\n  return val(typed_memory_view(JS_DoublesForPaths(paths), JS_FromPathsHelper(paths)));\n}\n\n\n\nEMSCRIPTEN_BINDINGS(ClipperLib) {\n  function(\"toPath\", &JS_ToPath);\n  function(\"toPaths\", &JS_ToPaths);\n  function(\"fromPath\", &JS_FromPath);\n  function(\"fromPaths\", &JS_FromPaths);\n\n  enum_<ClipType>(\"ClipType\")\n    .value(\"Intersection\", ctIntersection)\n    .value(\"Union\", ctUnion)\n    .value(\"Difference\", ctDifference)\n    .value(\"Xor\", ctXor)\n    ;\n\n  enum_<PolyType>(\"PolyType\")\n    .value(\"Subject\", ptSubject)\n    .value(\"Clip\", ptClip)\n    ;\n\n  enum_<PolyFillType>(\"PolyFillType\")\n    .value(\"EvenOdd\", pftEvenOdd)\n    .value(\"NonZero\", pftNonZero)\n    .value(\"Positive\", pftPositive)\n    .value(\"Negative\", pftNegative)\n    ;\n\n  class_<IntPoint>(\"IntPoint\")\n    .property(\"x\", &IntPoint::JS_GetX, &IntPoint::JS_SetX)\n    .property(\"y\", &IntPoint::JS_GetY, &IntPoint::JS_SetY)\n#ifdef use_xyz\n    .property(\"z\", &IntPoint::JS_GetZ, &IntPoint::JS_SetZ)\n#endif\n    ;\n\n  function(\"newIntPoint\", &NewIntPoint);\n\n  register_vector<IntPoint>(\"Path\");\n  register_vector<Path>(\"Paths\");\n\n#ifdef use_xyz\n  // TODO: ZFillCallback?\n#endif\n\n  enum_<InitOptions>(\"InitOptions\")\n    .value(\"ReverseSolution\", ioReverseSolution)\n    .value(\"StrictlySimple\", ioStrictlySimple)\n    .value(\"PreserveCollinear\", ioPreserveCollinear)\n    ;\n\n  enum_<JoinType>(\"JoinType\")\n    .value(\"Square\", jtSquare)\n    .value(\"Round\", jtRound)\n    .value(\"Miter\", jtMiter)\n    ;\n\n  enum_<EndType>(\"EndType\")\n    .value(\"ClosedPolygon\", etClosedPolygon)\n    .value(\"ClosedLine\", etClosedLine)\n    .value(\"OpenButt\", etOpenButt)\n    .value(\"OpenSquare\", etOpenSquare)\n    .value(\"OpenRound\", etOpenRound)\n    ;\n\n  class_<PolyNode>(\"PolyNode\")\n    .constructor<>()\n    .property(\"contour\", &PolyNode::Contour)\n    .property(\"childs\", &PolyNode::Childs)\n    //.property(\"parent\", &PolyNode::Parent)\n    .function(\"getParent\", &PolyNode::JS_GetParent, allow_raw_pointers())\n    .function(\"getNext\", &PolyNode::GetNext, allow_raw_pointers())\n    .function(\"isHole\", &PolyNode::IsHole)\n    .function(\"isOpen\", &PolyNode::IsOpen)\n    .function(\"childCount\", &PolyNode::ChildCount)\n    ;\n\n  register_vector<PolyNode*>(\"PolyNodes\");\n\n  class_<PolyTree, base<PolyNode>>(\"PolyTree\")\n    .constructor<>()\n    .function(\"getFirst\", &PolyTree::GetFirst, allow_raw_pointers())\n    .function(\"clear\", &PolyTree::Clear)\n    .function(\"total\", &PolyTree::Total)\n    ;\n\n  function(\"orientation\", &Orientation);\n  function(\"area\", select_overload<double(const Path&)>(&Area));\n  function(\"pointInPolygon\", select_overload<int(const IntPoint &, const Path &)>(&PointInPolygon));\n\n  function(\"simplifyPolygon\", &SimplifyPolygon);\n  function(\"simplifyPolygonsInOut\", select_overload<void(const Paths &, Paths &, PolyFillType)>(&SimplifyPolygons));\n  function(\"simplifyPolygonsOverwrite\", select_overload<void(Paths &, PolyFillType)>(&SimplifyPolygons));\n\n  function(\"cleanPolygon\", select_overload<void(const Path&, Path&, double)>(&CleanPolygon));\n  function(\"cleanPolygon\", select_overload<void(Path&, double)>(&CleanPolygon));\n  function(\"cleanPolygons\", select_overload<void(const Paths&, Paths&, double)>(&CleanPolygons));\n  function(\"cleanPolygons\", select_overload<void(Paths&, double)>(&CleanPolygons));\n\n  function(\"minkowskiSumPath\", select_overload<void(const Path&, const Path&, Paths&, bool)>(&MinkowskiSum));\n  function(\"minkowskiSumPaths\", select_overload<void(const Path&, const Paths&, Paths&, bool)>(&MinkowskiSum));\n  function(\"minkowskiDiff\", &MinkowskiDiff);\n\n  function(\"polyTreeToPaths\", &PolyTreeToPaths);\n  function(\"closedPathsFromPolyTree\", &ClosedPathsFromPolyTree);\n  function(\"openPathsFromPolyTree\", &OpenPathsFromPolyTree);\n\n  function(\"reversePath\", &ReversePath);\n  function(\"reversePaths\", &ReversePaths);\n\n  class_<IntRect>(\"IntRect\")\n    .property(\"left\", &IntRect::JS_GetLeft, &IntRect::JS_SetLeft)\n    .property(\"top\", &IntRect::JS_GetTop, &IntRect::JS_SetTop)\n    .property(\"right\", &IntRect::JS_GetRight, &IntRect::JS_SetRight)\n    .property(\"bottom\", &IntRect::JS_GetBottom, &IntRect::JS_SetBottom)\n    ;\n\n  class_<ClipperBase>(\"ClipperBase\")\n    //.constructor<>()\n    .function(\"addPath\", &ClipperBase::AddPath)\n    .function(\"addPaths\", &ClipperBase::AddPaths)\n    .function(\"clear\", &ClipperBase::Clear)\n    .function(\"getBounds\", &ClipperBase::GetBounds)\n    .property(\"preserveCollinear\",\n      &ClipperBase::JS_GetPreserveCollinear,\n      &ClipperBase::JS_SetPreserveCollinear\n    )\n    ;\n\n  class_<Clipper, base<ClipperBase>>(\"Clipper\")\n    .constructor<int>()\n    .function(\"executePaths\", select_overload<bool(ClipType, Paths &, PolyFillType)>(&Clipper::Execute))\n    .function(\"executePathsWithFillTypes\", select_overload<bool(ClipType clipType, Paths &solution, PolyFillType, PolyFillType)>(&Clipper::Execute))\n    .function(\"executePolyTree\", select_overload<bool(ClipType, PolyTree &, PolyFillType)>(&Clipper::Execute))\n    .function(\"executePolyTreeWithFillTypes\", select_overload<bool(ClipType clipType, PolyTree &polytree, PolyFillType, PolyFillType)>(&Clipper::Execute))\n    .property(\"reverseSolution\",\n      &Clipper::JS_GetReverseSolution,\n      &Clipper::JS_SetReverseSolution\n    )\n    .property(\"strictlySimple\",\n      &Clipper::JS_GetStrictlySimple,\n      &Clipper::JS_SetStrictlySimple\n    )\n#ifdef use_xyz\n    .function(\"zFillFunction\", &Clipper::ZFillFunction)\n#endif\n    ;\n\n  class_<ClipperOffset>(\"ClipperOffset\")\n    .constructor<double, double>()\n    .function(\"addPath\", &ClipperOffset::AddPath)\n    .function(\"addPaths\", &ClipperOffset::AddPaths)\n    .function(\"executePaths\", select_overload<void(Paths&, double)>(&ClipperOffset::Execute))\n    .function(\"executePolyTree\", select_overload<void(PolyTree&, double)>(&ClipperOffset::Execute))\n    .function(\"clear\", &ClipperOffset::Clear)\n    .property(\"miterLimit\", &ClipperOffset::MiterLimit)\n    .property(\"arcTolerance\", &ClipperOffset::ArcTolerance)\n    ;\n}\n"
  },
  {
    "path": "src/wasm/clipper.cpp",
    "content": "/*******************************************************************************\n*                                                                              *\n* Author    :  Angus Johnson                                                   *\n* Version   :  6.4.2                                                           *\n* Date      :  27 February 2017                                                *\n* Website   :  http://www.angusj.com                                           *\n* Copyright :  Angus Johnson 2010-2017                                         *\n*                                                                              *\n* License:                                                                     *\n* Use, modification & distribution is subject to Boost Software License Ver 1. *\n* http://www.boost.org/LICENSE_1_0.txt                                         *\n*                                                                              *\n* Attributions:                                                                *\n* The code in this library is an extension of Bala Vatti's clipping algorithm: *\n* \"A generic solution to polygon clipping\"                                     *\n* Communications of the ACM, Vol 35, Issue 7 (July 1992) pp 56-63.             *\n* http://portal.acm.org/citation.cfm?id=129906                                 *\n*                                                                              *\n* Computer graphics and geometric modeling: implementation and algorithms      *\n* By Max K. Agoston                                                            *\n* Springer; 1 edition (January 4, 2005)                                        *\n* http://books.google.com/books?q=vatti+clipping+agoston                       *\n*                                                                              *\n* See also:                                                                    *\n* \"Polygon Offsetting by Computing Winding Numbers\"                            *\n* Paper no. DETC2005-85513 pp. 565-575                                         *\n* ASME 2005 International Design Engineering Technical Conferences             *\n* and Computers and Information in Engineering Conference (IDETC/CIE2005)      *\n* September 24-28, 2005 , Long Beach, California, USA                          *\n* http://www.me.berkeley.edu/~mcmains/pubs/DAC05OffsetPolygon.pdf              *\n*                                                                              *\n*******************************************************************************/\n\n/*******************************************************************************\n*                                                                              *\n* This is a translation of the Delphi Clipper library and the naming style     *\n* used has retained a Delphi flavour.                                          *\n*                                                                              *\n*******************************************************************************/\n\n#include \"clipper.hpp\"\n#include <cmath>\n#include <vector>\n#include <algorithm>\n#include <stdexcept>\n#include <cstring>\n#include <cstdlib>\n#include <ostream>\n#include <functional>\n\nnamespace ClipperLib {\n\nstatic double const pi = 3.141592653589793238;\nstatic double const two_pi = pi *2;\nstatic double const def_arc_tolerance = 0.25;\n\nenum Direction { dRightToLeft, dLeftToRight };\n\nstatic int const Unassigned = -1;  //edge not currently 'owning' a solution\nstatic int const Skip = -2;        //edge that would otherwise close a path\n\n#define HORIZONTAL (-1.0E+40)\n#define TOLERANCE (1.0e-20)\n#define NEAR_ZERO(val) (((val) > -TOLERANCE) && ((val) < TOLERANCE))\n\nstruct TEdge {\n  IntPoint Bot;\n  IntPoint Curr; //current (updated for every new scanbeam)\n  IntPoint Top;\n  double Dx;\n  PolyType PolyTyp;\n  EdgeSide Side; //side only refers to current side of solution poly\n  int WindDelta; //1 or -1 depending on winding direction\n  int WindCnt;\n  int WindCnt2; //winding count of the opposite polytype\n  int OutIdx;\n  TEdge *Next;\n  TEdge *Prev;\n  TEdge *NextInLML;\n  TEdge *NextInAEL;\n  TEdge *PrevInAEL;\n  TEdge *NextInSEL;\n  TEdge *PrevInSEL;\n};\n\nstruct IntersectNode {\n  TEdge          *Edge1;\n  TEdge          *Edge2;\n  IntPoint        Pt;\n};\n\nstruct LocalMinimum {\n  cInt          Y;\n  TEdge        *LeftBound;\n  TEdge        *RightBound;\n};\n\nstruct OutPt;\n\n//OutRec: contains a path in the clipping solution. Edges in the AEL will\n//carry a pointer to an OutRec when they are part of the clipping solution.\nstruct OutRec {\n  int       Idx;\n  bool      IsHole;\n  bool      IsOpen;\n  OutRec   *FirstLeft;  //see comments in clipper.pas\n  PolyNode *PolyNd;\n  OutPt    *Pts;\n  OutPt    *BottomPt;\n};\n\nstruct OutPt {\n  int       Idx;\n  IntPoint  Pt;\n  OutPt    *Next;\n  OutPt    *Prev;\n};\n\nstruct Join {\n  OutPt    *OutPt1;\n  OutPt    *OutPt2;\n  IntPoint  OffPt;\n};\n\nstruct LocMinSorter\n{\n  inline bool operator()(const LocalMinimum& locMin1, const LocalMinimum& locMin2)\n  {\n    return locMin2.Y < locMin1.Y;\n  }\n};\n\n//------------------------------------------------------------------------------\n//------------------------------------------------------------------------------\n\ninline cInt Round(double val)\n{\n  if ((val < 0)) return static_cast<cInt>(val - 0.5); \n  else return static_cast<cInt>(val + 0.5);\n}\n//------------------------------------------------------------------------------\n\ninline cInt Abs(cInt val)\n{\n  return val < 0 ? -val : val;\n}\n\n//------------------------------------------------------------------------------\n// PolyTree methods ...\n//------------------------------------------------------------------------------\n\nvoid PolyTree::Clear()\n{\n    for (PolyNodes::size_type i = 0; i < AllNodes.size(); ++i)\n      delete AllNodes[i];\n    AllNodes.resize(0); \n    Childs.resize(0);\n}\n//------------------------------------------------------------------------------\n\nPolyNode* PolyTree::GetFirst() const\n{\n  if (!Childs.empty())\n      return Childs[0];\n  else\n      return 0;\n}\n//------------------------------------------------------------------------------\n\nint PolyTree::Total() const\n{\n  int result = (int)AllNodes.size();\n  //with negative offsets, ignore the hidden outer polygon ...\n  if (result > 0 && Childs[0] != AllNodes[0]) result--;\n  return result;\n}\n\n//------------------------------------------------------------------------------\n// PolyNode methods ...\n//------------------------------------------------------------------------------\n\nPolyNode::PolyNode(): Parent(0), Index(0), m_IsOpen(false)\n{\n}\n//------------------------------------------------------------------------------\n\nint PolyNode::ChildCount() const\n{\n  return (int)Childs.size();\n}\n//------------------------------------------------------------------------------\n\nvoid PolyNode::AddChild(PolyNode& child)\n{\n  unsigned cnt = (unsigned)Childs.size();\n  Childs.push_back(&child);\n  child.Parent = this;\n  child.Index = cnt;\n}\n//------------------------------------------------------------------------------\n\nPolyNode* PolyNode::GetNext() const\n{ \n  if (!Childs.empty()) \n      return Childs[0]; \n  else\n      return GetNextSiblingUp();    \n}  \n//------------------------------------------------------------------------------\n\nPolyNode* PolyNode::GetNextSiblingUp() const\n{ \n  if (!Parent) //protects against PolyTree.GetNextSiblingUp()\n      return 0;\n  else if (Index == Parent->Childs.size() - 1)\n      return Parent->GetNextSiblingUp();\n  else\n      return Parent->Childs[Index + 1];\n}  \n//------------------------------------------------------------------------------\n\nbool PolyNode::IsHole() const\n{ \n  bool result = true;\n  PolyNode* node = Parent;\n  while (node)\n  {\n      result = !result;\n      node = node->Parent;\n  }\n  return result;\n}  \n//------------------------------------------------------------------------------\n\nbool PolyNode::IsOpen() const\n{ \n  return m_IsOpen;\n}  \n//------------------------------------------------------------------------------\n\n#ifndef use_int32\n\n//------------------------------------------------------------------------------\n// Int128 class (enables safe math on signed 64bit integers)\n// eg Int128 val1((long64)9223372036854775807); //ie 2^63 -1\n//    Int128 val2((long64)9223372036854775807);\n//    Int128 val3 = val1 * val2;\n//    val3.AsString => \"85070591730234615847396907784232501249\" (8.5e+37)\n//------------------------------------------------------------------------------\n\nclass Int128\n{\n  public:\n    ulong64 lo;\n    long64 hi;\n\n    Int128(long64 _lo = 0)\n    {\n      lo = (ulong64)_lo;   \n      if (_lo < 0)  hi = -1; else hi = 0; \n    }\n\n\n    Int128(const Int128 &val): lo(val.lo), hi(val.hi){}\n\n    Int128(const long64& _hi, const ulong64& _lo): lo(_lo), hi(_hi){}\n    \n    Int128& operator = (const long64 &val)\n    {\n      lo = (ulong64)val;\n      if (val < 0) hi = -1; else hi = 0;\n      return *this;\n    }\n\n    bool operator == (const Int128 &val) const\n      {return (hi == val.hi && lo == val.lo);}\n\n    bool operator != (const Int128 &val) const\n      { return !(*this == val);}\n\n    bool operator > (const Int128 &val) const\n    {\n      if (hi != val.hi)\n        return hi > val.hi;\n      else\n        return lo > val.lo;\n    }\n\n    bool operator < (const Int128 &val) const\n    {\n      if (hi != val.hi)\n        return hi < val.hi;\n      else\n        return lo < val.lo;\n    }\n\n    bool operator >= (const Int128 &val) const\n      { return !(*this < val);}\n\n    bool operator <= (const Int128 &val) const\n      { return !(*this > val);}\n\n    Int128& operator += (const Int128 &rhs)\n    {\n      hi += rhs.hi;\n      lo += rhs.lo;\n      if (lo < rhs.lo) hi++;\n      return *this;\n    }\n\n    Int128 operator + (const Int128 &rhs) const\n    {\n      Int128 result(*this);\n      result+= rhs;\n      return result;\n    }\n\n    Int128& operator -= (const Int128 &rhs)\n    {\n      *this += -rhs;\n      return *this;\n    }\n\n    Int128 operator - (const Int128 &rhs) const\n    {\n      Int128 result(*this);\n      result -= rhs;\n      return result;\n    }\n\n    Int128 operator-() const //unary negation\n    {\n      if (lo == 0)\n        return Int128(-hi, 0);\n      else\n        return Int128(~hi, ~lo + 1);\n    }\n\n    operator double() const\n    {\n      const double shift64 = 18446744073709551616.0; //2^64\n      if (hi < 0)\n      {\n        if (lo == 0) return (double)hi * shift64;\n        else return -(double)(~lo + ~hi * shift64);\n      }\n      else\n        return (double)(lo + hi * shift64);\n    }\n\n};\n//------------------------------------------------------------------------------\n\nInt128 Int128Mul (long64 lhs, long64 rhs)\n{\n  bool negate = (lhs < 0) != (rhs < 0);\n\n  if (lhs < 0) lhs = -lhs;\n  ulong64 int1Hi = ulong64(lhs) >> 32;\n  ulong64 int1Lo = ulong64(lhs & 0xFFFFFFFF);\n\n  if (rhs < 0) rhs = -rhs;\n  ulong64 int2Hi = ulong64(rhs) >> 32;\n  ulong64 int2Lo = ulong64(rhs & 0xFFFFFFFF);\n\n  //nb: see comments in clipper.pas\n  ulong64 a = int1Hi * int2Hi;\n  ulong64 b = int1Lo * int2Lo;\n  ulong64 c = int1Hi * int2Lo + int1Lo * int2Hi;\n\n  Int128 tmp;\n  tmp.hi = long64(a + (c >> 32));\n  tmp.lo = long64(c << 32);\n  tmp.lo += long64(b);\n  if (tmp.lo < b) tmp.hi++;\n  if (negate) tmp = -tmp;\n  return tmp;\n};\n#endif\n\n//------------------------------------------------------------------------------\n// Miscellaneous global functions\n//------------------------------------------------------------------------------\n\nbool Orientation(const Path &poly)\n{\n    return Area(poly) >= 0;\n}\n//------------------------------------------------------------------------------\n\ndouble Area(const Path &poly)\n{\n  int size = (int)poly.size();\n  if (size < 3) return 0;\n\n  double a = 0;\n  for (int i = 0, j = size -1; i < size; ++i)\n  {\n    a += ((double)poly[j].X + poly[i].X) * ((double)poly[j].Y - poly[i].Y);\n    j = i;\n  }\n  return -a * 0.5;\n}\n//------------------------------------------------------------------------------\n\ndouble Area(const OutPt *op)\n{\n  const OutPt *startOp = op;\n  if (!op) return 0;\n  double a = 0;\n  do {\n    a +=  (double)(op->Prev->Pt.X + op->Pt.X) * (double)(op->Prev->Pt.Y - op->Pt.Y);\n    op = op->Next;\n  } while (op != startOp);\n  return a * 0.5;\n}\n//------------------------------------------------------------------------------\n\ndouble Area(const OutRec &outRec)\n{\n  return Area(outRec.Pts);\n}\n//------------------------------------------------------------------------------\n\nbool PointIsVertex(const IntPoint &Pt, OutPt *pp)\n{\n  OutPt *pp2 = pp;\n  do\n  {\n    if (pp2->Pt == Pt) return true;\n    pp2 = pp2->Next;\n  }\n  while (pp2 != pp);\n  return false;\n}\n//------------------------------------------------------------------------------\n\n//See \"The Point in Polygon Problem for Arbitrary Polygons\" by Hormann & Agathos\n//http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.88.5498&rep=rep1&type=pdf\nint PointInPolygon(const IntPoint &pt, const Path &path)\n{\n  //returns 0 if false, +1 if true, -1 if pt ON polygon boundary\n  int result = 0;\n  size_t cnt = path.size();\n  if (cnt < 3) return 0;\n  IntPoint ip = path[0];\n  for(size_t i = 1; i <= cnt; ++i)\n  {\n    IntPoint ipNext = (i == cnt ? path[0] : path[i]);\n    if (ipNext.Y == pt.Y)\n    {\n        if ((ipNext.X == pt.X) || (ip.Y == pt.Y && \n          ((ipNext.X > pt.X) == (ip.X < pt.X)))) return -1;\n    }\n    if ((ip.Y < pt.Y) != (ipNext.Y < pt.Y))\n    {\n      if (ip.X >= pt.X)\n      {\n        if (ipNext.X > pt.X) result = 1 - result;\n        else\n        {\n          double d = (double)(ip.X - pt.X) * (ipNext.Y - pt.Y) - \n            (double)(ipNext.X - pt.X) * (ip.Y - pt.Y);\n          if (!d) return -1;\n          if ((d > 0) == (ipNext.Y > ip.Y)) result = 1 - result;\n        }\n      } else\n      {\n        if (ipNext.X > pt.X)\n        {\n          double d = (double)(ip.X - pt.X) * (ipNext.Y - pt.Y) - \n            (double)(ipNext.X - pt.X) * (ip.Y - pt.Y);\n          if (!d) return -1;\n          if ((d > 0) == (ipNext.Y > ip.Y)) result = 1 - result;\n        }\n      }\n    }\n    ip = ipNext;\n  } \n  return result;\n}\n//------------------------------------------------------------------------------\n\nint PointInPolygon (const IntPoint &pt, OutPt *op)\n{\n  //returns 0 if false, +1 if true, -1 if pt ON polygon boundary\n  int result = 0;\n  OutPt* startOp = op;\n  for(;;)\n  {\n    if (op->Next->Pt.Y == pt.Y)\n    {\n        if ((op->Next->Pt.X == pt.X) || (op->Pt.Y == pt.Y && \n          ((op->Next->Pt.X > pt.X) == (op->Pt.X < pt.X)))) return -1;\n    }\n    if ((op->Pt.Y < pt.Y) != (op->Next->Pt.Y < pt.Y))\n    {\n      if (op->Pt.X >= pt.X)\n      {\n        if (op->Next->Pt.X > pt.X) result = 1 - result;\n        else\n        {\n          double d = (double)(op->Pt.X - pt.X) * (op->Next->Pt.Y - pt.Y) - \n            (double)(op->Next->Pt.X - pt.X) * (op->Pt.Y - pt.Y);\n          if (!d) return -1;\n          if ((d > 0) == (op->Next->Pt.Y > op->Pt.Y)) result = 1 - result;\n        }\n      } else\n      {\n        if (op->Next->Pt.X > pt.X)\n        {\n          double d = (double)(op->Pt.X - pt.X) * (op->Next->Pt.Y - pt.Y) - \n            (double)(op->Next->Pt.X - pt.X) * (op->Pt.Y - pt.Y);\n          if (!d) return -1;\n          if ((d > 0) == (op->Next->Pt.Y > op->Pt.Y)) result = 1 - result;\n        }\n      }\n    } \n    op = op->Next;\n    if (startOp == op) break;\n  } \n  return result;\n}\n//------------------------------------------------------------------------------\n\nbool Poly2ContainsPoly1(OutPt *OutPt1, OutPt *OutPt2)\n{\n  OutPt* op = OutPt1;\n  do\n  {\n    //nb: PointInPolygon returns 0 if false, +1 if true, -1 if pt on polygon\n    int res = PointInPolygon(op->Pt, OutPt2);\n    if (res >= 0) return res > 0;\n    op = op->Next; \n  }\n  while (op != OutPt1);\n  return true; \n}\n//----------------------------------------------------------------------\n\nbool SlopesEqual(const TEdge &e1, const TEdge &e2, bool UseFullInt64Range)\n{\n#ifndef use_int32\n  if (UseFullInt64Range)\n    return Int128Mul(e1.Top.Y - e1.Bot.Y, e2.Top.X - e2.Bot.X) == \n    Int128Mul(e1.Top.X - e1.Bot.X, e2.Top.Y - e2.Bot.Y);\n  else \n#endif\n    return (e1.Top.Y - e1.Bot.Y) * (e2.Top.X - e2.Bot.X) == \n    (e1.Top.X - e1.Bot.X) * (e2.Top.Y - e2.Bot.Y);\n}\n//------------------------------------------------------------------------------\n\nbool SlopesEqual(const IntPoint pt1, const IntPoint pt2,\n  const IntPoint pt3, bool UseFullInt64Range)\n{\n#ifndef use_int32\n  if (UseFullInt64Range)\n    return Int128Mul(pt1.Y-pt2.Y, pt2.X-pt3.X) == Int128Mul(pt1.X-pt2.X, pt2.Y-pt3.Y);\n  else \n#endif\n    return (pt1.Y-pt2.Y)*(pt2.X-pt3.X) == (pt1.X-pt2.X)*(pt2.Y-pt3.Y);\n}\n//------------------------------------------------------------------------------\n\nbool SlopesEqual(const IntPoint pt1, const IntPoint pt2,\n  const IntPoint pt3, const IntPoint pt4, bool UseFullInt64Range)\n{\n#ifndef use_int32\n  if (UseFullInt64Range)\n    return Int128Mul(pt1.Y-pt2.Y, pt3.X-pt4.X) == Int128Mul(pt1.X-pt2.X, pt3.Y-pt4.Y);\n  else \n#endif\n    return (pt1.Y-pt2.Y)*(pt3.X-pt4.X) == (pt1.X-pt2.X)*(pt3.Y-pt4.Y);\n}\n//------------------------------------------------------------------------------\n\ninline bool IsHorizontal(TEdge &e)\n{\n  return e.Dx == HORIZONTAL;\n}\n//------------------------------------------------------------------------------\n\ninline double GetDx(const IntPoint pt1, const IntPoint pt2)\n{\n  return (pt1.Y == pt2.Y) ?\n    HORIZONTAL : (double)(pt2.X - pt1.X) / (pt2.Y - pt1.Y);\n}\n//---------------------------------------------------------------------------\n\ninline void SetDx(TEdge &e)\n{\n  cInt dy  = (e.Top.Y - e.Bot.Y);\n  if (dy == 0) e.Dx = HORIZONTAL;\n  else e.Dx = (double)(e.Top.X - e.Bot.X) / dy;\n}\n//---------------------------------------------------------------------------\n\ninline void SwapSides(TEdge &Edge1, TEdge &Edge2)\n{\n  EdgeSide Side =  Edge1.Side;\n  Edge1.Side = Edge2.Side;\n  Edge2.Side = Side;\n}\n//------------------------------------------------------------------------------\n\ninline void SwapPolyIndexes(TEdge &Edge1, TEdge &Edge2)\n{\n  int OutIdx =  Edge1.OutIdx;\n  Edge1.OutIdx = Edge2.OutIdx;\n  Edge2.OutIdx = OutIdx;\n}\n//------------------------------------------------------------------------------\n\ninline cInt TopX(TEdge &edge, const cInt currentY)\n{\n  return ( currentY == edge.Top.Y ) ?\n    edge.Top.X : edge.Bot.X + Round(edge.Dx *(currentY - edge.Bot.Y));\n}\n//------------------------------------------------------------------------------\n\nvoid IntersectPoint(TEdge &Edge1, TEdge &Edge2, IntPoint &ip)\n{\n#ifdef use_xyz  \n  ip.Z = 0;\n#endif\n\n  double b1, b2;\n  if (Edge1.Dx == Edge2.Dx)\n  {\n    ip.Y = Edge1.Curr.Y;\n    ip.X = TopX(Edge1, ip.Y);\n    return;\n  }\n  else if (Edge1.Dx == 0)\n  {\n    ip.X = Edge1.Bot.X;\n    if (IsHorizontal(Edge2))\n      ip.Y = Edge2.Bot.Y;\n    else\n    {\n      b2 = Edge2.Bot.Y - (Edge2.Bot.X / Edge2.Dx);\n      ip.Y = Round(ip.X / Edge2.Dx + b2);\n    }\n  }\n  else if (Edge2.Dx == 0)\n  {\n    ip.X = Edge2.Bot.X;\n    if (IsHorizontal(Edge1))\n      ip.Y = Edge1.Bot.Y;\n    else\n    {\n      b1 = Edge1.Bot.Y - (Edge1.Bot.X / Edge1.Dx);\n      ip.Y = Round(ip.X / Edge1.Dx + b1);\n    }\n  } \n  else \n  {\n    b1 = Edge1.Bot.X - Edge1.Bot.Y * Edge1.Dx;\n    b2 = Edge2.Bot.X - Edge2.Bot.Y * Edge2.Dx;\n    double q = (b2-b1) / (Edge1.Dx - Edge2.Dx);\n    ip.Y = Round(q);\n    if (std::fabs(Edge1.Dx) < std::fabs(Edge2.Dx))\n      ip.X = Round(Edge1.Dx * q + b1);\n    else \n      ip.X = Round(Edge2.Dx * q + b2);\n  }\n\n  if (ip.Y < Edge1.Top.Y || ip.Y < Edge2.Top.Y) \n  {\n    if (Edge1.Top.Y > Edge2.Top.Y)\n      ip.Y = Edge1.Top.Y;\n    else\n      ip.Y = Edge2.Top.Y;\n    if (std::fabs(Edge1.Dx) < std::fabs(Edge2.Dx))\n      ip.X = TopX(Edge1, ip.Y);\n    else\n      ip.X = TopX(Edge2, ip.Y);\n  } \n  //finally, don't allow 'ip' to be BELOW curr.Y (ie bottom of scanbeam) ...\n  if (ip.Y > Edge1.Curr.Y)\n  {\n    ip.Y = Edge1.Curr.Y;\n    //use the more vertical edge to derive X ...\n    if (std::fabs(Edge1.Dx) > std::fabs(Edge2.Dx))\n      ip.X = TopX(Edge2, ip.Y); else\n      ip.X = TopX(Edge1, ip.Y);\n  }\n}\n//------------------------------------------------------------------------------\n\nvoid ReversePolyPtLinks(OutPt *pp)\n{\n  if (!pp) return;\n  OutPt *pp1, *pp2;\n  pp1 = pp;\n  do {\n  pp2 = pp1->Next;\n  pp1->Next = pp1->Prev;\n  pp1->Prev = pp2;\n  pp1 = pp2;\n  } while( pp1 != pp );\n}\n//------------------------------------------------------------------------------\n\nvoid DisposeOutPts(OutPt*& pp)\n{\n  if (pp == 0) return;\n    pp->Prev->Next = 0;\n  while( pp )\n  {\n    OutPt *tmpPp = pp;\n    pp = pp->Next;\n    delete tmpPp;\n  }\n}\n//------------------------------------------------------------------------------\n\ninline void InitEdge(TEdge* e, TEdge* eNext, TEdge* ePrev, const IntPoint& Pt)\n{\n  std::memset(e, 0, sizeof(TEdge));\n  e->Next = eNext;\n  e->Prev = ePrev;\n  e->Curr = Pt;\n  e->OutIdx = Unassigned;\n}\n//------------------------------------------------------------------------------\n\nvoid InitEdge2(TEdge& e, PolyType Pt)\n{\n  if (e.Curr.Y >= e.Next->Curr.Y)\n  {\n    e.Bot = e.Curr;\n    e.Top = e.Next->Curr;\n  } else\n  {\n    e.Top = e.Curr;\n    e.Bot = e.Next->Curr;\n  }\n  SetDx(e);\n  e.PolyTyp = Pt;\n}\n//------------------------------------------------------------------------------\n\nTEdge* RemoveEdge(TEdge* e)\n{\n  //removes e from double_linked_list (but without removing from memory)\n  e->Prev->Next = e->Next;\n  e->Next->Prev = e->Prev;\n  TEdge* result = e->Next;\n  e->Prev = 0; //flag as removed (see ClipperBase.Clear)\n  return result;\n}\n//------------------------------------------------------------------------------\n\ninline void ReverseHorizontal(TEdge &e)\n{\n  //swap horizontal edges' Top and Bottom x's so they follow the natural\n  //progression of the bounds - ie so their xbots will align with the\n  //adjoining lower edge. [Helpful in the ProcessHorizontal() method.]\n  std::swap(e.Top.X, e.Bot.X);\n#ifdef use_xyz  \n  std::swap(e.Top.Z, e.Bot.Z);\n#endif\n}\n//------------------------------------------------------------------------------\n\nvoid SwapPoints(IntPoint &pt1, IntPoint &pt2)\n{\n  IntPoint tmp = pt1;\n  pt1 = pt2;\n  pt2 = tmp;\n}\n//------------------------------------------------------------------------------\n\nbool GetOverlapSegment(IntPoint pt1a, IntPoint pt1b, IntPoint pt2a,\n  IntPoint pt2b, IntPoint &pt1, IntPoint &pt2)\n{\n  //precondition: segments are Collinear.\n  if (Abs(pt1a.X - pt1b.X) > Abs(pt1a.Y - pt1b.Y))\n  {\n    if (pt1a.X > pt1b.X) SwapPoints(pt1a, pt1b);\n    if (pt2a.X > pt2b.X) SwapPoints(pt2a, pt2b);\n    if (pt1a.X > pt2a.X) pt1 = pt1a; else pt1 = pt2a;\n    if (pt1b.X < pt2b.X) pt2 = pt1b; else pt2 = pt2b;\n    return pt1.X < pt2.X;\n  } else\n  {\n    if (pt1a.Y < pt1b.Y) SwapPoints(pt1a, pt1b);\n    if (pt2a.Y < pt2b.Y) SwapPoints(pt2a, pt2b);\n    if (pt1a.Y < pt2a.Y) pt1 = pt1a; else pt1 = pt2a;\n    if (pt1b.Y > pt2b.Y) pt2 = pt1b; else pt2 = pt2b;\n    return pt1.Y > pt2.Y;\n  }\n}\n//------------------------------------------------------------------------------\n\nbool FirstIsBottomPt(const OutPt* btmPt1, const OutPt* btmPt2)\n{\n  OutPt *p = btmPt1->Prev;\n  while ((p->Pt == btmPt1->Pt) && (p != btmPt1)) p = p->Prev;\n  double dx1p = std::fabs(GetDx(btmPt1->Pt, p->Pt));\n  p = btmPt1->Next;\n  while ((p->Pt == btmPt1->Pt) && (p != btmPt1)) p = p->Next;\n  double dx1n = std::fabs(GetDx(btmPt1->Pt, p->Pt));\n\n  p = btmPt2->Prev;\n  while ((p->Pt == btmPt2->Pt) && (p != btmPt2)) p = p->Prev;\n  double dx2p = std::fabs(GetDx(btmPt2->Pt, p->Pt));\n  p = btmPt2->Next;\n  while ((p->Pt == btmPt2->Pt) && (p != btmPt2)) p = p->Next;\n  double dx2n = std::fabs(GetDx(btmPt2->Pt, p->Pt));\n\n  if (std::max(dx1p, dx1n) == std::max(dx2p, dx2n) &&\n    std::min(dx1p, dx1n) == std::min(dx2p, dx2n))\n      return Area(btmPt1) > 0; //if otherwise identical use orientation\n  else\n    return (dx1p >= dx2p && dx1p >= dx2n) || (dx1n >= dx2p && dx1n >= dx2n);\n}\n//------------------------------------------------------------------------------\n\nOutPt* GetBottomPt(OutPt *pp)\n{\n  OutPt* dups = 0;\n  OutPt* p = pp->Next;\n  while (p != pp)\n  {\n    if (p->Pt.Y > pp->Pt.Y)\n    {\n      pp = p;\n      dups = 0;\n    }\n    else if (p->Pt.Y == pp->Pt.Y && p->Pt.X <= pp->Pt.X)\n    {\n      if (p->Pt.X < pp->Pt.X)\n      {\n        dups = 0;\n        pp = p;\n      } else\n      {\n        if (p->Next != pp && p->Prev != pp) dups = p;\n      }\n    }\n    p = p->Next;\n  }\n  if (dups)\n  {\n    //there appears to be at least 2 vertices at BottomPt so ...\n    while (dups != p)\n    {\n      if (!FirstIsBottomPt(p, dups)) pp = dups;\n      dups = dups->Next;\n      while (dups->Pt != pp->Pt) dups = dups->Next;\n    }\n  }\n  return pp;\n}\n//------------------------------------------------------------------------------\n\nbool Pt2IsBetweenPt1AndPt3(const IntPoint pt1,\n  const IntPoint pt2, const IntPoint pt3)\n{\n  if ((pt1 == pt3) || (pt1 == pt2) || (pt3 == pt2))\n    return false;\n  else if (pt1.X != pt3.X)\n    return (pt2.X > pt1.X) == (pt2.X < pt3.X);\n  else\n    return (pt2.Y > pt1.Y) == (pt2.Y < pt3.Y);\n}\n//------------------------------------------------------------------------------\n\nbool HorzSegmentsOverlap(cInt seg1a, cInt seg1b, cInt seg2a, cInt seg2b)\n{\n  if (seg1a > seg1b) std::swap(seg1a, seg1b);\n  if (seg2a > seg2b) std::swap(seg2a, seg2b);\n  return (seg1a < seg2b) && (seg2a < seg1b);\n}\n\n//------------------------------------------------------------------------------\n// ClipperBase class methods ...\n//------------------------------------------------------------------------------\n\nClipperBase::ClipperBase() //constructor\n{\n  m_CurrentLM = m_MinimaList.begin(); //begin() == end() here\n  m_UseFullRange = false;\n}\n//------------------------------------------------------------------------------\n\nClipperBase::~ClipperBase() //destructor\n{\n  Clear();\n}\n//------------------------------------------------------------------------------\n\nvoid RangeTest(const IntPoint& Pt, bool& useFullRange)\n{\n  if (useFullRange)\n  {\n    if (Pt.X > hiRange || Pt.Y > hiRange || -Pt.X > hiRange || -Pt.Y > hiRange) \n      throw clipperException(\"Coordinate outside allowed range\");\n  }\n  else if (Pt.X > loRange|| Pt.Y > loRange || -Pt.X > loRange || -Pt.Y > loRange) \n  {\n    useFullRange = true;\n    RangeTest(Pt, useFullRange);\n  }\n}\n//------------------------------------------------------------------------------\n\nTEdge* FindNextLocMin(TEdge* E)\n{\n  for (;;)\n  {\n    while (E->Bot != E->Prev->Bot || E->Curr == E->Top) E = E->Next;\n    if (!IsHorizontal(*E) && !IsHorizontal(*E->Prev)) break;\n    while (IsHorizontal(*E->Prev)) E = E->Prev;\n    TEdge* E2 = E;\n    while (IsHorizontal(*E)) E = E->Next;\n    if (E->Top.Y == E->Prev->Bot.Y) continue; //ie just an intermediate horz.\n    if (E2->Prev->Bot.X < E->Bot.X) E = E2;\n    break;\n  }\n  return E;\n}\n//------------------------------------------------------------------------------\n\nTEdge* ClipperBase::ProcessBound(TEdge* E, bool NextIsForward)\n{\n  TEdge *Result = E;\n  TEdge *Horz = 0;\n\n  if (E->OutIdx == Skip)\n  {\n    //if edges still remain in the current bound beyond the skip edge then\n    //create another LocMin and call ProcessBound once more\n    if (NextIsForward)\n    {\n      while (E->Top.Y == E->Next->Bot.Y) E = E->Next;\n      //don't include top horizontals when parsing a bound a second time,\n      //they will be contained in the opposite bound ...\n      while (E != Result && IsHorizontal(*E)) E = E->Prev;\n    }\n    else\n    {\n      while (E->Top.Y == E->Prev->Bot.Y) E = E->Prev;\n      while (E != Result && IsHorizontal(*E)) E = E->Next;\n    }\n\n    if (E == Result)\n    {\n      if (NextIsForward) Result = E->Next;\n      else Result = E->Prev;\n    }\n    else\n    {\n      //there are more edges in the bound beyond result starting with E\n      if (NextIsForward)\n        E = Result->Next;\n      else\n        E = Result->Prev;\n      MinimaList::value_type locMin;\n      locMin.Y = E->Bot.Y;\n      locMin.LeftBound = 0;\n      locMin.RightBound = E;\n      E->WindDelta = 0;\n      Result = ProcessBound(E, NextIsForward);\n      m_MinimaList.push_back(locMin);\n    }\n    return Result;\n  }\n\n  TEdge *EStart;\n\n  if (IsHorizontal(*E))\n  {\n    //We need to be careful with open paths because this may not be a\n    //true local minima (ie E may be following a skip edge).\n    //Also, consecutive horz. edges may start heading left before going right.\n    if (NextIsForward) \n      EStart = E->Prev;\n    else \n      EStart = E->Next;\n    if (IsHorizontal(*EStart)) //ie an adjoining horizontal skip edge\n      {\n        if (EStart->Bot.X != E->Bot.X && EStart->Top.X != E->Bot.X)\n          ReverseHorizontal(*E);\n      }\n      else if (EStart->Bot.X != E->Bot.X)\n        ReverseHorizontal(*E);\n  }\n  \n  EStart = E;\n  if (NextIsForward)\n  {\n    while (Result->Top.Y == Result->Next->Bot.Y && Result->Next->OutIdx != Skip)\n      Result = Result->Next;\n    if (IsHorizontal(*Result) && Result->Next->OutIdx != Skip)\n    {\n      //nb: at the top of a bound, horizontals are added to the bound\n      //only when the preceding edge attaches to the horizontal's left vertex\n      //unless a Skip edge is encountered when that becomes the top divide\n      Horz = Result;\n      while (IsHorizontal(*Horz->Prev)) Horz = Horz->Prev;\n      if (Horz->Prev->Top.X > Result->Next->Top.X) Result = Horz->Prev;\n    }\n    while (E != Result) \n    {\n      E->NextInLML = E->Next;\n      if (IsHorizontal(*E) && E != EStart &&\n        E->Bot.X != E->Prev->Top.X) ReverseHorizontal(*E);\n      E = E->Next;\n    }\n    if (IsHorizontal(*E) && E != EStart && E->Bot.X != E->Prev->Top.X) \n      ReverseHorizontal(*E);\n    Result = Result->Next; //move to the edge just beyond current bound\n  } else\n  {\n    while (Result->Top.Y == Result->Prev->Bot.Y && Result->Prev->OutIdx != Skip) \n      Result = Result->Prev;\n    if (IsHorizontal(*Result) && Result->Prev->OutIdx != Skip)\n    {\n      Horz = Result;\n      while (IsHorizontal(*Horz->Next)) Horz = Horz->Next;\n      if (Horz->Next->Top.X == Result->Prev->Top.X ||\n          Horz->Next->Top.X > Result->Prev->Top.X) Result = Horz->Next;\n    }\n\n    while (E != Result)\n    {\n      E->NextInLML = E->Prev;\n      if (IsHorizontal(*E) && E != EStart && E->Bot.X != E->Next->Top.X) \n        ReverseHorizontal(*E);\n      E = E->Prev;\n    }\n    if (IsHorizontal(*E) && E != EStart && E->Bot.X != E->Next->Top.X) \n      ReverseHorizontal(*E);\n    Result = Result->Prev; //move to the edge just beyond current bound\n  }\n\n  return Result;\n}\n//------------------------------------------------------------------------------\n\nbool ClipperBase::AddPath(const Path &pg, PolyType PolyTyp, bool Closed)\n{\n#ifdef use_lines\n  if (!Closed && PolyTyp == ptClip)\n    throw clipperException(\"AddPath: Open paths must be subject.\");\n#else\n  if (!Closed)\n    throw clipperException(\"AddPath: Open paths have been disabled.\");\n#endif\n\n  int highI = (int)pg.size() -1;\n  if (Closed) while (highI > 0 && (pg[highI] == pg[0])) --highI;\n  while (highI > 0 && (pg[highI] == pg[highI -1])) --highI;\n  if ((Closed && highI < 2) || (!Closed && highI < 1)) return false;\n\n  //create a new edge array ...\n  TEdge *edges = new TEdge [highI +1];\n\n  bool IsFlat = true;\n  //1. Basic (first) edge initialization ...\n  try\n  {\n    edges[1].Curr = pg[1];\n    RangeTest(pg[0], m_UseFullRange);\n    RangeTest(pg[highI], m_UseFullRange);\n    InitEdge(&edges[0], &edges[1], &edges[highI], pg[0]);\n    InitEdge(&edges[highI], &edges[0], &edges[highI-1], pg[highI]);\n    for (int i = highI - 1; i >= 1; --i)\n    {\n      RangeTest(pg[i], m_UseFullRange);\n      InitEdge(&edges[i], &edges[i+1], &edges[i-1], pg[i]);\n    }\n  }\n  catch(...)\n  {\n    delete [] edges;\n    throw; //range test fails\n  }\n  TEdge *eStart = &edges[0];\n\n  //2. Remove duplicate vertices, and (when closed) collinear edges ...\n  TEdge *E = eStart, *eLoopStop = eStart;\n  for (;;)\n  {\n    //nb: allows matching start and end points when not Closed ...\n    if (E->Curr == E->Next->Curr && (Closed || E->Next != eStart))\n    {\n      if (E == E->Next) break;\n      if (E == eStart) eStart = E->Next;\n      E = RemoveEdge(E);\n      eLoopStop = E;\n      continue;\n    }\n    if (E->Prev == E->Next) \n      break; //only two vertices\n    else if (Closed &&\n      SlopesEqual(E->Prev->Curr, E->Curr, E->Next->Curr, m_UseFullRange) && \n      (!m_PreserveCollinear ||\n      !Pt2IsBetweenPt1AndPt3(E->Prev->Curr, E->Curr, E->Next->Curr)))\n    {\n      //Collinear edges are allowed for open paths but in closed paths\n      //the default is to merge adjacent collinear edges into a single edge.\n      //However, if the PreserveCollinear property is enabled, only overlapping\n      //collinear edges (ie spikes) will be removed from closed paths.\n      if (E == eStart) eStart = E->Next;\n      E = RemoveEdge(E);\n      E = E->Prev;\n      eLoopStop = E;\n      continue;\n    }\n    E = E->Next;\n    if ((E == eLoopStop) || (!Closed && E->Next == eStart)) break;\n  }\n\n  if ((!Closed && (E == E->Next)) || (Closed && (E->Prev == E->Next)))\n  {\n    delete [] edges;\n    return false;\n  }\n\n  if (!Closed)\n  { \n    m_HasOpenPaths = true;\n    eStart->Prev->OutIdx = Skip;\n  }\n\n  //3. Do second stage of edge initialization ...\n  E = eStart;\n  do\n  {\n    InitEdge2(*E, PolyTyp);\n    E = E->Next;\n    if (IsFlat && E->Curr.Y != eStart->Curr.Y) IsFlat = false;\n  }\n  while (E != eStart);\n\n  //4. Finally, add edge bounds to LocalMinima list ...\n\n  //Totally flat paths must be handled differently when adding them\n  //to LocalMinima list to avoid endless loops etc ...\n  if (IsFlat) \n  {\n    if (Closed) \n    {\n      delete [] edges;\n      return false;\n    }\n    E->Prev->OutIdx = Skip;\n    MinimaList::value_type locMin;\n    locMin.Y = E->Bot.Y;\n    locMin.LeftBound = 0;\n    locMin.RightBound = E;\n    locMin.RightBound->Side = esRight;\n    locMin.RightBound->WindDelta = 0;\n    for (;;)\n    {\n      if (E->Bot.X != E->Prev->Top.X) ReverseHorizontal(*E);\n      if (E->Next->OutIdx == Skip) break;\n      E->NextInLML = E->Next;\n      E = E->Next;\n    }\n    m_MinimaList.push_back(locMin);\n    m_edges.push_back(edges);\n\t  return true;\n  }\n\n  m_edges.push_back(edges);\n  bool leftBoundIsForward;\n  TEdge* EMin = 0;\n\n  //workaround to avoid an endless loop in the while loop below when\n  //open paths have matching start and end points ...\n  if (E->Prev->Bot == E->Prev->Top) E = E->Next;\n\n  for (;;)\n  {\n    E = FindNextLocMin(E);\n    if (E == EMin) break;\n    else if (!EMin) EMin = E;\n\n    //E and E.Prev now share a local minima (left aligned if horizontal).\n    //Compare their slopes to find which starts which bound ...\n    MinimaList::value_type locMin;\n    locMin.Y = E->Bot.Y;\n    if (E->Dx < E->Prev->Dx) \n    {\n      locMin.LeftBound = E->Prev;\n      locMin.RightBound = E;\n      leftBoundIsForward = false; //Q.nextInLML = Q.prev\n    } else\n    {\n      locMin.LeftBound = E;\n      locMin.RightBound = E->Prev;\n      leftBoundIsForward = true; //Q.nextInLML = Q.next\n    }\n\n    if (!Closed) locMin.LeftBound->WindDelta = 0;\n    else if (locMin.LeftBound->Next == locMin.RightBound)\n      locMin.LeftBound->WindDelta = -1;\n    else locMin.LeftBound->WindDelta = 1;\n    locMin.RightBound->WindDelta = -locMin.LeftBound->WindDelta;\n\n    E = ProcessBound(locMin.LeftBound, leftBoundIsForward);\n    if (E->OutIdx == Skip) E = ProcessBound(E, leftBoundIsForward);\n\n    TEdge* E2 = ProcessBound(locMin.RightBound, !leftBoundIsForward);\n    if (E2->OutIdx == Skip) E2 = ProcessBound(E2, !leftBoundIsForward);\n\n    if (locMin.LeftBound->OutIdx == Skip)\n      locMin.LeftBound = 0;\n    else if (locMin.RightBound->OutIdx == Skip)\n      locMin.RightBound = 0;\n    m_MinimaList.push_back(locMin);\n    if (!leftBoundIsForward) E = E2;\n  }\n  return true;\n}\n//------------------------------------------------------------------------------\n\nbool ClipperBase::AddPaths(const Paths &ppg, PolyType PolyTyp, bool Closed)\n{\n  bool result = false;\n  for (Paths::size_type i = 0; i < ppg.size(); ++i)\n    if (AddPath(ppg[i], PolyTyp, Closed)) result = true;\n  return result;\n}\n//------------------------------------------------------------------------------\n\nvoid ClipperBase::Clear()\n{\n  DisposeLocalMinimaList();\n  for (EdgeList::size_type i = 0; i < m_edges.size(); ++i)\n  {\n    TEdge* edges = m_edges[i];\n    delete [] edges;\n  }\n  m_edges.clear();\n  m_UseFullRange = false;\n  m_HasOpenPaths = false;\n}\n//------------------------------------------------------------------------------\n\nvoid ClipperBase::Reset()\n{\n  m_CurrentLM = m_MinimaList.begin();\n  if (m_CurrentLM == m_MinimaList.end()) return; //ie nothing to process\n  std::sort(m_MinimaList.begin(), m_MinimaList.end(), LocMinSorter());\n\n  m_Scanbeam = ScanbeamList(); //clears/resets priority_queue\n  //reset all edges ...\n  for (MinimaList::iterator lm = m_MinimaList.begin(); lm != m_MinimaList.end(); ++lm)\n  {\n    InsertScanbeam(lm->Y);\n    TEdge* e = lm->LeftBound;\n    if (e)\n    {\n      e->Curr = e->Bot;\n      e->Side = esLeft;\n      e->OutIdx = Unassigned;\n    }\n\n    e = lm->RightBound;\n    if (e)\n    {\n      e->Curr = e->Bot;\n      e->Side = esRight;\n      e->OutIdx = Unassigned;\n    }\n  }\n  m_ActiveEdges = 0;\n  m_CurrentLM = m_MinimaList.begin();\n}\n//------------------------------------------------------------------------------\n\nvoid ClipperBase::DisposeLocalMinimaList()\n{\n  m_MinimaList.clear();\n  m_CurrentLM = m_MinimaList.begin();\n}\n//------------------------------------------------------------------------------\n\nbool ClipperBase::PopLocalMinima(cInt Y, const LocalMinimum *&locMin)\n{\n  if (m_CurrentLM == m_MinimaList.end() || (*m_CurrentLM).Y != Y) return false;\n  locMin = &(*m_CurrentLM);\n  ++m_CurrentLM;\n  return true;\n}\n//------------------------------------------------------------------------------\n\nIntRect ClipperBase::GetBounds()\n{\n  IntRect result;\n  MinimaList::iterator lm = m_MinimaList.begin();\n  if (lm == m_MinimaList.end())\n  {\n    result.left = result.top = result.right = result.bottom = 0;\n    return result;\n  }\n  result.left = lm->LeftBound->Bot.X;\n  result.top = lm->LeftBound->Bot.Y;\n  result.right = lm->LeftBound->Bot.X;\n  result.bottom = lm->LeftBound->Bot.Y;\n  while (lm != m_MinimaList.end())\n  {\n    //todo - needs fixing for open paths\n    result.bottom = std::max(result.bottom, lm->LeftBound->Bot.Y);\n    TEdge* e = lm->LeftBound;\n    for (;;) {\n      TEdge* bottomE = e;\n      while (e->NextInLML)\n      {\n        if (e->Bot.X < result.left) result.left = e->Bot.X;\n        if (e->Bot.X > result.right) result.right = e->Bot.X;\n        e = e->NextInLML;\n      }\n      result.left = std::min(result.left, e->Bot.X);\n      result.right = std::max(result.right, e->Bot.X);\n      result.left = std::min(result.left, e->Top.X);\n      result.right = std::max(result.right, e->Top.X);\n      result.top = std::min(result.top, e->Top.Y);\n      if (bottomE == lm->LeftBound) e = lm->RightBound;\n      else break;\n    }\n    ++lm;\n  }\n  return result;\n}\n//------------------------------------------------------------------------------\n\nvoid ClipperBase::InsertScanbeam(const cInt Y)\n{\n  m_Scanbeam.push(Y);\n}\n//------------------------------------------------------------------------------\n\nbool ClipperBase::PopScanbeam(cInt &Y)\n{\n  if (m_Scanbeam.empty()) return false;\n  Y = m_Scanbeam.top();\n  m_Scanbeam.pop();\n  while (!m_Scanbeam.empty() && Y == m_Scanbeam.top()) { m_Scanbeam.pop(); } // Pop duplicates.\n  return true;\n}\n//------------------------------------------------------------------------------\n\nvoid ClipperBase::DisposeAllOutRecs(){\n  for (PolyOutList::size_type i = 0; i < m_PolyOuts.size(); ++i)\n    DisposeOutRec(i);\n  m_PolyOuts.clear();\n}\n//------------------------------------------------------------------------------\n\nvoid ClipperBase::DisposeOutRec(PolyOutList::size_type index)\n{\n  OutRec *outRec = m_PolyOuts[index];\n  if (outRec->Pts) DisposeOutPts(outRec->Pts);\n  delete outRec;\n  m_PolyOuts[index] = 0;\n}\n//------------------------------------------------------------------------------\n\nvoid ClipperBase::DeleteFromAEL(TEdge *e)\n{\n  TEdge* AelPrev = e->PrevInAEL;\n  TEdge* AelNext = e->NextInAEL;\n  if (!AelPrev &&  !AelNext && (e != m_ActiveEdges)) return; //already deleted\n  if (AelPrev) AelPrev->NextInAEL = AelNext;\n  else m_ActiveEdges = AelNext;\n  if (AelNext) AelNext->PrevInAEL = AelPrev;\n  e->NextInAEL = 0;\n  e->PrevInAEL = 0;\n}\n//------------------------------------------------------------------------------\n\nOutRec* ClipperBase::CreateOutRec()\n{\n  OutRec* result = new OutRec;\n  result->IsHole = false;\n  result->IsOpen = false;\n  result->FirstLeft = 0;\n  result->Pts = 0;\n  result->BottomPt = 0;\n  result->PolyNd = 0;\n  m_PolyOuts.push_back(result);\n  result->Idx = (int)m_PolyOuts.size() - 1;\n  return result;\n}\n//------------------------------------------------------------------------------\n\nvoid ClipperBase::SwapPositionsInAEL(TEdge *Edge1, TEdge *Edge2)\n{\n  //check that one or other edge hasn't already been removed from AEL ...\n  if (Edge1->NextInAEL == Edge1->PrevInAEL ||\n    Edge2->NextInAEL == Edge2->PrevInAEL) return;\n\n  if (Edge1->NextInAEL == Edge2)\n  {\n    TEdge* Next = Edge2->NextInAEL;\n    if (Next) Next->PrevInAEL = Edge1;\n    TEdge* Prev = Edge1->PrevInAEL;\n    if (Prev) Prev->NextInAEL = Edge2;\n    Edge2->PrevInAEL = Prev;\n    Edge2->NextInAEL = Edge1;\n    Edge1->PrevInAEL = Edge2;\n    Edge1->NextInAEL = Next;\n  }\n  else if (Edge2->NextInAEL == Edge1)\n  {\n    TEdge* Next = Edge1->NextInAEL;\n    if (Next) Next->PrevInAEL = Edge2;\n    TEdge* Prev = Edge2->PrevInAEL;\n    if (Prev) Prev->NextInAEL = Edge1;\n    Edge1->PrevInAEL = Prev;\n    Edge1->NextInAEL = Edge2;\n    Edge2->PrevInAEL = Edge1;\n    Edge2->NextInAEL = Next;\n  }\n  else\n  {\n    TEdge* Next = Edge1->NextInAEL;\n    TEdge* Prev = Edge1->PrevInAEL;\n    Edge1->NextInAEL = Edge2->NextInAEL;\n    if (Edge1->NextInAEL) Edge1->NextInAEL->PrevInAEL = Edge1;\n    Edge1->PrevInAEL = Edge2->PrevInAEL;\n    if (Edge1->PrevInAEL) Edge1->PrevInAEL->NextInAEL = Edge1;\n    Edge2->NextInAEL = Next;\n    if (Edge2->NextInAEL) Edge2->NextInAEL->PrevInAEL = Edge2;\n    Edge2->PrevInAEL = Prev;\n    if (Edge2->PrevInAEL) Edge2->PrevInAEL->NextInAEL = Edge2;\n  }\n\n  if (!Edge1->PrevInAEL) m_ActiveEdges = Edge1;\n  else if (!Edge2->PrevInAEL) m_ActiveEdges = Edge2;\n}\n//------------------------------------------------------------------------------\n\nvoid ClipperBase::UpdateEdgeIntoAEL(TEdge *&e)\n{\n  if (!e->NextInLML) \n    throw clipperException(\"UpdateEdgeIntoAEL: invalid call\");\n\n  e->NextInLML->OutIdx = e->OutIdx;\n  TEdge* AelPrev = e->PrevInAEL;\n  TEdge* AelNext = e->NextInAEL;\n  if (AelPrev) AelPrev->NextInAEL = e->NextInLML;\n  else m_ActiveEdges = e->NextInLML;\n  if (AelNext) AelNext->PrevInAEL = e->NextInLML;\n  e->NextInLML->Side = e->Side;\n  e->NextInLML->WindDelta = e->WindDelta;\n  e->NextInLML->WindCnt = e->WindCnt;\n  e->NextInLML->WindCnt2 = e->WindCnt2;\n  e = e->NextInLML;\n  e->Curr = e->Bot;\n  e->PrevInAEL = AelPrev;\n  e->NextInAEL = AelNext;\n  if (!IsHorizontal(*e)) InsertScanbeam(e->Top.Y);\n}\n//------------------------------------------------------------------------------\n\nbool ClipperBase::LocalMinimaPending()\n{\n  return (m_CurrentLM != m_MinimaList.end());\n}\n\n//------------------------------------------------------------------------------\n// TClipper methods ...\n//------------------------------------------------------------------------------\n\nClipper::Clipper(int initOptions) : ClipperBase() //constructor\n{\n  m_ExecuteLocked = false;\n  m_UseFullRange = false;\n  m_ReverseOutput = ((initOptions & ioReverseSolution) != 0);\n  m_StrictSimple = ((initOptions & ioStrictlySimple) != 0);\n  m_PreserveCollinear = ((initOptions & ioPreserveCollinear) != 0);\n  m_HasOpenPaths = false;\n#ifdef use_xyz  \n  m_ZFill = 0;\n#endif\n}\n//------------------------------------------------------------------------------\n\n#ifdef use_xyz  \nvoid Clipper::ZFillFunction(ZFillCallback zFillFunc)\n{  \n  m_ZFill = zFillFunc;\n}\n//------------------------------------------------------------------------------\n#endif\n\nbool Clipper::Execute(ClipType clipType, Paths &solution, PolyFillType fillType)\n{\n    return Execute(clipType, solution, fillType, fillType);\n}\n//------------------------------------------------------------------------------\n\nbool Clipper::Execute(ClipType clipType, PolyTree &polytree, PolyFillType fillType)\n{\n    return Execute(clipType, polytree, fillType, fillType);\n}\n//------------------------------------------------------------------------------\n\nbool Clipper::Execute(ClipType clipType, Paths &solution,\n    PolyFillType subjFillType, PolyFillType clipFillType)\n{\n  if( m_ExecuteLocked ) return false;\n  if (m_HasOpenPaths)\n    throw clipperException(\"Error: PolyTree struct is needed for open path clipping.\");\n  m_ExecuteLocked = true;\n  solution.resize(0);\n  m_SubjFillType = subjFillType;\n  m_ClipFillType = clipFillType;\n  m_ClipType = clipType;\n  m_UsingPolyTree = false;\n  bool succeeded = ExecuteInternal();\n  if (succeeded) BuildResult(solution);\n  DisposeAllOutRecs();\n  m_ExecuteLocked = false;\n  return succeeded;\n}\n//------------------------------------------------------------------------------\n\nbool Clipper::Execute(ClipType clipType, PolyTree& polytree,\n    PolyFillType subjFillType, PolyFillType clipFillType)\n{\n  if( m_ExecuteLocked ) return false;\n  m_ExecuteLocked = true;\n  m_SubjFillType = subjFillType;\n  m_ClipFillType = clipFillType;\n  m_ClipType = clipType;\n  m_UsingPolyTree = true;\n  bool succeeded = ExecuteInternal();\n  if (succeeded) BuildResult2(polytree);\n  DisposeAllOutRecs();\n  m_ExecuteLocked = false;\n  return succeeded;\n}\n//------------------------------------------------------------------------------\n\nvoid Clipper::FixHoleLinkage(OutRec &outrec)\n{\n  //skip OutRecs that (a) contain outermost polygons or\n  //(b) already have the correct owner/child linkage ...\n  if (!outrec.FirstLeft ||                \n      (outrec.IsHole != outrec.FirstLeft->IsHole &&\n      outrec.FirstLeft->Pts)) return;\n\n  OutRec* orfl = outrec.FirstLeft;\n  while (orfl && ((orfl->IsHole == outrec.IsHole) || !orfl->Pts))\n      orfl = orfl->FirstLeft;\n  outrec.FirstLeft = orfl;\n}\n//------------------------------------------------------------------------------\n\nbool Clipper::ExecuteInternal()\n{\n  bool succeeded = true;\n  try {\n    Reset();\n    m_Maxima = MaximaList();\n    m_SortedEdges = 0;\n\n    succeeded = true;\n    cInt botY, topY;\n    if (!PopScanbeam(botY)) return false;\n    InsertLocalMinimaIntoAEL(botY);\n    while (PopScanbeam(topY) || LocalMinimaPending())\n    {\n      ProcessHorizontals();\n\t    ClearGhostJoins();\n      if (!ProcessIntersections(topY))\n      {\n        succeeded = false;\n        break;\n      }\n      ProcessEdgesAtTopOfScanbeam(topY);\n      botY = topY;\n      InsertLocalMinimaIntoAEL(botY);\n    }\n  }\n  catch(...) \n  {\n    succeeded = false;\n  }\n\n  if (succeeded)\n  {\n    //fix orientations ...\n    for (PolyOutList::size_type i = 0; i < m_PolyOuts.size(); ++i)\n    {\n      OutRec *outRec = m_PolyOuts[i];\n      if (!outRec->Pts || outRec->IsOpen) continue;\n      if ((outRec->IsHole ^ m_ReverseOutput) == (Area(*outRec) > 0))\n        ReversePolyPtLinks(outRec->Pts);\n    }\n\n    if (!m_Joins.empty()) JoinCommonEdges();\n\n    //unfortunately FixupOutPolygon() must be done after JoinCommonEdges()\n    for (PolyOutList::size_type i = 0; i < m_PolyOuts.size(); ++i)\n    {\n      OutRec *outRec = m_PolyOuts[i];\n      if (!outRec->Pts) continue;\n      if (outRec->IsOpen)\n        FixupOutPolyline(*outRec);\n      else\n        FixupOutPolygon(*outRec);\n    }\n\n    if (m_StrictSimple) DoSimplePolygons();\n  }\n\n  ClearJoins();\n  ClearGhostJoins();\n  return succeeded;\n}\n//------------------------------------------------------------------------------\n\nvoid Clipper::SetWindingCount(TEdge &edge)\n{\n  TEdge *e = edge.PrevInAEL;\n  //find the edge of the same polytype that immediately preceeds 'edge' in AEL\n  while (e  && ((e->PolyTyp != edge.PolyTyp) || (e->WindDelta == 0))) e = e->PrevInAEL;\n  if (!e)\n  {\n    if (edge.WindDelta == 0)\n    {\n      PolyFillType pft = (edge.PolyTyp == ptSubject ? m_SubjFillType : m_ClipFillType);\n      edge.WindCnt = (pft == pftNegative ? -1 : 1);\n    }\n    else\n      edge.WindCnt = edge.WindDelta;\n    edge.WindCnt2 = 0;\n    e = m_ActiveEdges; //ie get ready to calc WindCnt2\n  }   \n  else if (edge.WindDelta == 0 && m_ClipType != ctUnion)\n  {\n    edge.WindCnt = 1;\n    edge.WindCnt2 = e->WindCnt2;\n    e = e->NextInAEL; //ie get ready to calc WindCnt2\n  }\n  else if (IsEvenOddFillType(edge))\n  {\n    //EvenOdd filling ...\n    if (edge.WindDelta == 0)\n    {\n      //are we inside a subj polygon ...\n      bool Inside = true;\n      TEdge *e2 = e->PrevInAEL;\n      while (e2)\n      {\n        if (e2->PolyTyp == e->PolyTyp && e2->WindDelta != 0) \n          Inside = !Inside;\n        e2 = e2->PrevInAEL;\n      }\n      edge.WindCnt = (Inside ? 0 : 1);\n    }\n    else\n    {\n      edge.WindCnt = edge.WindDelta;\n    }\n    edge.WindCnt2 = e->WindCnt2;\n    e = e->NextInAEL; //ie get ready to calc WindCnt2\n  } \n  else\n  {\n    //nonZero, Positive or Negative filling ...\n    if (e->WindCnt * e->WindDelta < 0)\n    {\n      //prev edge is 'decreasing' WindCount (WC) toward zero\n      //so we're outside the previous polygon ...\n      if (Abs(e->WindCnt) > 1)\n      {\n        //outside prev poly but still inside another.\n        //when reversing direction of prev poly use the same WC \n        if (e->WindDelta * edge.WindDelta < 0) edge.WindCnt = e->WindCnt;\n        //otherwise continue to 'decrease' WC ...\n        else edge.WindCnt = e->WindCnt + edge.WindDelta;\n      } \n      else\n        //now outside all polys of same polytype so set own WC ...\n        edge.WindCnt = (edge.WindDelta == 0 ? 1 : edge.WindDelta);\n    } else\n    {\n      //prev edge is 'increasing' WindCount (WC) away from zero\n      //so we're inside the previous polygon ...\n      if (edge.WindDelta == 0) \n        edge.WindCnt = (e->WindCnt < 0 ? e->WindCnt - 1 : e->WindCnt + 1);\n      //if wind direction is reversing prev then use same WC\n      else if (e->WindDelta * edge.WindDelta < 0) edge.WindCnt = e->WindCnt;\n      //otherwise add to WC ...\n      else edge.WindCnt = e->WindCnt + edge.WindDelta;\n    }\n    edge.WindCnt2 = e->WindCnt2;\n    e = e->NextInAEL; //ie get ready to calc WindCnt2\n  }\n\n  //update WindCnt2 ...\n  if (IsEvenOddAltFillType(edge))\n  {\n    //EvenOdd filling ...\n    while (e != &edge)\n    {\n      if (e->WindDelta != 0)\n        edge.WindCnt2 = (edge.WindCnt2 == 0 ? 1 : 0);\n      e = e->NextInAEL;\n    }\n  } else\n  {\n    //nonZero, Positive or Negative filling ...\n    while ( e != &edge )\n    {\n      edge.WindCnt2 += e->WindDelta;\n      e = e->NextInAEL;\n    }\n  }\n}\n//------------------------------------------------------------------------------\n\nbool Clipper::IsEvenOddFillType(const TEdge& edge) const\n{\n  if (edge.PolyTyp == ptSubject)\n    return m_SubjFillType == pftEvenOdd; else\n    return m_ClipFillType == pftEvenOdd;\n}\n//------------------------------------------------------------------------------\n\nbool Clipper::IsEvenOddAltFillType(const TEdge& edge) const\n{\n  if (edge.PolyTyp == ptSubject)\n    return m_ClipFillType == pftEvenOdd; else\n    return m_SubjFillType == pftEvenOdd;\n}\n//------------------------------------------------------------------------------\n\nbool Clipper::IsContributing(const TEdge& edge) const\n{\n  PolyFillType pft, pft2;\n  if (edge.PolyTyp == ptSubject)\n  {\n    pft = m_SubjFillType;\n    pft2 = m_ClipFillType;\n  } else\n  {\n    pft = m_ClipFillType;\n    pft2 = m_SubjFillType;\n  }\n\n  switch(pft)\n  {\n    case pftEvenOdd: \n      //return false if a subj line has been flagged as inside a subj polygon\n      if (edge.WindDelta == 0 && edge.WindCnt != 1) return false;\n      break;\n    case pftNonZero:\n      if (Abs(edge.WindCnt) != 1) return false;\n      break;\n    case pftPositive: \n      if (edge.WindCnt != 1) return false;\n      break;\n    default: //pftNegative\n      if (edge.WindCnt != -1) return false;\n  }\n\n  switch(m_ClipType)\n  {\n    case ctIntersection:\n      switch(pft2)\n      {\n        case pftEvenOdd: \n        case pftNonZero: \n          return (edge.WindCnt2 != 0);\n        case pftPositive: \n          return (edge.WindCnt2 > 0);\n        default: \n          return (edge.WindCnt2 < 0);\n      }\n      break;\n    case ctUnion:\n      switch(pft2)\n      {\n        case pftEvenOdd: \n        case pftNonZero: \n          return (edge.WindCnt2 == 0);\n        case pftPositive: \n          return (edge.WindCnt2 <= 0);\n        default: \n          return (edge.WindCnt2 >= 0);\n      }\n      break;\n    case ctDifference:\n      if (edge.PolyTyp == ptSubject)\n        switch(pft2)\n        {\n          case pftEvenOdd: \n          case pftNonZero: \n            return (edge.WindCnt2 == 0);\n          case pftPositive: \n            return (edge.WindCnt2 <= 0);\n          default: \n            return (edge.WindCnt2 >= 0);\n        }\n      else\n        switch(pft2)\n        {\n          case pftEvenOdd: \n          case pftNonZero: \n            return (edge.WindCnt2 != 0);\n          case pftPositive: \n            return (edge.WindCnt2 > 0);\n          default: \n            return (edge.WindCnt2 < 0);\n        }\n      break;\n    case ctXor:\n      if (edge.WindDelta == 0) //XOr always contributing unless open\n        switch(pft2)\n        {\n          case pftEvenOdd: \n          case pftNonZero: \n            return (edge.WindCnt2 == 0);\n          case pftPositive: \n            return (edge.WindCnt2 <= 0);\n          default: \n            return (edge.WindCnt2 >= 0);\n        }\n      else \n        return true;\n      break;\n    default:\n      return true;\n  }\n}\n//------------------------------------------------------------------------------\n\nOutPt* Clipper::AddLocalMinPoly(TEdge *e1, TEdge *e2, const IntPoint &Pt)\n{\n  OutPt* result;\n  TEdge *e, *prevE;\n  if (IsHorizontal(*e2) || ( e1->Dx > e2->Dx ))\n  {\n    result = AddOutPt(e1, Pt);\n    e2->OutIdx = e1->OutIdx;\n    e1->Side = esLeft;\n    e2->Side = esRight;\n    e = e1;\n    if (e->PrevInAEL == e2)\n      prevE = e2->PrevInAEL; \n    else\n      prevE = e->PrevInAEL;\n  } else\n  {\n    result = AddOutPt(e2, Pt);\n    e1->OutIdx = e2->OutIdx;\n    e1->Side = esRight;\n    e2->Side = esLeft;\n    e = e2;\n    if (e->PrevInAEL == e1)\n        prevE = e1->PrevInAEL;\n    else\n        prevE = e->PrevInAEL;\n  }\n\n  if (prevE && prevE->OutIdx >= 0 && prevE->Top.Y < Pt.Y && e->Top.Y < Pt.Y) \n  {\n    cInt xPrev = TopX(*prevE, Pt.Y);\n    cInt xE = TopX(*e, Pt.Y);\n    if (xPrev == xE && (e->WindDelta != 0) && (prevE->WindDelta != 0) &&\n      SlopesEqual(IntPoint(xPrev, Pt.Y), prevE->Top, IntPoint(xE, Pt.Y), e->Top, m_UseFullRange))\n    {\n      OutPt* outPt = AddOutPt(prevE, Pt);\n      AddJoin(result, outPt, e->Top);\n    }\n  }\n  return result;\n}\n//------------------------------------------------------------------------------\n\nvoid Clipper::AddLocalMaxPoly(TEdge *e1, TEdge *e2, const IntPoint &Pt)\n{\n  AddOutPt( e1, Pt );\n  if (e2->WindDelta == 0) AddOutPt(e2, Pt);\n  if( e1->OutIdx == e2->OutIdx )\n  {\n    e1->OutIdx = Unassigned;\n    e2->OutIdx = Unassigned;\n  }\n  else if (e1->OutIdx < e2->OutIdx) \n    AppendPolygon(e1, e2); \n  else \n    AppendPolygon(e2, e1);\n}\n//------------------------------------------------------------------------------\n\nvoid Clipper::AddEdgeToSEL(TEdge *edge)\n{\n  //SEL pointers in PEdge are reused to build a list of horizontal edges.\n  //However, we don't need to worry about order with horizontal edge processing.\n  if( !m_SortedEdges )\n  {\n    m_SortedEdges = edge;\n    edge->PrevInSEL = 0;\n    edge->NextInSEL = 0;\n  }\n  else\n  {\n    edge->NextInSEL = m_SortedEdges;\n    edge->PrevInSEL = 0;\n    m_SortedEdges->PrevInSEL = edge;\n    m_SortedEdges = edge;\n  }\n}\n//------------------------------------------------------------------------------\n\nbool Clipper::PopEdgeFromSEL(TEdge *&edge)\n{\n  if (!m_SortedEdges) return false;\n  edge = m_SortedEdges;\n  DeleteFromSEL(m_SortedEdges);\n  return true;\n}\n//------------------------------------------------------------------------------\n\nvoid Clipper::CopyAELToSEL()\n{\n  TEdge* e = m_ActiveEdges;\n  m_SortedEdges = e;\n  while ( e )\n  {\n    e->PrevInSEL = e->PrevInAEL;\n    e->NextInSEL = e->NextInAEL;\n    e = e->NextInAEL;\n  }\n}\n//------------------------------------------------------------------------------\n\nvoid Clipper::AddJoin(OutPt *op1, OutPt *op2, const IntPoint OffPt)\n{\n  Join* j = new Join;\n  j->OutPt1 = op1;\n  j->OutPt2 = op2;\n  j->OffPt = OffPt;\n  m_Joins.push_back(j);\n}\n//------------------------------------------------------------------------------\n\nvoid Clipper::ClearJoins()\n{\n  for (JoinList::size_type i = 0; i < m_Joins.size(); i++)\n    delete m_Joins[i];\n  m_Joins.resize(0);\n}\n//------------------------------------------------------------------------------\n\nvoid Clipper::ClearGhostJoins()\n{\n  for (JoinList::size_type i = 0; i < m_GhostJoins.size(); i++)\n    delete m_GhostJoins[i];\n  m_GhostJoins.resize(0);\n}\n//------------------------------------------------------------------------------\n\nvoid Clipper::AddGhostJoin(OutPt *op, const IntPoint OffPt)\n{\n  Join* j = new Join;\n  j->OutPt1 = op;\n  j->OutPt2 = 0;\n  j->OffPt = OffPt;\n  m_GhostJoins.push_back(j);\n}\n//------------------------------------------------------------------------------\n\nvoid Clipper::InsertLocalMinimaIntoAEL(const cInt botY)\n{\n  const LocalMinimum *lm;\n  while (PopLocalMinima(botY, lm))\n  {\n    TEdge* lb = lm->LeftBound;\n    TEdge* rb = lm->RightBound;\n    \n    OutPt *Op1 = 0;\n    if (!lb)\n    {\n      //nb: don't insert LB into either AEL or SEL\n      InsertEdgeIntoAEL(rb, 0);\n      SetWindingCount(*rb);\n      if (IsContributing(*rb))\n        Op1 = AddOutPt(rb, rb->Bot); \n    } \n    else if (!rb)\n    {\n      InsertEdgeIntoAEL(lb, 0);\n      SetWindingCount(*lb);\n      if (IsContributing(*lb))\n        Op1 = AddOutPt(lb, lb->Bot);\n      InsertScanbeam(lb->Top.Y);\n    }\n    else\n    {\n      InsertEdgeIntoAEL(lb, 0);\n      InsertEdgeIntoAEL(rb, lb);\n      SetWindingCount( *lb );\n      rb->WindCnt = lb->WindCnt;\n      rb->WindCnt2 = lb->WindCnt2;\n      if (IsContributing(*lb))\n        Op1 = AddLocalMinPoly(lb, rb, lb->Bot);      \n      InsertScanbeam(lb->Top.Y);\n    }\n\n     if (rb)\n     {\n\t\t if (IsHorizontal(*rb))\n\t\t {\n\t\t\t AddEdgeToSEL(rb);\n\t\t\t if (rb->NextInLML) \n\t\t\t\t InsertScanbeam(rb->NextInLML->Top.Y);\n\t\t }\n\t\t else InsertScanbeam( rb->Top.Y );\n     }\n\n    if (!lb || !rb) continue;\n\n    //if any output polygons share an edge, they'll need joining later ...\n    if (Op1 && IsHorizontal(*rb) && \n      m_GhostJoins.size() > 0 && (rb->WindDelta != 0))\n    {\n      for (JoinList::size_type i = 0; i < m_GhostJoins.size(); ++i)\n      {\n        Join* jr = m_GhostJoins[i];\n        //if the horizontal Rb and a 'ghost' horizontal overlap, then convert\n        //the 'ghost' join to a real join ready for later ...\n        if (HorzSegmentsOverlap(jr->OutPt1->Pt.X, jr->OffPt.X, rb->Bot.X, rb->Top.X))\n          AddJoin(jr->OutPt1, Op1, jr->OffPt);\n      }\n    }\n\n    if (lb->OutIdx >= 0 && lb->PrevInAEL && \n      lb->PrevInAEL->Curr.X == lb->Bot.X &&\n      lb->PrevInAEL->OutIdx >= 0 &&\n      SlopesEqual(lb->PrevInAEL->Bot, lb->PrevInAEL->Top, lb->Curr, lb->Top, m_UseFullRange) &&\n      (lb->WindDelta != 0) && (lb->PrevInAEL->WindDelta != 0))\n    {\n        OutPt *Op2 = AddOutPt(lb->PrevInAEL, lb->Bot);\n        AddJoin(Op1, Op2, lb->Top);\n    }\n\n    if(lb->NextInAEL != rb)\n    {\n\n      if (rb->OutIdx >= 0 && rb->PrevInAEL->OutIdx >= 0 &&\n        SlopesEqual(rb->PrevInAEL->Curr, rb->PrevInAEL->Top, rb->Curr, rb->Top, m_UseFullRange) &&\n        (rb->WindDelta != 0) && (rb->PrevInAEL->WindDelta != 0))\n      {\n          OutPt *Op2 = AddOutPt(rb->PrevInAEL, rb->Bot);\n          AddJoin(Op1, Op2, rb->Top);\n      }\n\n      TEdge* e = lb->NextInAEL;\n      if (e)\n      {\n        while( e != rb )\n        {\n          //nb: For calculating winding counts etc, IntersectEdges() assumes\n          //that param1 will be to the Right of param2 ABOVE the intersection ...\n          IntersectEdges(rb , e , lb->Curr); //order important here\n          e = e->NextInAEL;\n        }\n      }\n    }\n    \n  }\n}\n//------------------------------------------------------------------------------\n\nvoid Clipper::DeleteFromSEL(TEdge *e)\n{\n  TEdge* SelPrev = e->PrevInSEL;\n  TEdge* SelNext = e->NextInSEL;\n  if( !SelPrev &&  !SelNext && (e != m_SortedEdges) ) return; //already deleted\n  if( SelPrev ) SelPrev->NextInSEL = SelNext;\n  else m_SortedEdges = SelNext;\n  if( SelNext ) SelNext->PrevInSEL = SelPrev;\n  e->NextInSEL = 0;\n  e->PrevInSEL = 0;\n}\n//------------------------------------------------------------------------------\n\n#ifdef use_xyz\nvoid Clipper::SetZ(IntPoint& pt, TEdge& e1, TEdge& e2)\n{\n  if (pt.Z != 0 || !m_ZFill) return;\n  else if (pt == e1.Bot) pt.Z = e1.Bot.Z;\n  else if (pt == e1.Top) pt.Z = e1.Top.Z;\n  else if (pt == e2.Bot) pt.Z = e2.Bot.Z;\n  else if (pt == e2.Top) pt.Z = e2.Top.Z;\n  else (*m_ZFill)(e1.Bot, e1.Top, e2.Bot, e2.Top, pt); \n}\n//------------------------------------------------------------------------------\n#endif\n\nvoid Clipper::IntersectEdges(TEdge *e1, TEdge *e2, IntPoint &Pt)\n{\n  bool e1Contributing = ( e1->OutIdx >= 0 );\n  bool e2Contributing = ( e2->OutIdx >= 0 );\n\n#ifdef use_xyz\n        SetZ(Pt, *e1, *e2);\n#endif\n\n#ifdef use_lines\n  //if either edge is on an OPEN path ...\n  if (e1->WindDelta == 0 || e2->WindDelta == 0)\n  {\n    //ignore subject-subject open path intersections UNLESS they\n    //are both open paths, AND they are both 'contributing maximas' ...\n\tif (e1->WindDelta == 0 && e2->WindDelta == 0) return;\n\n    //if intersecting a subj line with a subj poly ...\n    else if (e1->PolyTyp == e2->PolyTyp && \n      e1->WindDelta != e2->WindDelta && m_ClipType == ctUnion)\n    {\n      if (e1->WindDelta == 0)\n      {\n        if (e2Contributing)\n        {\n          AddOutPt(e1, Pt);\n          if (e1Contributing) e1->OutIdx = Unassigned;\n        }\n      }\n      else\n      {\n        if (e1Contributing)\n        {\n          AddOutPt(e2, Pt);\n          if (e2Contributing) e2->OutIdx = Unassigned;\n        }\n      }\n    }\n    else if (e1->PolyTyp != e2->PolyTyp)\n    {\n      //toggle subj open path OutIdx on/off when Abs(clip.WndCnt) == 1 ...\n      if ((e1->WindDelta == 0) && abs(e2->WindCnt) == 1 && \n        (m_ClipType != ctUnion || e2->WindCnt2 == 0))\n      {\n        AddOutPt(e1, Pt);\n        if (e1Contributing) e1->OutIdx = Unassigned;\n      }\n      else if ((e2->WindDelta == 0) && (abs(e1->WindCnt) == 1) && \n        (m_ClipType != ctUnion || e1->WindCnt2 == 0))\n      {\n        AddOutPt(e2, Pt);\n        if (e2Contributing) e2->OutIdx = Unassigned;\n      }\n    }\n    return;\n  }\n#endif\n\n  //update winding counts...\n  //assumes that e1 will be to the Right of e2 ABOVE the intersection\n  if ( e1->PolyTyp == e2->PolyTyp )\n  {\n    if ( IsEvenOddFillType( *e1) )\n    {\n      int oldE1WindCnt = e1->WindCnt;\n      e1->WindCnt = e2->WindCnt;\n      e2->WindCnt = oldE1WindCnt;\n    } else\n    {\n      if (e1->WindCnt + e2->WindDelta == 0 ) e1->WindCnt = -e1->WindCnt;\n      else e1->WindCnt += e2->WindDelta;\n      if ( e2->WindCnt - e1->WindDelta == 0 ) e2->WindCnt = -e2->WindCnt;\n      else e2->WindCnt -= e1->WindDelta;\n    }\n  } else\n  {\n    if (!IsEvenOddFillType(*e2)) e1->WindCnt2 += e2->WindDelta;\n    else e1->WindCnt2 = ( e1->WindCnt2 == 0 ) ? 1 : 0;\n    if (!IsEvenOddFillType(*e1)) e2->WindCnt2 -= e1->WindDelta;\n    else e2->WindCnt2 = ( e2->WindCnt2 == 0 ) ? 1 : 0;\n  }\n\n  PolyFillType e1FillType, e2FillType, e1FillType2, e2FillType2;\n  if (e1->PolyTyp == ptSubject)\n  {\n    e1FillType = m_SubjFillType;\n    e1FillType2 = m_ClipFillType;\n  } else\n  {\n    e1FillType = m_ClipFillType;\n    e1FillType2 = m_SubjFillType;\n  }\n  if (e2->PolyTyp == ptSubject)\n  {\n    e2FillType = m_SubjFillType;\n    e2FillType2 = m_ClipFillType;\n  } else\n  {\n    e2FillType = m_ClipFillType;\n    e2FillType2 = m_SubjFillType;\n  }\n\n  cInt e1Wc, e2Wc;\n  switch (e1FillType)\n  {\n    case pftPositive: e1Wc = e1->WindCnt; break;\n    case pftNegative: e1Wc = -e1->WindCnt; break;\n    default: e1Wc = Abs(e1->WindCnt);\n  }\n  switch(e2FillType)\n  {\n    case pftPositive: e2Wc = e2->WindCnt; break;\n    case pftNegative: e2Wc = -e2->WindCnt; break;\n    default: e2Wc = Abs(e2->WindCnt);\n  }\n\n  if ( e1Contributing && e2Contributing )\n  {\n    if ((e1Wc != 0 && e1Wc != 1) || (e2Wc != 0 && e2Wc != 1) ||\n      (e1->PolyTyp != e2->PolyTyp && m_ClipType != ctXor) )\n    {\n      AddLocalMaxPoly(e1, e2, Pt); \n    }\n    else\n    {\n      AddOutPt(e1, Pt);\n      AddOutPt(e2, Pt);\n      SwapSides( *e1 , *e2 );\n      SwapPolyIndexes( *e1 , *e2 );\n    }\n  }\n  else if ( e1Contributing )\n  {\n    if (e2Wc == 0 || e2Wc == 1) \n    {\n      AddOutPt(e1, Pt);\n      SwapSides(*e1, *e2);\n      SwapPolyIndexes(*e1, *e2);\n    }\n  }\n  else if ( e2Contributing )\n  {\n    if (e1Wc == 0 || e1Wc == 1) \n    {\n      AddOutPt(e2, Pt);\n      SwapSides(*e1, *e2);\n      SwapPolyIndexes(*e1, *e2);\n    }\n  } \n  else if ( (e1Wc == 0 || e1Wc == 1) && (e2Wc == 0 || e2Wc == 1))\n  {\n    //neither edge is currently contributing ...\n\n    cInt e1Wc2, e2Wc2;\n    switch (e1FillType2)\n    {\n      case pftPositive: e1Wc2 = e1->WindCnt2; break;\n      case pftNegative : e1Wc2 = -e1->WindCnt2; break;\n      default: e1Wc2 = Abs(e1->WindCnt2);\n    }\n    switch (e2FillType2)\n    {\n      case pftPositive: e2Wc2 = e2->WindCnt2; break;\n      case pftNegative: e2Wc2 = -e2->WindCnt2; break;\n      default: e2Wc2 = Abs(e2->WindCnt2);\n    }\n\n    if (e1->PolyTyp != e2->PolyTyp)\n    {\n      AddLocalMinPoly(e1, e2, Pt);\n    }\n    else if (e1Wc == 1 && e2Wc == 1)\n      switch( m_ClipType ) {\n        case ctIntersection:\n          if (e1Wc2 > 0 && e2Wc2 > 0)\n            AddLocalMinPoly(e1, e2, Pt);\n          break;\n        case ctUnion:\n          if ( e1Wc2 <= 0 && e2Wc2 <= 0 )\n            AddLocalMinPoly(e1, e2, Pt);\n          break;\n        case ctDifference:\n          if (((e1->PolyTyp == ptClip) && (e1Wc2 > 0) && (e2Wc2 > 0)) ||\n              ((e1->PolyTyp == ptSubject) && (e1Wc2 <= 0) && (e2Wc2 <= 0)))\n                AddLocalMinPoly(e1, e2, Pt);\n          break;\n        case ctXor:\n          AddLocalMinPoly(e1, e2, Pt);\n      }\n    else\n      SwapSides( *e1, *e2 );\n  }\n}\n//------------------------------------------------------------------------------\n\nvoid Clipper::SetHoleState(TEdge *e, OutRec *outrec)\n{\n  TEdge *e2 = e->PrevInAEL;\n  TEdge *eTmp = 0;\n  while (e2)\n  {\n    if (e2->OutIdx >= 0 && e2->WindDelta != 0)\n    {\n      if (!eTmp) eTmp = e2;\n      else if (eTmp->OutIdx == e2->OutIdx) eTmp = 0;        \n    }\n    e2 = e2->PrevInAEL;\n  }\n  if (!eTmp)\n  {\n    outrec->FirstLeft = 0;\n    outrec->IsHole = false;\n  }\n  else\n  {\n    outrec->FirstLeft = m_PolyOuts[eTmp->OutIdx];\n    outrec->IsHole = !outrec->FirstLeft->IsHole;\n  }\n}\n//------------------------------------------------------------------------------\n\nOutRec* GetLowermostRec(OutRec *outRec1, OutRec *outRec2)\n{\n  //work out which polygon fragment has the correct hole state ...\n  if (!outRec1->BottomPt) \n    outRec1->BottomPt = GetBottomPt(outRec1->Pts);\n  if (!outRec2->BottomPt) \n    outRec2->BottomPt = GetBottomPt(outRec2->Pts);\n  OutPt *OutPt1 = outRec1->BottomPt;\n  OutPt *OutPt2 = outRec2->BottomPt;\n  if (OutPt1->Pt.Y > OutPt2->Pt.Y) return outRec1;\n  else if (OutPt1->Pt.Y < OutPt2->Pt.Y) return outRec2;\n  else if (OutPt1->Pt.X < OutPt2->Pt.X) return outRec1;\n  else if (OutPt1->Pt.X > OutPt2->Pt.X) return outRec2;\n  else if (OutPt1->Next == OutPt1) return outRec2;\n  else if (OutPt2->Next == OutPt2) return outRec1;\n  else if (FirstIsBottomPt(OutPt1, OutPt2)) return outRec1;\n  else return outRec2;\n}\n//------------------------------------------------------------------------------\n\nbool OutRec1RightOfOutRec2(OutRec* outRec1, OutRec* outRec2)\n{\n  do\n  {\n    outRec1 = outRec1->FirstLeft;\n    if (outRec1 == outRec2) return true;\n  } while (outRec1);\n  return false;\n}\n//------------------------------------------------------------------------------\n\nOutRec* Clipper::GetOutRec(int Idx)\n{\n  OutRec* outrec = m_PolyOuts[Idx];\n  while (outrec != m_PolyOuts[outrec->Idx])\n    outrec = m_PolyOuts[outrec->Idx];\n  return outrec;\n}\n//------------------------------------------------------------------------------\n\nvoid Clipper::AppendPolygon(TEdge *e1, TEdge *e2)\n{\n  //get the start and ends of both output polygons ...\n  OutRec *outRec1 = m_PolyOuts[e1->OutIdx];\n  OutRec *outRec2 = m_PolyOuts[e2->OutIdx];\n\n  OutRec *holeStateRec;\n  if (OutRec1RightOfOutRec2(outRec1, outRec2))\n    holeStateRec = outRec2;\n  else if (OutRec1RightOfOutRec2(outRec2, outRec1))\n    holeStateRec = outRec1;\n  else \n    holeStateRec = GetLowermostRec(outRec1, outRec2);\n\n  //get the start and ends of both output polygons and\n  //join e2 poly onto e1 poly and delete pointers to e2 ...\n\n  OutPt* p1_lft = outRec1->Pts;\n  OutPt* p1_rt = p1_lft->Prev;\n  OutPt* p2_lft = outRec2->Pts;\n  OutPt* p2_rt = p2_lft->Prev;\n\n  //join e2 poly onto e1 poly and delete pointers to e2 ...\n  if(  e1->Side == esLeft )\n  {\n    if(  e2->Side == esLeft )\n    {\n      //z y x a b c\n      ReversePolyPtLinks(p2_lft);\n      p2_lft->Next = p1_lft;\n      p1_lft->Prev = p2_lft;\n      p1_rt->Next = p2_rt;\n      p2_rt->Prev = p1_rt;\n      outRec1->Pts = p2_rt;\n    } else\n    {\n      //x y z a b c\n      p2_rt->Next = p1_lft;\n      p1_lft->Prev = p2_rt;\n      p2_lft->Prev = p1_rt;\n      p1_rt->Next = p2_lft;\n      outRec1->Pts = p2_lft;\n    }\n  } else\n  {\n    if(  e2->Side == esRight )\n    {\n      //a b c z y x\n      ReversePolyPtLinks(p2_lft);\n      p1_rt->Next = p2_rt;\n      p2_rt->Prev = p1_rt;\n      p2_lft->Next = p1_lft;\n      p1_lft->Prev = p2_lft;\n    } else\n    {\n      //a b c x y z\n      p1_rt->Next = p2_lft;\n      p2_lft->Prev = p1_rt;\n      p1_lft->Prev = p2_rt;\n      p2_rt->Next = p1_lft;\n    }\n  }\n\n  outRec1->BottomPt = 0;\n  if (holeStateRec == outRec2)\n  {\n    if (outRec2->FirstLeft != outRec1)\n      outRec1->FirstLeft = outRec2->FirstLeft;\n    outRec1->IsHole = outRec2->IsHole;\n  }\n  outRec2->Pts = 0;\n  outRec2->BottomPt = 0;\n  outRec2->FirstLeft = outRec1;\n\n  int OKIdx = e1->OutIdx;\n  int ObsoleteIdx = e2->OutIdx;\n\n  e1->OutIdx = Unassigned; //nb: safe because we only get here via AddLocalMaxPoly\n  e2->OutIdx = Unassigned;\n\n  TEdge* e = m_ActiveEdges;\n  while( e )\n  {\n    if( e->OutIdx == ObsoleteIdx )\n    {\n      e->OutIdx = OKIdx;\n      e->Side = e1->Side;\n      break;\n    }\n    e = e->NextInAEL;\n  }\n\n  outRec2->Idx = outRec1->Idx;\n}\n//------------------------------------------------------------------------------\n\nOutPt* Clipper::AddOutPt(TEdge *e, const IntPoint &pt)\n{\n  if(  e->OutIdx < 0 )\n  {\n    OutRec *outRec = CreateOutRec();\n    outRec->IsOpen = (e->WindDelta == 0);\n    OutPt* newOp = new OutPt;\n    outRec->Pts = newOp;\n    newOp->Idx = outRec->Idx;\n    newOp->Pt = pt;\n    newOp->Next = newOp;\n    newOp->Prev = newOp;\n    if (!outRec->IsOpen)\n      SetHoleState(e, outRec);\n    e->OutIdx = outRec->Idx;\n    return newOp;\n  } else\n  {\n    OutRec *outRec = m_PolyOuts[e->OutIdx];\n    //OutRec.Pts is the 'Left-most' point & OutRec.Pts.Prev is the 'Right-most'\n    OutPt* op = outRec->Pts;\n\n\tbool ToFront = (e->Side == esLeft);\n\tif (ToFront && (pt == op->Pt)) return op;\n    else if (!ToFront && (pt == op->Prev->Pt)) return op->Prev;\n\n    OutPt* newOp = new OutPt;\n    newOp->Idx = outRec->Idx;\n    newOp->Pt = pt;\n    newOp->Next = op;\n    newOp->Prev = op->Prev;\n    newOp->Prev->Next = newOp;\n    op->Prev = newOp;\n    if (ToFront) outRec->Pts = newOp;\n    return newOp;\n  }\n}\n//------------------------------------------------------------------------------\n\nOutPt* Clipper::GetLastOutPt(TEdge *e)\n{\n\tOutRec *outRec = m_PolyOuts[e->OutIdx];\n\tif (e->Side == esLeft)\n\t\treturn outRec->Pts;\n\telse\n\t\treturn outRec->Pts->Prev;\n}\n//------------------------------------------------------------------------------\n\nvoid Clipper::ProcessHorizontals()\n{\n  TEdge* horzEdge;\n  while (PopEdgeFromSEL(horzEdge))\n    ProcessHorizontal(horzEdge);\n}\n//------------------------------------------------------------------------------\n\ninline bool IsMinima(TEdge *e)\n{\n  return e  && (e->Prev->NextInLML != e) && (e->Next->NextInLML != e);\n}\n//------------------------------------------------------------------------------\n\ninline bool IsMaxima(TEdge *e, const cInt Y)\n{\n  return e && e->Top.Y == Y && !e->NextInLML;\n}\n//------------------------------------------------------------------------------\n\ninline bool IsIntermediate(TEdge *e, const cInt Y)\n{\n  return e->Top.Y == Y && e->NextInLML;\n}\n//------------------------------------------------------------------------------\n\nTEdge *GetMaximaPair(TEdge *e)\n{\n  if ((e->Next->Top == e->Top) && !e->Next->NextInLML)\n    return e->Next;\n  else if ((e->Prev->Top == e->Top) && !e->Prev->NextInLML)\n    return e->Prev;\n  else return 0;\n}\n//------------------------------------------------------------------------------\n\nTEdge *GetMaximaPairEx(TEdge *e)\n{\n  //as GetMaximaPair() but returns 0 if MaxPair isn't in AEL (unless it's horizontal)\n  TEdge* result = GetMaximaPair(e);\n  if (result && (result->OutIdx == Skip ||\n    (result->NextInAEL == result->PrevInAEL && !IsHorizontal(*result)))) return 0;\n  return result;\n}\n//------------------------------------------------------------------------------\n\nvoid Clipper::SwapPositionsInSEL(TEdge *Edge1, TEdge *Edge2)\n{\n  if(  !( Edge1->NextInSEL ) &&  !( Edge1->PrevInSEL ) ) return;\n  if(  !( Edge2->NextInSEL ) &&  !( Edge2->PrevInSEL ) ) return;\n\n  if(  Edge1->NextInSEL == Edge2 )\n  {\n    TEdge* Next = Edge2->NextInSEL;\n    if( Next ) Next->PrevInSEL = Edge1;\n    TEdge* Prev = Edge1->PrevInSEL;\n    if( Prev ) Prev->NextInSEL = Edge2;\n    Edge2->PrevInSEL = Prev;\n    Edge2->NextInSEL = Edge1;\n    Edge1->PrevInSEL = Edge2;\n    Edge1->NextInSEL = Next;\n  }\n  else if(  Edge2->NextInSEL == Edge1 )\n  {\n    TEdge* Next = Edge1->NextInSEL;\n    if( Next ) Next->PrevInSEL = Edge2;\n    TEdge* Prev = Edge2->PrevInSEL;\n    if( Prev ) Prev->NextInSEL = Edge1;\n    Edge1->PrevInSEL = Prev;\n    Edge1->NextInSEL = Edge2;\n    Edge2->PrevInSEL = Edge1;\n    Edge2->NextInSEL = Next;\n  }\n  else\n  {\n    TEdge* Next = Edge1->NextInSEL;\n    TEdge* Prev = Edge1->PrevInSEL;\n    Edge1->NextInSEL = Edge2->NextInSEL;\n    if( Edge1->NextInSEL ) Edge1->NextInSEL->PrevInSEL = Edge1;\n    Edge1->PrevInSEL = Edge2->PrevInSEL;\n    if( Edge1->PrevInSEL ) Edge1->PrevInSEL->NextInSEL = Edge1;\n    Edge2->NextInSEL = Next;\n    if( Edge2->NextInSEL ) Edge2->NextInSEL->PrevInSEL = Edge2;\n    Edge2->PrevInSEL = Prev;\n    if( Edge2->PrevInSEL ) Edge2->PrevInSEL->NextInSEL = Edge2;\n  }\n\n  if( !Edge1->PrevInSEL ) m_SortedEdges = Edge1;\n  else if( !Edge2->PrevInSEL ) m_SortedEdges = Edge2;\n}\n//------------------------------------------------------------------------------\n\nTEdge* GetNextInAEL(TEdge *e, Direction dir)\n{\n  return dir == dLeftToRight ? e->NextInAEL : e->PrevInAEL;\n}\n//------------------------------------------------------------------------------\n\nvoid GetHorzDirection(TEdge& HorzEdge, Direction& Dir, cInt& Left, cInt& Right)\n{\n  if (HorzEdge.Bot.X < HorzEdge.Top.X)\n  {\n    Left = HorzEdge.Bot.X;\n    Right = HorzEdge.Top.X;\n    Dir = dLeftToRight;\n  } else\n  {\n    Left = HorzEdge.Top.X;\n    Right = HorzEdge.Bot.X;\n    Dir = dRightToLeft;\n  }\n}\n//------------------------------------------------------------------------\n\n/*******************************************************************************\n* Notes: Horizontal edges (HEs) at scanline intersections (ie at the Top or    *\n* Bottom of a scanbeam) are processed as if layered. The order in which HEs    *\n* are processed doesn't matter. HEs intersect with other HE Bot.Xs only [#]    *\n* (or they could intersect with Top.Xs only, ie EITHER Bot.Xs OR Top.Xs),      *\n* and with other non-horizontal edges [*]. Once these intersections are        *\n* processed, intermediate HEs then 'promote' the Edge above (NextInLML) into   *\n* the AEL. These 'promoted' edges may in turn intersect [%] with other HEs.    *\n*******************************************************************************/\n\nvoid Clipper::ProcessHorizontal(TEdge *horzEdge)\n{\n  Direction dir;\n  cInt horzLeft, horzRight;\n  bool IsOpen = (horzEdge->WindDelta == 0);\n\n  GetHorzDirection(*horzEdge, dir, horzLeft, horzRight);\n\n  TEdge* eLastHorz = horzEdge, *eMaxPair = 0;\n  while (eLastHorz->NextInLML && IsHorizontal(*eLastHorz->NextInLML)) \n    eLastHorz = eLastHorz->NextInLML;\n  if (!eLastHorz->NextInLML)\n    eMaxPair = GetMaximaPair(eLastHorz);\n\n  MaximaList::const_iterator maxIt;\n  MaximaList::const_reverse_iterator maxRit;\n  if (m_Maxima.size() > 0)\n  {\n      //get the first maxima in range (X) ...\n      if (dir == dLeftToRight)\n      {\n          maxIt = m_Maxima.begin();\n          while (maxIt != m_Maxima.end() && *maxIt <= horzEdge->Bot.X) maxIt++;\n          if (maxIt != m_Maxima.end() && *maxIt >= eLastHorz->Top.X)\n              maxIt = m_Maxima.end();\n      }\n      else\n      {\n          maxRit = m_Maxima.rbegin();\n          while (maxRit != m_Maxima.rend() && *maxRit > horzEdge->Bot.X) maxRit++;\n          if (maxRit != m_Maxima.rend() && *maxRit <= eLastHorz->Top.X)\n              maxRit = m_Maxima.rend();\n      }\n  }\n\n  OutPt* op1 = 0;\n\n  for (;;) //loop through consec. horizontal edges\n  {\n\t\t  \n    bool IsLastHorz = (horzEdge == eLastHorz);\n    TEdge* e = GetNextInAEL(horzEdge, dir);\n    while(e)\n    {\n\n        //this code block inserts extra coords into horizontal edges (in output\n        //polygons) whereever maxima touch these horizontal edges. This helps\n        //'simplifying' polygons (ie if the Simplify property is set).\n        if (m_Maxima.size() > 0)\n        {\n            if (dir == dLeftToRight)\n            {\n                while (maxIt != m_Maxima.end() && *maxIt < e->Curr.X) \n                {\n                  if (horzEdge->OutIdx >= 0 && !IsOpen)\n                    AddOutPt(horzEdge, IntPoint(*maxIt, horzEdge->Bot.Y));\n                  maxIt++;\n                }\n            }\n            else\n            {\n                while (maxRit != m_Maxima.rend() && *maxRit > e->Curr.X)\n                {\n                  if (horzEdge->OutIdx >= 0 && !IsOpen)\n                    AddOutPt(horzEdge, IntPoint(*maxRit, horzEdge->Bot.Y));\n                  maxRit++;\n                }\n            }\n        };\n\n        if ((dir == dLeftToRight && e->Curr.X > horzRight) ||\n\t\t\t(dir == dRightToLeft && e->Curr.X < horzLeft)) break;\n\n\t\t//Also break if we've got to the end of an intermediate horizontal edge ...\n\t\t//nb: Smaller Dx's are to the right of larger Dx's ABOVE the horizontal.\n\t\tif (e->Curr.X == horzEdge->Top.X && horzEdge->NextInLML && \n\t\t\te->Dx < horzEdge->NextInLML->Dx) break;\n\n    if (horzEdge->OutIdx >= 0 && !IsOpen)  //note: may be done multiple times\n\t\t{\n#ifdef use_xyz\n\t\t\tif (dir == dLeftToRight) SetZ(e->Curr, *horzEdge, *e);\n\t\t\telse SetZ(e->Curr, *e, *horzEdge);\n#endif      \n\t\t\top1 = AddOutPt(horzEdge, e->Curr);\n\t\t\tTEdge* eNextHorz = m_SortedEdges;\n\t\t\twhile (eNextHorz)\n\t\t\t{\n\t\t\t\tif (eNextHorz->OutIdx >= 0 &&\n\t\t\t\t\tHorzSegmentsOverlap(horzEdge->Bot.X,\n\t\t\t\t\thorzEdge->Top.X, eNextHorz->Bot.X, eNextHorz->Top.X))\n\t\t\t\t{\n                    OutPt* op2 = GetLastOutPt(eNextHorz);\n                    AddJoin(op2, op1, eNextHorz->Top);\n\t\t\t\t}\n\t\t\t\teNextHorz = eNextHorz->NextInSEL;\n\t\t\t}\n\t\t\tAddGhostJoin(op1, horzEdge->Bot);\n\t\t}\n\t\t\n\t\t//OK, so far we're still in range of the horizontal Edge  but make sure\n        //we're at the last of consec. horizontals when matching with eMaxPair\n        if(e == eMaxPair && IsLastHorz)\n        {\n          if (horzEdge->OutIdx >= 0)\n            AddLocalMaxPoly(horzEdge, eMaxPair, horzEdge->Top);\n          DeleteFromAEL(horzEdge);\n          DeleteFromAEL(eMaxPair);\n          return;\n        }\n        \n\t\tif(dir == dLeftToRight)\n        {\n          IntPoint Pt = IntPoint(e->Curr.X, horzEdge->Curr.Y);\n          IntersectEdges(horzEdge, e, Pt);\n        }\n        else\n        {\n          IntPoint Pt = IntPoint(e->Curr.X, horzEdge->Curr.Y);\n          IntersectEdges( e, horzEdge, Pt);\n        }\n        TEdge* eNext = GetNextInAEL(e, dir);\n        SwapPositionsInAEL( horzEdge, e );\n        e = eNext;\n    } //end while(e)\n\n\t//Break out of loop if HorzEdge.NextInLML is not also horizontal ...\n\tif (!horzEdge->NextInLML || !IsHorizontal(*horzEdge->NextInLML)) break;\n\n\tUpdateEdgeIntoAEL(horzEdge);\n    if (horzEdge->OutIdx >= 0) AddOutPt(horzEdge, horzEdge->Bot);\n    GetHorzDirection(*horzEdge, dir, horzLeft, horzRight);\n\n  } //end for (;;)\n\n  if (horzEdge->OutIdx >= 0 && !op1)\n  {\n      op1 = GetLastOutPt(horzEdge);\n      TEdge* eNextHorz = m_SortedEdges;\n      while (eNextHorz)\n      {\n          if (eNextHorz->OutIdx >= 0 &&\n              HorzSegmentsOverlap(horzEdge->Bot.X,\n              horzEdge->Top.X, eNextHorz->Bot.X, eNextHorz->Top.X))\n          {\n              OutPt* op2 = GetLastOutPt(eNextHorz);\n              AddJoin(op2, op1, eNextHorz->Top);\n          }\n          eNextHorz = eNextHorz->NextInSEL;\n      }\n      AddGhostJoin(op1, horzEdge->Top);\n  }\n\n  if (horzEdge->NextInLML)\n  {\n    if(horzEdge->OutIdx >= 0)\n    {\n      op1 = AddOutPt( horzEdge, horzEdge->Top);\n      UpdateEdgeIntoAEL(horzEdge);\n      if (horzEdge->WindDelta == 0) return;\n      //nb: HorzEdge is no longer horizontal here\n      TEdge* ePrev = horzEdge->PrevInAEL;\n      TEdge* eNext = horzEdge->NextInAEL;\n      if (ePrev && ePrev->Curr.X == horzEdge->Bot.X &&\n        ePrev->Curr.Y == horzEdge->Bot.Y && ePrev->WindDelta != 0 &&\n        (ePrev->OutIdx >= 0 && ePrev->Curr.Y > ePrev->Top.Y &&\n        SlopesEqual(*horzEdge, *ePrev, m_UseFullRange)))\n      {\n        OutPt* op2 = AddOutPt(ePrev, horzEdge->Bot);\n        AddJoin(op1, op2, horzEdge->Top);\n      }\n      else if (eNext && eNext->Curr.X == horzEdge->Bot.X &&\n        eNext->Curr.Y == horzEdge->Bot.Y && eNext->WindDelta != 0 &&\n        eNext->OutIdx >= 0 && eNext->Curr.Y > eNext->Top.Y &&\n        SlopesEqual(*horzEdge, *eNext, m_UseFullRange))\n      {\n        OutPt* op2 = AddOutPt(eNext, horzEdge->Bot);\n        AddJoin(op1, op2, horzEdge->Top);\n      }\n    }\n    else\n      UpdateEdgeIntoAEL(horzEdge); \n  }\n  else\n  {\n    if (horzEdge->OutIdx >= 0) AddOutPt(horzEdge, horzEdge->Top);\n    DeleteFromAEL(horzEdge);\n  }\n}\n//------------------------------------------------------------------------------\n\nbool Clipper::ProcessIntersections(const cInt topY)\n{\n  if( !m_ActiveEdges ) return true;\n  try {\n    BuildIntersectList(topY);\n    size_t IlSize = m_IntersectList.size();\n    if (IlSize == 0) return true;\n    if (IlSize == 1 || FixupIntersectionOrder()) ProcessIntersectList();\n    else return false;\n  }\n  catch(...) \n  {\n    m_SortedEdges = 0;\n    DisposeIntersectNodes();\n    throw clipperException(\"ProcessIntersections error\");\n  }\n  m_SortedEdges = 0;\n  return true;\n}\n//------------------------------------------------------------------------------\n\nvoid Clipper::DisposeIntersectNodes()\n{\n  for (size_t i = 0; i < m_IntersectList.size(); ++i )\n    delete m_IntersectList[i];\n  m_IntersectList.clear();\n}\n//------------------------------------------------------------------------------\n\nvoid Clipper::BuildIntersectList(const cInt topY)\n{\n  if ( !m_ActiveEdges ) return;\n\n  //prepare for sorting ...\n  TEdge* e = m_ActiveEdges;\n  m_SortedEdges = e;\n  while( e )\n  {\n    e->PrevInSEL = e->PrevInAEL;\n    e->NextInSEL = e->NextInAEL;\n    e->Curr.X = TopX( *e, topY );\n    e = e->NextInAEL;\n  }\n\n  //bubblesort ...\n  bool isModified;\n  do\n  {\n    isModified = false;\n    e = m_SortedEdges;\n    while( e->NextInSEL )\n    {\n      TEdge *eNext = e->NextInSEL;\n      IntPoint Pt;\n      if(e->Curr.X > eNext->Curr.X)\n      {\n        IntersectPoint(*e, *eNext, Pt);\n        if (Pt.Y < topY) Pt = IntPoint(TopX(*e, topY), topY);\n        IntersectNode * newNode = new IntersectNode;\n        newNode->Edge1 = e;\n        newNode->Edge2 = eNext;\n        newNode->Pt = Pt;\n        m_IntersectList.push_back(newNode);\n\n        SwapPositionsInSEL(e, eNext);\n        isModified = true;\n      }\n      else\n        e = eNext;\n    }\n    if( e->PrevInSEL ) e->PrevInSEL->NextInSEL = 0;\n    else break;\n  }\n  while ( isModified );\n  m_SortedEdges = 0; //important\n}\n//------------------------------------------------------------------------------\n\n\nvoid Clipper::ProcessIntersectList()\n{\n  for (size_t i = 0; i < m_IntersectList.size(); ++i)\n  {\n    IntersectNode* iNode = m_IntersectList[i];\n    {\n      IntersectEdges( iNode->Edge1, iNode->Edge2, iNode->Pt);\n      SwapPositionsInAEL( iNode->Edge1 , iNode->Edge2 );\n    }\n    delete iNode;\n  }\n  m_IntersectList.clear();\n}\n//------------------------------------------------------------------------------\n\nbool IntersectListSort(IntersectNode* node1, IntersectNode* node2)\n{\n  return node2->Pt.Y < node1->Pt.Y;\n}\n//------------------------------------------------------------------------------\n\ninline bool EdgesAdjacent(const IntersectNode &inode)\n{\n  return (inode.Edge1->NextInSEL == inode.Edge2) ||\n    (inode.Edge1->PrevInSEL == inode.Edge2);\n}\n//------------------------------------------------------------------------------\n\nbool Clipper::FixupIntersectionOrder()\n{\n  //pre-condition: intersections are sorted Bottom-most first.\n  //Now it's crucial that intersections are made only between adjacent edges,\n  //so to ensure this the order of intersections may need adjusting ...\n  CopyAELToSEL();\n  std::sort(m_IntersectList.begin(), m_IntersectList.end(), IntersectListSort);\n  size_t cnt = m_IntersectList.size();\n  for (size_t i = 0; i < cnt; ++i) \n  {\n    if (!EdgesAdjacent(*m_IntersectList[i]))\n    {\n      size_t j = i + 1;\n      while (j < cnt && !EdgesAdjacent(*m_IntersectList[j])) j++;\n      if (j == cnt)  return false;\n      std::swap(m_IntersectList[i], m_IntersectList[j]);\n    }\n    SwapPositionsInSEL(m_IntersectList[i]->Edge1, m_IntersectList[i]->Edge2);\n  }\n  return true;\n}\n//------------------------------------------------------------------------------\n\nvoid Clipper::DoMaxima(TEdge *e)\n{\n  TEdge* eMaxPair = GetMaximaPairEx(e);\n  if (!eMaxPair)\n  {\n    if (e->OutIdx >= 0)\n      AddOutPt(e, e->Top);\n    DeleteFromAEL(e);\n    return;\n  }\n\n  TEdge* eNext = e->NextInAEL;\n  while(eNext && eNext != eMaxPair)\n  {\n    IntersectEdges(e, eNext, e->Top);\n    SwapPositionsInAEL(e, eNext);\n    eNext = e->NextInAEL;\n  }\n\n  if(e->OutIdx == Unassigned && eMaxPair->OutIdx == Unassigned)\n  {\n    DeleteFromAEL(e);\n    DeleteFromAEL(eMaxPair);\n  }\n  else if( e->OutIdx >= 0 && eMaxPair->OutIdx >= 0 )\n  {\n    if (e->OutIdx >= 0) AddLocalMaxPoly(e, eMaxPair, e->Top);\n    DeleteFromAEL(e);\n    DeleteFromAEL(eMaxPair);\n  }\n#ifdef use_lines\n  else if (e->WindDelta == 0)\n  {\n    if (e->OutIdx >= 0) \n    {\n      AddOutPt(e, e->Top);\n      e->OutIdx = Unassigned;\n    }\n    DeleteFromAEL(e);\n\n    if (eMaxPair->OutIdx >= 0)\n    {\n      AddOutPt(eMaxPair, e->Top);\n      eMaxPair->OutIdx = Unassigned;\n    }\n    DeleteFromAEL(eMaxPair);\n  } \n#endif\n  else throw clipperException(\"DoMaxima error\");\n}\n//------------------------------------------------------------------------------\n\nvoid Clipper::ProcessEdgesAtTopOfScanbeam(const cInt topY)\n{\n  TEdge* e = m_ActiveEdges;\n  while( e )\n  {\n    //1. process maxima, treating them as if they're 'bent' horizontal edges,\n    //   but exclude maxima with horizontal edges. nb: e can't be a horizontal.\n    bool IsMaximaEdge = IsMaxima(e, topY);\n\n    if(IsMaximaEdge)\n    {\n      TEdge* eMaxPair = GetMaximaPairEx(e);\n      IsMaximaEdge = (!eMaxPair || !IsHorizontal(*eMaxPair));\n    }\n\n    if(IsMaximaEdge)\n    {\n      if (m_StrictSimple) m_Maxima.push_back(e->Top.X);\n      TEdge* ePrev = e->PrevInAEL;\n      DoMaxima(e);\n      if( !ePrev ) e = m_ActiveEdges;\n      else e = ePrev->NextInAEL;\n    }\n    else\n    {\n      //2. promote horizontal edges, otherwise update Curr.X and Curr.Y ...\n      if (IsIntermediate(e, topY) && IsHorizontal(*e->NextInLML))\n      {\n        UpdateEdgeIntoAEL(e);\n        if (e->OutIdx >= 0)\n          AddOutPt(e, e->Bot);\n        AddEdgeToSEL(e);\n      } \n      else\n      {\n        e->Curr.X = TopX( *e, topY );\n        e->Curr.Y = topY;\n#ifdef use_xyz\n\t\te->Curr.Z = topY == e->Top.Y ? e->Top.Z : (topY == e->Bot.Y ? e->Bot.Z : 0);\n#endif\n\t  }\n\n      //When StrictlySimple and 'e' is being touched by another edge, then\n      //make sure both edges have a vertex here ...\n      if (m_StrictSimple)\n      {  \n        TEdge* ePrev = e->PrevInAEL;\n        if ((e->OutIdx >= 0) && (e->WindDelta != 0) && ePrev && (ePrev->OutIdx >= 0) &&\n          (ePrev->Curr.X == e->Curr.X) && (ePrev->WindDelta != 0))\n        {\n          IntPoint pt = e->Curr;\n#ifdef use_xyz\n          SetZ(pt, *ePrev, *e);\n#endif\n          OutPt* op = AddOutPt(ePrev, pt);\n          OutPt* op2 = AddOutPt(e, pt);\n          AddJoin(op, op2, pt); //StrictlySimple (type-3) join\n        }\n      }\n\n      e = e->NextInAEL;\n    }\n  }\n\n  //3. Process horizontals at the Top of the scanbeam ...\n  m_Maxima.sort();\n  ProcessHorizontals();\n  m_Maxima.clear();\n\n  //4. Promote intermediate vertices ...\n  e = m_ActiveEdges;\n  while(e)\n  {\n    if(IsIntermediate(e, topY))\n    {\n      OutPt* op = 0;\n      if( e->OutIdx >= 0 ) \n        op = AddOutPt(e, e->Top);\n      UpdateEdgeIntoAEL(e);\n\n      //if output polygons share an edge, they'll need joining later ...\n      TEdge* ePrev = e->PrevInAEL;\n      TEdge* eNext = e->NextInAEL;\n      if (ePrev && ePrev->Curr.X == e->Bot.X &&\n        ePrev->Curr.Y == e->Bot.Y && op &&\n        ePrev->OutIdx >= 0 && ePrev->Curr.Y > ePrev->Top.Y &&\n        SlopesEqual(e->Curr, e->Top, ePrev->Curr, ePrev->Top, m_UseFullRange) &&\n        (e->WindDelta != 0) && (ePrev->WindDelta != 0))\n      {\n        OutPt* op2 = AddOutPt(ePrev, e->Bot);\n        AddJoin(op, op2, e->Top);\n      }\n      else if (eNext && eNext->Curr.X == e->Bot.X &&\n        eNext->Curr.Y == e->Bot.Y && op &&\n        eNext->OutIdx >= 0 && eNext->Curr.Y > eNext->Top.Y &&\n        SlopesEqual(e->Curr, e->Top, eNext->Curr, eNext->Top, m_UseFullRange) &&\n        (e->WindDelta != 0) && (eNext->WindDelta != 0))\n      {\n        OutPt* op2 = AddOutPt(eNext, e->Bot);\n        AddJoin(op, op2, e->Top);\n      }\n    }\n    e = e->NextInAEL;\n  }\n}\n//------------------------------------------------------------------------------\n\nvoid Clipper::FixupOutPolyline(OutRec &outrec)\n{\n  OutPt *pp = outrec.Pts;\n  OutPt *lastPP = pp->Prev;\n  while (pp != lastPP)\n  {\n    pp = pp->Next;\n    if (pp->Pt == pp->Prev->Pt)\n    {\n      if (pp == lastPP) lastPP = pp->Prev;\n      OutPt *tmpPP = pp->Prev;\n      tmpPP->Next = pp->Next;\n      pp->Next->Prev = tmpPP;\n      delete pp;\n      pp = tmpPP;\n    }\n  }\n\n  if (pp == pp->Prev)\n  {\n    DisposeOutPts(pp);\n    outrec.Pts = 0;\n    return;\n  }\n}\n//------------------------------------------------------------------------------\n\nvoid Clipper::FixupOutPolygon(OutRec &outrec)\n{\n    //FixupOutPolygon() - removes duplicate points and simplifies consecutive\n    //parallel edges by removing the middle vertex.\n    OutPt *lastOK = 0;\n    outrec.BottomPt = 0;\n    OutPt *pp = outrec.Pts;\n    bool preserveCol = m_PreserveCollinear || m_StrictSimple;\n\n    for (;;)\n    {\n        if (pp->Prev == pp || pp->Prev == pp->Next)\n        {\n            DisposeOutPts(pp);\n            outrec.Pts = 0;\n            return;\n        }\n\n        //test for duplicate points and collinear edges ...\n        if ((pp->Pt == pp->Next->Pt) || (pp->Pt == pp->Prev->Pt) ||\n            (SlopesEqual(pp->Prev->Pt, pp->Pt, pp->Next->Pt, m_UseFullRange) &&\n            (!preserveCol || !Pt2IsBetweenPt1AndPt3(pp->Prev->Pt, pp->Pt, pp->Next->Pt))))\n        {\n            lastOK = 0;\n            OutPt *tmp = pp;\n            pp->Prev->Next = pp->Next;\n            pp->Next->Prev = pp->Prev;\n            pp = pp->Prev;\n            delete tmp;\n        }\n        else if (pp == lastOK) break;\n        else\n        {\n            if (!lastOK) lastOK = pp;\n            pp = pp->Next;\n        }\n    }\n    outrec.Pts = pp;\n}\n//------------------------------------------------------------------------------\n\nint PointCount(OutPt *Pts)\n{\n    if (!Pts) return 0;\n    int result = 0;\n    OutPt* p = Pts;\n    do\n    {\n        result++;\n        p = p->Next;\n    }\n    while (p != Pts);\n    return result;\n}\n//------------------------------------------------------------------------------\n\nvoid Clipper::BuildResult(Paths &polys)\n{\n  polys.reserve(m_PolyOuts.size());\n  for (PolyOutList::size_type i = 0; i < m_PolyOuts.size(); ++i)\n  {\n    if (!m_PolyOuts[i]->Pts) continue;\n    Path pg;\n    OutPt* p = m_PolyOuts[i]->Pts->Prev;\n    int cnt = PointCount(p);\n    if (cnt < 2) continue;\n    pg.reserve(cnt);\n    for (int i = 0; i < cnt; ++i)\n    {\n      pg.push_back(p->Pt);\n      p = p->Prev;\n    }\n    polys.push_back(pg);\n  }\n}\n//------------------------------------------------------------------------------\n\nvoid Clipper::BuildResult2(PolyTree& polytree)\n{\n    polytree.Clear();\n    polytree.AllNodes.reserve(m_PolyOuts.size());\n    //add each output polygon/contour to polytree ...\n    for (PolyOutList::size_type i = 0; i < m_PolyOuts.size(); i++)\n    {\n        OutRec* outRec = m_PolyOuts[i];\n        int cnt = PointCount(outRec->Pts);\n        if ((outRec->IsOpen && cnt < 2) || (!outRec->IsOpen && cnt < 3)) continue;\n        FixHoleLinkage(*outRec);\n        PolyNode* pn = new PolyNode();\n        //nb: polytree takes ownership of all the PolyNodes\n        polytree.AllNodes.push_back(pn);\n        outRec->PolyNd = pn;\n        pn->Parent = 0;\n        pn->Index = 0;\n        pn->Contour.reserve(cnt);\n        OutPt *op = outRec->Pts->Prev;\n        for (int j = 0; j < cnt; j++)\n        {\n            pn->Contour.push_back(op->Pt);\n            op = op->Prev;\n        }\n    }\n\n    //fixup PolyNode links etc ...\n    polytree.Childs.reserve(m_PolyOuts.size());\n    for (PolyOutList::size_type i = 0; i < m_PolyOuts.size(); i++)\n    {\n        OutRec* outRec = m_PolyOuts[i];\n        if (!outRec->PolyNd) continue;\n        if (outRec->IsOpen) \n        {\n          outRec->PolyNd->m_IsOpen = true;\n          polytree.AddChild(*outRec->PolyNd);\n        }\n        else if (outRec->FirstLeft && outRec->FirstLeft->PolyNd) \n          outRec->FirstLeft->PolyNd->AddChild(*outRec->PolyNd);\n        else\n          polytree.AddChild(*outRec->PolyNd);\n    }\n}\n//------------------------------------------------------------------------------\n\nvoid SwapIntersectNodes(IntersectNode &int1, IntersectNode &int2)\n{\n  //just swap the contents (because fIntersectNodes is a single-linked-list)\n  IntersectNode inode = int1; //gets a copy of Int1\n  int1.Edge1 = int2.Edge1;\n  int1.Edge2 = int2.Edge2;\n  int1.Pt = int2.Pt;\n  int2.Edge1 = inode.Edge1;\n  int2.Edge2 = inode.Edge2;\n  int2.Pt = inode.Pt;\n}\n//------------------------------------------------------------------------------\n\ninline bool E2InsertsBeforeE1(TEdge &e1, TEdge &e2)\n{\n  if (e2.Curr.X == e1.Curr.X) \n  {\n    if (e2.Top.Y > e1.Top.Y)\n      return e2.Top.X < TopX(e1, e2.Top.Y); \n      else return e1.Top.X > TopX(e2, e1.Top.Y);\n  } \n  else return e2.Curr.X < e1.Curr.X;\n}\n//------------------------------------------------------------------------------\n\nbool GetOverlap(const cInt a1, const cInt a2, const cInt b1, const cInt b2, \n    cInt& Left, cInt& Right)\n{\n  if (a1 < a2)\n  {\n    if (b1 < b2) {Left = std::max(a1,b1); Right = std::min(a2,b2);}\n    else {Left = std::max(a1,b2); Right = std::min(a2,b1);}\n  } \n  else\n  {\n    if (b1 < b2) {Left = std::max(a2,b1); Right = std::min(a1,b2);}\n    else {Left = std::max(a2,b2); Right = std::min(a1,b1);}\n  }\n  return Left < Right;\n}\n//------------------------------------------------------------------------------\n\ninline void UpdateOutPtIdxs(OutRec& outrec)\n{  \n  OutPt* op = outrec.Pts;\n  do\n  {\n    op->Idx = outrec.Idx;\n    op = op->Prev;\n  }\n  while(op != outrec.Pts);\n}\n//------------------------------------------------------------------------------\n\nvoid Clipper::InsertEdgeIntoAEL(TEdge *edge, TEdge* startEdge)\n{\n  if(!m_ActiveEdges)\n  {\n    edge->PrevInAEL = 0;\n    edge->NextInAEL = 0;\n    m_ActiveEdges = edge;\n  }\n  else if(!startEdge && E2InsertsBeforeE1(*m_ActiveEdges, *edge))\n  {\n      edge->PrevInAEL = 0;\n      edge->NextInAEL = m_ActiveEdges;\n      m_ActiveEdges->PrevInAEL = edge;\n      m_ActiveEdges = edge;\n  } \n  else\n  {\n    if(!startEdge) startEdge = m_ActiveEdges;\n    while(startEdge->NextInAEL  && \n      !E2InsertsBeforeE1(*startEdge->NextInAEL , *edge))\n        startEdge = startEdge->NextInAEL;\n    edge->NextInAEL = startEdge->NextInAEL;\n    if(startEdge->NextInAEL) startEdge->NextInAEL->PrevInAEL = edge;\n    edge->PrevInAEL = startEdge;\n    startEdge->NextInAEL = edge;\n  }\n}\n//----------------------------------------------------------------------\n\nOutPt* DupOutPt(OutPt* outPt, bool InsertAfter)\n{\n  OutPt* result = new OutPt;\n  result->Pt = outPt->Pt;\n  result->Idx = outPt->Idx;\n  if (InsertAfter)\n  {\n    result->Next = outPt->Next;\n    result->Prev = outPt;\n    outPt->Next->Prev = result;\n    outPt->Next = result;\n  } \n  else\n  {\n    result->Prev = outPt->Prev;\n    result->Next = outPt;\n    outPt->Prev->Next = result;\n    outPt->Prev = result;\n  }\n  return result;\n}\n//------------------------------------------------------------------------------\n\nbool JoinHorz(OutPt* op1, OutPt* op1b, OutPt* op2, OutPt* op2b,\n  const IntPoint Pt, bool DiscardLeft)\n{\n  Direction Dir1 = (op1->Pt.X > op1b->Pt.X ? dRightToLeft : dLeftToRight);\n  Direction Dir2 = (op2->Pt.X > op2b->Pt.X ? dRightToLeft : dLeftToRight);\n  if (Dir1 == Dir2) return false;\n\n  //When DiscardLeft, we want Op1b to be on the Left of Op1, otherwise we\n  //want Op1b to be on the Right. (And likewise with Op2 and Op2b.)\n  //So, to facilitate this while inserting Op1b and Op2b ...\n  //when DiscardLeft, make sure we're AT or RIGHT of Pt before adding Op1b,\n  //otherwise make sure we're AT or LEFT of Pt. (Likewise with Op2b.)\n  if (Dir1 == dLeftToRight) \n  {\n    while (op1->Next->Pt.X <= Pt.X && \n      op1->Next->Pt.X >= op1->Pt.X && op1->Next->Pt.Y == Pt.Y)  \n        op1 = op1->Next;\n    if (DiscardLeft && (op1->Pt.X != Pt.X)) op1 = op1->Next;\n    op1b = DupOutPt(op1, !DiscardLeft);\n    if (op1b->Pt != Pt) \n    {\n      op1 = op1b;\n      op1->Pt = Pt;\n      op1b = DupOutPt(op1, !DiscardLeft);\n    }\n  } \n  else\n  {\n    while (op1->Next->Pt.X >= Pt.X && \n      op1->Next->Pt.X <= op1->Pt.X && op1->Next->Pt.Y == Pt.Y) \n        op1 = op1->Next;\n    if (!DiscardLeft && (op1->Pt.X != Pt.X)) op1 = op1->Next;\n    op1b = DupOutPt(op1, DiscardLeft);\n    if (op1b->Pt != Pt)\n    {\n      op1 = op1b;\n      op1->Pt = Pt;\n      op1b = DupOutPt(op1, DiscardLeft);\n    }\n  }\n\n  if (Dir2 == dLeftToRight)\n  {\n    while (op2->Next->Pt.X <= Pt.X && \n      op2->Next->Pt.X >= op2->Pt.X && op2->Next->Pt.Y == Pt.Y)\n        op2 = op2->Next;\n    if (DiscardLeft && (op2->Pt.X != Pt.X)) op2 = op2->Next;\n    op2b = DupOutPt(op2, !DiscardLeft);\n    if (op2b->Pt != Pt)\n    {\n      op2 = op2b;\n      op2->Pt = Pt;\n      op2b = DupOutPt(op2, !DiscardLeft);\n    };\n  } else\n  {\n    while (op2->Next->Pt.X >= Pt.X && \n      op2->Next->Pt.X <= op2->Pt.X && op2->Next->Pt.Y == Pt.Y) \n        op2 = op2->Next;\n    if (!DiscardLeft && (op2->Pt.X != Pt.X)) op2 = op2->Next;\n    op2b = DupOutPt(op2, DiscardLeft);\n    if (op2b->Pt != Pt)\n    {\n      op2 = op2b;\n      op2->Pt = Pt;\n      op2b = DupOutPt(op2, DiscardLeft);\n    };\n  };\n\n  if ((Dir1 == dLeftToRight) == DiscardLeft)\n  {\n    op1->Prev = op2;\n    op2->Next = op1;\n    op1b->Next = op2b;\n    op2b->Prev = op1b;\n  }\n  else\n  {\n    op1->Next = op2;\n    op2->Prev = op1;\n    op1b->Prev = op2b;\n    op2b->Next = op1b;\n  }\n  return true;\n}\n//------------------------------------------------------------------------------\n\nbool Clipper::JoinPoints(Join *j, OutRec* outRec1, OutRec* outRec2)\n{\n  OutPt *op1 = j->OutPt1, *op1b;\n  OutPt *op2 = j->OutPt2, *op2b;\n\n  //There are 3 kinds of joins for output polygons ...\n  //1. Horizontal joins where Join.OutPt1 & Join.OutPt2 are vertices anywhere\n  //along (horizontal) collinear edges (& Join.OffPt is on the same horizontal).\n  //2. Non-horizontal joins where Join.OutPt1 & Join.OutPt2 are at the same\n  //location at the Bottom of the overlapping segment (& Join.OffPt is above).\n  //3. StrictSimple joins where edges touch but are not collinear and where\n  //Join.OutPt1, Join.OutPt2 & Join.OffPt all share the same point.\n  bool isHorizontal = (j->OutPt1->Pt.Y == j->OffPt.Y);\n\n  if (isHorizontal  && (j->OffPt == j->OutPt1->Pt) &&\n  (j->OffPt == j->OutPt2->Pt))\n  {\n    //Strictly Simple join ...\n    if (outRec1 != outRec2) return false;\n    op1b = j->OutPt1->Next;\n    while (op1b != op1 && (op1b->Pt == j->OffPt)) \n      op1b = op1b->Next;\n    bool reverse1 = (op1b->Pt.Y > j->OffPt.Y);\n    op2b = j->OutPt2->Next;\n    while (op2b != op2 && (op2b->Pt == j->OffPt)) \n      op2b = op2b->Next;\n    bool reverse2 = (op2b->Pt.Y > j->OffPt.Y);\n    if (reverse1 == reverse2) return false;\n    if (reverse1)\n    {\n      op1b = DupOutPt(op1, false);\n      op2b = DupOutPt(op2, true);\n      op1->Prev = op2;\n      op2->Next = op1;\n      op1b->Next = op2b;\n      op2b->Prev = op1b;\n      j->OutPt1 = op1;\n      j->OutPt2 = op1b;\n      return true;\n    } else\n    {\n      op1b = DupOutPt(op1, true);\n      op2b = DupOutPt(op2, false);\n      op1->Next = op2;\n      op2->Prev = op1;\n      op1b->Prev = op2b;\n      op2b->Next = op1b;\n      j->OutPt1 = op1;\n      j->OutPt2 = op1b;\n      return true;\n    }\n  } \n  else if (isHorizontal)\n  {\n    //treat horizontal joins differently to non-horizontal joins since with\n    //them we're not yet sure where the overlapping is. OutPt1.Pt & OutPt2.Pt\n    //may be anywhere along the horizontal edge.\n    op1b = op1;\n    while (op1->Prev->Pt.Y == op1->Pt.Y && op1->Prev != op1b && op1->Prev != op2)\n      op1 = op1->Prev;\n    while (op1b->Next->Pt.Y == op1b->Pt.Y && op1b->Next != op1 && op1b->Next != op2)\n      op1b = op1b->Next;\n    if (op1b->Next == op1 || op1b->Next == op2) return false; //a flat 'polygon'\n\n    op2b = op2;\n    while (op2->Prev->Pt.Y == op2->Pt.Y && op2->Prev != op2b && op2->Prev != op1b)\n      op2 = op2->Prev;\n    while (op2b->Next->Pt.Y == op2b->Pt.Y && op2b->Next != op2 && op2b->Next != op1)\n      op2b = op2b->Next;\n    if (op2b->Next == op2 || op2b->Next == op1) return false; //a flat 'polygon'\n\n    cInt Left, Right;\n    //Op1 --> Op1b & Op2 --> Op2b are the extremites of the horizontal edges\n    if (!GetOverlap(op1->Pt.X, op1b->Pt.X, op2->Pt.X, op2b->Pt.X, Left, Right))\n      return false;\n\n    //DiscardLeftSide: when overlapping edges are joined, a spike will created\n    //which needs to be cleaned up. However, we don't want Op1 or Op2 caught up\n    //on the discard Side as either may still be needed for other joins ...\n    IntPoint Pt;\n    bool DiscardLeftSide;\n    if (op1->Pt.X >= Left && op1->Pt.X <= Right) \n    {\n      Pt = op1->Pt; DiscardLeftSide = (op1->Pt.X > op1b->Pt.X);\n    } \n    else if (op2->Pt.X >= Left&& op2->Pt.X <= Right) \n    {\n      Pt = op2->Pt; DiscardLeftSide = (op2->Pt.X > op2b->Pt.X);\n    } \n    else if (op1b->Pt.X >= Left && op1b->Pt.X <= Right)\n    {\n      Pt = op1b->Pt; DiscardLeftSide = op1b->Pt.X > op1->Pt.X;\n    } \n    else\n    {\n      Pt = op2b->Pt; DiscardLeftSide = (op2b->Pt.X > op2->Pt.X);\n    }\n    j->OutPt1 = op1; j->OutPt2 = op2;\n    return JoinHorz(op1, op1b, op2, op2b, Pt, DiscardLeftSide);\n  } else\n  {\n    //nb: For non-horizontal joins ...\n    //    1. Jr.OutPt1.Pt.Y == Jr.OutPt2.Pt.Y\n    //    2. Jr.OutPt1.Pt > Jr.OffPt.Y\n\n    //make sure the polygons are correctly oriented ...\n    op1b = op1->Next;\n    while ((op1b->Pt == op1->Pt) && (op1b != op1)) op1b = op1b->Next;\n    bool Reverse1 = ((op1b->Pt.Y > op1->Pt.Y) ||\n      !SlopesEqual(op1->Pt, op1b->Pt, j->OffPt, m_UseFullRange));\n    if (Reverse1)\n    {\n      op1b = op1->Prev;\n      while ((op1b->Pt == op1->Pt) && (op1b != op1)) op1b = op1b->Prev;\n      if ((op1b->Pt.Y > op1->Pt.Y) ||\n        !SlopesEqual(op1->Pt, op1b->Pt, j->OffPt, m_UseFullRange)) return false;\n    };\n    op2b = op2->Next;\n    while ((op2b->Pt == op2->Pt) && (op2b != op2))op2b = op2b->Next;\n    bool Reverse2 = ((op2b->Pt.Y > op2->Pt.Y) ||\n      !SlopesEqual(op2->Pt, op2b->Pt, j->OffPt, m_UseFullRange));\n    if (Reverse2)\n    {\n      op2b = op2->Prev;\n      while ((op2b->Pt == op2->Pt) && (op2b != op2)) op2b = op2b->Prev;\n      if ((op2b->Pt.Y > op2->Pt.Y) ||\n        !SlopesEqual(op2->Pt, op2b->Pt, j->OffPt, m_UseFullRange)) return false;\n    }\n\n    if ((op1b == op1) || (op2b == op2) || (op1b == op2b) ||\n      ((outRec1 == outRec2) && (Reverse1 == Reverse2))) return false;\n\n    if (Reverse1)\n    {\n      op1b = DupOutPt(op1, false);\n      op2b = DupOutPt(op2, true);\n      op1->Prev = op2;\n      op2->Next = op1;\n      op1b->Next = op2b;\n      op2b->Prev = op1b;\n      j->OutPt1 = op1;\n      j->OutPt2 = op1b;\n      return true;\n    } else\n    {\n      op1b = DupOutPt(op1, true);\n      op2b = DupOutPt(op2, false);\n      op1->Next = op2;\n      op2->Prev = op1;\n      op1b->Prev = op2b;\n      op2b->Next = op1b;\n      j->OutPt1 = op1;\n      j->OutPt2 = op1b;\n      return true;\n    }\n  }\n}\n//----------------------------------------------------------------------\n\nstatic OutRec* ParseFirstLeft(OutRec* FirstLeft)\n{\n  while (FirstLeft && !FirstLeft->Pts)\n    FirstLeft = FirstLeft->FirstLeft;\n  return FirstLeft;\n}\n//------------------------------------------------------------------------------\n\nvoid Clipper::FixupFirstLefts1(OutRec* OldOutRec, OutRec* NewOutRec)\n{ \n  //tests if NewOutRec contains the polygon before reassigning FirstLeft\n  for (PolyOutList::size_type i = 0; i < m_PolyOuts.size(); ++i)\n  {\n    OutRec* outRec = m_PolyOuts[i];\n    OutRec* firstLeft = ParseFirstLeft(outRec->FirstLeft);\n    if (outRec->Pts  && firstLeft == OldOutRec)\n    {\n      if (Poly2ContainsPoly1(outRec->Pts, NewOutRec->Pts))\n        outRec->FirstLeft = NewOutRec;\n    }\n  }\n}\n//----------------------------------------------------------------------\n\nvoid Clipper::FixupFirstLefts2(OutRec* InnerOutRec, OutRec* OuterOutRec)\n{\n  //A polygon has split into two such that one is now the inner of the other.\n  //It's possible that these polygons now wrap around other polygons, so check\n  //every polygon that's also contained by OuterOutRec's FirstLeft container\n  //(including 0) to see if they've become inner to the new inner polygon ...\n  OutRec* orfl = OuterOutRec->FirstLeft;\n  for (PolyOutList::size_type i = 0; i < m_PolyOuts.size(); ++i)\n  {\n    OutRec* outRec = m_PolyOuts[i];\n\n    if (!outRec->Pts || outRec == OuterOutRec || outRec == InnerOutRec)\n      continue;\n    OutRec* firstLeft = ParseFirstLeft(outRec->FirstLeft);\n    if (firstLeft != orfl && firstLeft != InnerOutRec && firstLeft != OuterOutRec)\n      continue;\n    if (Poly2ContainsPoly1(outRec->Pts, InnerOutRec->Pts))\n      outRec->FirstLeft = InnerOutRec;\n    else if (Poly2ContainsPoly1(outRec->Pts, OuterOutRec->Pts))\n      outRec->FirstLeft = OuterOutRec;\n    else if (outRec->FirstLeft == InnerOutRec || outRec->FirstLeft == OuterOutRec)\n      outRec->FirstLeft = orfl;\n  }\n}\n//----------------------------------------------------------------------\nvoid Clipper::FixupFirstLefts3(OutRec* OldOutRec, OutRec* NewOutRec)\n{\n  //reassigns FirstLeft WITHOUT testing if NewOutRec contains the polygon\n  for (PolyOutList::size_type i = 0; i < m_PolyOuts.size(); ++i)\n  {\n    OutRec* outRec = m_PolyOuts[i];\n    OutRec* firstLeft = ParseFirstLeft(outRec->FirstLeft);\n    if (outRec->Pts && firstLeft == OldOutRec)\n      outRec->FirstLeft = NewOutRec;\n  }\n}\n//----------------------------------------------------------------------\n\nvoid Clipper::JoinCommonEdges()\n{\n  for (JoinList::size_type i = 0; i < m_Joins.size(); i++)\n  {\n    Join* join = m_Joins[i];\n\n    OutRec *outRec1 = GetOutRec(join->OutPt1->Idx);\n    OutRec *outRec2 = GetOutRec(join->OutPt2->Idx);\n\n    if (!outRec1->Pts || !outRec2->Pts) continue;\n    if (outRec1->IsOpen || outRec2->IsOpen) continue;\n\n    //get the polygon fragment with the correct hole state (FirstLeft)\n    //before calling JoinPoints() ...\n    OutRec *holeStateRec;\n    if (outRec1 == outRec2) holeStateRec = outRec1;\n    else if (OutRec1RightOfOutRec2(outRec1, outRec2)) holeStateRec = outRec2;\n    else if (OutRec1RightOfOutRec2(outRec2, outRec1)) holeStateRec = outRec1;\n    else holeStateRec = GetLowermostRec(outRec1, outRec2);\n\n    if (!JoinPoints(join, outRec1, outRec2)) continue;\n\n    if (outRec1 == outRec2)\n    {\n      //instead of joining two polygons, we've just created a new one by\n      //splitting one polygon into two.\n      outRec1->Pts = join->OutPt1;\n      outRec1->BottomPt = 0;\n      outRec2 = CreateOutRec();\n      outRec2->Pts = join->OutPt2;\n\n      //update all OutRec2.Pts Idx's ...\n      UpdateOutPtIdxs(*outRec2);\n\n      if (Poly2ContainsPoly1(outRec2->Pts, outRec1->Pts))\n      {\n        //outRec1 contains outRec2 ...\n        outRec2->IsHole = !outRec1->IsHole;\n        outRec2->FirstLeft = outRec1;\n\n        if (m_UsingPolyTree) FixupFirstLefts2(outRec2, outRec1);\n\n        if ((outRec2->IsHole ^ m_ReverseOutput) == (Area(*outRec2) > 0))\n          ReversePolyPtLinks(outRec2->Pts);\n            \n      } else if (Poly2ContainsPoly1(outRec1->Pts, outRec2->Pts))\n      {\n        //outRec2 contains outRec1 ...\n        outRec2->IsHole = outRec1->IsHole;\n        outRec1->IsHole = !outRec2->IsHole;\n        outRec2->FirstLeft = outRec1->FirstLeft;\n        outRec1->FirstLeft = outRec2;\n\n        if (m_UsingPolyTree) FixupFirstLefts2(outRec1, outRec2);\n\n        if ((outRec1->IsHole ^ m_ReverseOutput) == (Area(*outRec1) > 0))\n          ReversePolyPtLinks(outRec1->Pts);\n      } \n      else\n      {\n        //the 2 polygons are completely separate ...\n        outRec2->IsHole = outRec1->IsHole;\n        outRec2->FirstLeft = outRec1->FirstLeft;\n\n        //fixup FirstLeft pointers that may need reassigning to OutRec2\n        if (m_UsingPolyTree) FixupFirstLefts1(outRec1, outRec2);\n      }\n     \n    } else\n    {\n      //joined 2 polygons together ...\n\n      outRec2->Pts = 0;\n      outRec2->BottomPt = 0;\n      outRec2->Idx = outRec1->Idx;\n\n      outRec1->IsHole = holeStateRec->IsHole;\n      if (holeStateRec == outRec2) \n        outRec1->FirstLeft = outRec2->FirstLeft;\n      outRec2->FirstLeft = outRec1;\n\n      if (m_UsingPolyTree) FixupFirstLefts3(outRec2, outRec1);\n    }\n  }\n}\n\n//------------------------------------------------------------------------------\n// ClipperOffset support functions ...\n//------------------------------------------------------------------------------\n\nDoublePoint GetUnitNormal(const IntPoint &pt1, const IntPoint &pt2)\n{\n  if(pt2.X == pt1.X && pt2.Y == pt1.Y) \n    return DoublePoint(0, 0);\n\n  double Dx = (double)(pt2.X - pt1.X);\n  double dy = (double)(pt2.Y - pt1.Y);\n  double f = 1 *1.0/ std::sqrt( Dx*Dx + dy*dy );\n  Dx *= f;\n  dy *= f;\n  return DoublePoint(dy, -Dx);\n}\n\n//------------------------------------------------------------------------------\n// ClipperOffset class\n//------------------------------------------------------------------------------\n\nClipperOffset::ClipperOffset(double miterLimit, double arcTolerance)\n{\n  this->MiterLimit = miterLimit;\n  this->ArcTolerance = arcTolerance;\n  m_lowest.X = -1;\n}\n//------------------------------------------------------------------------------\n\nClipperOffset::~ClipperOffset()\n{\n  Clear();\n}\n//------------------------------------------------------------------------------\n\nvoid ClipperOffset::Clear()\n{\n  for (int i = 0; i < m_polyNodes.ChildCount(); ++i)\n    delete m_polyNodes.Childs[i];\n  m_polyNodes.Childs.clear();\n  m_lowest.X = -1;\n}\n//------------------------------------------------------------------------------\n\nvoid ClipperOffset::AddPath(const Path& path, JoinType joinType, EndType endType)\n{\n  int highI = (int)path.size() - 1;\n  if (highI < 0) return;\n  PolyNode* newNode = new PolyNode();\n  newNode->m_jointype = joinType;\n  newNode->m_endtype = endType;\n\n  //strip duplicate points from path and also get index to the lowest point ...\n  if (endType == etClosedLine || endType == etClosedPolygon)\n    while (highI > 0 && path[0] == path[highI]) highI--;\n  newNode->Contour.reserve(highI + 1);\n  newNode->Contour.push_back(path[0]);\n  int j = 0, k = 0;\n  for (int i = 1; i <= highI; i++)\n    if (newNode->Contour[j] != path[i])\n    {\n      j++;\n      newNode->Contour.push_back(path[i]);\n      if (path[i].Y > newNode->Contour[k].Y ||\n        (path[i].Y == newNode->Contour[k].Y &&\n        path[i].X < newNode->Contour[k].X)) k = j;\n    }\n  if (endType == etClosedPolygon && j < 2)\n  {\n    delete newNode;\n    return;\n  }\n  m_polyNodes.AddChild(*newNode);\n\n  //if this path's lowest pt is lower than all the others then update m_lowest\n  if (endType != etClosedPolygon) return;\n  if (m_lowest.X < 0)\n    m_lowest = IntPoint(m_polyNodes.ChildCount() - 1, k);\n  else\n  {\n    IntPoint ip = m_polyNodes.Childs[(int)m_lowest.X]->Contour[(int)m_lowest.Y];\n    if (newNode->Contour[k].Y > ip.Y ||\n      (newNode->Contour[k].Y == ip.Y &&\n      newNode->Contour[k].X < ip.X))\n      m_lowest = IntPoint(m_polyNodes.ChildCount() - 1, k);\n  }\n}\n//------------------------------------------------------------------------------\n\nvoid ClipperOffset::AddPaths(const Paths& paths, JoinType joinType, EndType endType)\n{\n  for (Paths::size_type i = 0; i < paths.size(); ++i)\n    AddPath(paths[i], joinType, endType);\n}\n//------------------------------------------------------------------------------\n\nvoid ClipperOffset::FixOrientations()\n{\n  //fixup orientations of all closed paths if the orientation of the\n  //closed path with the lowermost vertex is wrong ...\n  if (m_lowest.X >= 0 && \n    !Orientation(m_polyNodes.Childs[(int)m_lowest.X]->Contour))\n  {\n    for (int i = 0; i < m_polyNodes.ChildCount(); ++i)\n    {\n      PolyNode& node = *m_polyNodes.Childs[i];\n      if (node.m_endtype == etClosedPolygon ||\n        (node.m_endtype == etClosedLine && Orientation(node.Contour)))\n          ReversePath(node.Contour);\n    }\n  } else\n  {\n    for (int i = 0; i < m_polyNodes.ChildCount(); ++i)\n    {\n      PolyNode& node = *m_polyNodes.Childs[i];\n      if (node.m_endtype == etClosedLine && !Orientation(node.Contour))\n        ReversePath(node.Contour);\n    }\n  }\n}\n//------------------------------------------------------------------------------\n\nvoid ClipperOffset::Execute(Paths& solution, double delta)\n{\n  solution.clear();\n  FixOrientations();\n  DoOffset(delta);\n  \n  //now clean up 'corners' ...\n  Clipper clpr;\n  clpr.AddPaths(m_destPolys, ptSubject, true);\n  if (delta > 0)\n  {\n    clpr.Execute(ctUnion, solution, pftPositive, pftPositive);\n  }\n  else\n  {\n    IntRect r = clpr.GetBounds();\n    Path outer(4);\n    outer[0] = IntPoint(r.left - 10, r.bottom + 10);\n    outer[1] = IntPoint(r.right + 10, r.bottom + 10);\n    outer[2] = IntPoint(r.right + 10, r.top - 10);\n    outer[3] = IntPoint(r.left - 10, r.top - 10);\n\n    clpr.AddPath(outer, ptSubject, true);\n    clpr.ReverseSolution(true);\n    clpr.Execute(ctUnion, solution, pftNegative, pftNegative);\n    if (solution.size() > 0) solution.erase(solution.begin());\n  }\n}\n//------------------------------------------------------------------------------\n\nvoid ClipperOffset::Execute(PolyTree& solution, double delta)\n{\n  solution.Clear();\n  FixOrientations();\n  DoOffset(delta);\n\n  //now clean up 'corners' ...\n  Clipper clpr;\n  clpr.AddPaths(m_destPolys, ptSubject, true);\n  if (delta > 0)\n  {\n    clpr.Execute(ctUnion, solution, pftPositive, pftPositive);\n  }\n  else\n  {\n    IntRect r = clpr.GetBounds();\n    Path outer(4);\n    outer[0] = IntPoint(r.left - 10, r.bottom + 10);\n    outer[1] = IntPoint(r.right + 10, r.bottom + 10);\n    outer[2] = IntPoint(r.right + 10, r.top - 10);\n    outer[3] = IntPoint(r.left - 10, r.top - 10);\n\n    clpr.AddPath(outer, ptSubject, true);\n    clpr.ReverseSolution(true);\n    clpr.Execute(ctUnion, solution, pftNegative, pftNegative);\n    //remove the outer PolyNode rectangle ...\n    if (solution.ChildCount() == 1 && solution.Childs[0]->ChildCount() > 0)\n    {\n      PolyNode* outerNode = solution.Childs[0];\n      solution.Childs.reserve(outerNode->ChildCount());\n      solution.Childs[0] = outerNode->Childs[0];\n      solution.Childs[0]->Parent = outerNode->Parent;\n      for (int i = 1; i < outerNode->ChildCount(); ++i)\n        solution.AddChild(*outerNode->Childs[i]);\n    }\n    else\n      solution.Clear();\n  }\n}\n//------------------------------------------------------------------------------\n\nvoid ClipperOffset::DoOffset(double delta)\n{\n  m_destPolys.clear();\n  m_delta = delta;\n\n  //if Zero offset, just copy any CLOSED polygons to m_p and return ...\n  if (NEAR_ZERO(delta)) \n  {\n    m_destPolys.reserve(m_polyNodes.ChildCount());\n    for (int i = 0; i < m_polyNodes.ChildCount(); i++)\n    {\n      PolyNode& node = *m_polyNodes.Childs[i];\n      if (node.m_endtype == etClosedPolygon)\n        m_destPolys.push_back(node.Contour);\n    }\n    return;\n  }\n\n  //see offset_triginometry3.svg in the documentation folder ...\n  if (MiterLimit > 2) m_miterLim = 2/(MiterLimit * MiterLimit);\n  else m_miterLim = 0.5;\n\n  double y;\n  if (ArcTolerance <= 0.0) y = def_arc_tolerance;\n  else if (ArcTolerance > std::fabs(delta) * def_arc_tolerance) \n    y = std::fabs(delta) * def_arc_tolerance;\n  else y = ArcTolerance;\n  //see offset_triginometry2.svg in the documentation folder ...\n  double steps = pi / std::acos(1 - y / std::fabs(delta));\n  if (steps > std::fabs(delta) * pi) \n    steps = std::fabs(delta) * pi;  //ie excessive precision check\n  m_sin = std::sin(two_pi / steps);\n  m_cos = std::cos(two_pi / steps);\n  m_StepsPerRad = steps / two_pi;\n  if (delta < 0.0) m_sin = -m_sin;\n\n  m_destPolys.reserve(m_polyNodes.ChildCount() * 2);\n  for (int i = 0; i < m_polyNodes.ChildCount(); i++)\n  {\n    PolyNode& node = *m_polyNodes.Childs[i];\n    m_srcPoly = node.Contour;\n\n    int len = (int)m_srcPoly.size();\n    if (len == 0 || (delta <= 0 && (len < 3 || node.m_endtype != etClosedPolygon)))\n        continue;\n\n    m_destPoly.clear();\n    if (len == 1)\n    {\n      if (node.m_jointype == jtRound)\n      {\n        double X = 1.0, Y = 0.0;\n        for (cInt j = 1; j <= steps; j++)\n        {\n          m_destPoly.push_back(IntPoint(\n            Round(m_srcPoly[0].X + X * delta),\n            Round(m_srcPoly[0].Y + Y * delta)));\n          double X2 = X;\n          X = X * m_cos - m_sin * Y;\n          Y = X2 * m_sin + Y * m_cos;\n        }\n      }\n      else\n      {\n        double X = -1.0, Y = -1.0;\n        for (int j = 0; j < 4; ++j)\n        {\n          m_destPoly.push_back(IntPoint(\n            Round(m_srcPoly[0].X + X * delta),\n            Round(m_srcPoly[0].Y + Y * delta)));\n          if (X < 0) X = 1;\n          else if (Y < 0) Y = 1;\n          else X = -1;\n        }\n      }\n      m_destPolys.push_back(m_destPoly);\n      continue;\n    }\n    //build m_normals ...\n    m_normals.clear();\n    m_normals.reserve(len);\n    for (int j = 0; j < len - 1; ++j)\n      m_normals.push_back(GetUnitNormal(m_srcPoly[j], m_srcPoly[j + 1]));\n    if (node.m_endtype == etClosedLine || node.m_endtype == etClosedPolygon)\n      m_normals.push_back(GetUnitNormal(m_srcPoly[len - 1], m_srcPoly[0]));\n    else\n      m_normals.push_back(DoublePoint(m_normals[len - 2]));\n\n    if (node.m_endtype == etClosedPolygon)\n    {\n      int k = len - 1;\n      for (int j = 0; j < len; ++j)\n        OffsetPoint(j, k, node.m_jointype);\n      m_destPolys.push_back(m_destPoly);\n    }\n    else if (node.m_endtype == etClosedLine)\n    {\n      int k = len - 1;\n      for (int j = 0; j < len; ++j)\n        OffsetPoint(j, k, node.m_jointype);\n      m_destPolys.push_back(m_destPoly);\n      m_destPoly.clear();\n      //re-build m_normals ...\n      DoublePoint n = m_normals[len -1];\n      for (int j = len - 1; j > 0; j--)\n        m_normals[j] = DoublePoint(-m_normals[j - 1].X, -m_normals[j - 1].Y);\n      m_normals[0] = DoublePoint(-n.X, -n.Y);\n      k = 0;\n      for (int j = len - 1; j >= 0; j--)\n        OffsetPoint(j, k, node.m_jointype);\n      m_destPolys.push_back(m_destPoly);\n    }\n    else\n    {\n      int k = 0;\n      for (int j = 1; j < len - 1; ++j)\n        OffsetPoint(j, k, node.m_jointype);\n\n      IntPoint pt1;\n      if (node.m_endtype == etOpenButt)\n      {\n        int j = len - 1;\n        pt1 = IntPoint((cInt)Round(m_srcPoly[j].X + m_normals[j].X *\n          delta), (cInt)Round(m_srcPoly[j].Y + m_normals[j].Y * delta));\n        m_destPoly.push_back(pt1);\n        pt1 = IntPoint((cInt)Round(m_srcPoly[j].X - m_normals[j].X *\n          delta), (cInt)Round(m_srcPoly[j].Y - m_normals[j].Y * delta));\n        m_destPoly.push_back(pt1);\n      }\n      else\n      {\n        int j = len - 1;\n        k = len - 2;\n        m_sinA = 0;\n        m_normals[j] = DoublePoint(-m_normals[j].X, -m_normals[j].Y);\n        if (node.m_endtype == etOpenSquare)\n          DoSquare(j, k);\n        else\n          DoRound(j, k);\n      }\n\n      //re-build m_normals ...\n      for (int j = len - 1; j > 0; j--)\n        m_normals[j] = DoublePoint(-m_normals[j - 1].X, -m_normals[j - 1].Y);\n      m_normals[0] = DoublePoint(-m_normals[1].X, -m_normals[1].Y);\n\n      k = len - 1;\n      for (int j = k - 1; j > 0; --j) OffsetPoint(j, k, node.m_jointype);\n\n      if (node.m_endtype == etOpenButt)\n      {\n        pt1 = IntPoint((cInt)Round(m_srcPoly[0].X - m_normals[0].X * delta),\n          (cInt)Round(m_srcPoly[0].Y - m_normals[0].Y * delta));\n        m_destPoly.push_back(pt1);\n        pt1 = IntPoint((cInt)Round(m_srcPoly[0].X + m_normals[0].X * delta),\n          (cInt)Round(m_srcPoly[0].Y + m_normals[0].Y * delta));\n        m_destPoly.push_back(pt1);\n      }\n      else\n      {\n        k = 1;\n        m_sinA = 0;\n        if (node.m_endtype == etOpenSquare)\n          DoSquare(0, 1);\n        else\n          DoRound(0, 1);\n      }\n      m_destPolys.push_back(m_destPoly);\n    }\n  }\n}\n//------------------------------------------------------------------------------\n\nvoid ClipperOffset::OffsetPoint(int j, int& k, JoinType jointype)\n{\n  //cross product ...\n  m_sinA = (m_normals[k].X * m_normals[j].Y - m_normals[j].X * m_normals[k].Y);\n  if (std::fabs(m_sinA * m_delta) < 1.0) \n  {\n    //dot product ...\n    double cosA = (m_normals[k].X * m_normals[j].X + m_normals[j].Y * m_normals[k].Y ); \n    if (cosA > 0) // angle => 0 degrees\n    {\n      m_destPoly.push_back(IntPoint(Round(m_srcPoly[j].X + m_normals[k].X * m_delta),\n        Round(m_srcPoly[j].Y + m_normals[k].Y * m_delta)));\n      return; \n    }\n    //else angle => 180 degrees   \n  }\n  else if (m_sinA > 1.0) m_sinA = 1.0;\n  else if (m_sinA < -1.0) m_sinA = -1.0;\n\n  if (m_sinA * m_delta < 0)\n  {\n    m_destPoly.push_back(IntPoint(Round(m_srcPoly[j].X + m_normals[k].X * m_delta),\n      Round(m_srcPoly[j].Y + m_normals[k].Y * m_delta)));\n    m_destPoly.push_back(m_srcPoly[j]);\n    m_destPoly.push_back(IntPoint(Round(m_srcPoly[j].X + m_normals[j].X * m_delta),\n      Round(m_srcPoly[j].Y + m_normals[j].Y * m_delta)));\n  }\n  else\n    switch (jointype)\n    {\n      case jtMiter:\n        {\n          double r = 1 + (m_normals[j].X * m_normals[k].X +\n            m_normals[j].Y * m_normals[k].Y);\n          if (r >= m_miterLim) DoMiter(j, k, r); else DoSquare(j, k);\n          break;\n        }\n      case jtSquare: DoSquare(j, k); break;\n      case jtRound: DoRound(j, k); break;\n    }\n  k = j;\n}\n//------------------------------------------------------------------------------\n\nvoid ClipperOffset::DoSquare(int j, int k)\n{\n  double dx = std::tan(std::atan2(m_sinA,\n      m_normals[k].X * m_normals[j].X + m_normals[k].Y * m_normals[j].Y) / 4);\n  m_destPoly.push_back(IntPoint(\n      Round(m_srcPoly[j].X + m_delta * (m_normals[k].X - m_normals[k].Y * dx)),\n      Round(m_srcPoly[j].Y + m_delta * (m_normals[k].Y + m_normals[k].X * dx))));\n  m_destPoly.push_back(IntPoint(\n      Round(m_srcPoly[j].X + m_delta * (m_normals[j].X + m_normals[j].Y * dx)),\n      Round(m_srcPoly[j].Y + m_delta * (m_normals[j].Y - m_normals[j].X * dx))));\n}\n//------------------------------------------------------------------------------\n\nvoid ClipperOffset::DoMiter(int j, int k, double r)\n{\n  double q = m_delta / r;\n  m_destPoly.push_back(IntPoint(Round(m_srcPoly[j].X + (m_normals[k].X + m_normals[j].X) * q),\n      Round(m_srcPoly[j].Y + (m_normals[k].Y + m_normals[j].Y) * q)));\n}\n//------------------------------------------------------------------------------\n\nvoid ClipperOffset::DoRound(int j, int k)\n{\n  double a = std::atan2(m_sinA,\n  m_normals[k].X * m_normals[j].X + m_normals[k].Y * m_normals[j].Y);\n  int steps = std::max((int)Round(m_StepsPerRad * std::fabs(a)), 1);\n\n  double X = m_normals[k].X, Y = m_normals[k].Y, X2;\n  for (int i = 0; i < steps; ++i)\n  {\n    m_destPoly.push_back(IntPoint(\n        Round(m_srcPoly[j].X + X * m_delta),\n        Round(m_srcPoly[j].Y + Y * m_delta)));\n    X2 = X;\n    X = X * m_cos - m_sin * Y;\n    Y = X2 * m_sin + Y * m_cos;\n  }\n  m_destPoly.push_back(IntPoint(\n  Round(m_srcPoly[j].X + m_normals[j].X * m_delta),\n  Round(m_srcPoly[j].Y + m_normals[j].Y * m_delta)));\n}\n\n//------------------------------------------------------------------------------\n// Miscellaneous public functions\n//------------------------------------------------------------------------------\n\nvoid Clipper::DoSimplePolygons()\n{\n  PolyOutList::size_type i = 0;\n  while (i < m_PolyOuts.size()) \n  {\n    OutRec* outrec = m_PolyOuts[i++];\n    OutPt* op = outrec->Pts;\n    if (!op || outrec->IsOpen) continue;\n    do //for each Pt in Polygon until duplicate found do ...\n    {\n      OutPt* op2 = op->Next;\n      while (op2 != outrec->Pts) \n      {\n        if ((op->Pt == op2->Pt) && op2->Next != op && op2->Prev != op) \n        {\n          //split the polygon into two ...\n          OutPt* op3 = op->Prev;\n          OutPt* op4 = op2->Prev;\n          op->Prev = op4;\n          op4->Next = op;\n          op2->Prev = op3;\n          op3->Next = op2;\n\n          outrec->Pts = op;\n          OutRec* outrec2 = CreateOutRec();\n          outrec2->Pts = op2;\n          UpdateOutPtIdxs(*outrec2);\n          if (Poly2ContainsPoly1(outrec2->Pts, outrec->Pts))\n          {\n            //OutRec2 is contained by OutRec1 ...\n            outrec2->IsHole = !outrec->IsHole;\n            outrec2->FirstLeft = outrec;\n            if (m_UsingPolyTree) FixupFirstLefts2(outrec2, outrec);\n          }\n          else\n            if (Poly2ContainsPoly1(outrec->Pts, outrec2->Pts))\n          {\n            //OutRec1 is contained by OutRec2 ...\n            outrec2->IsHole = outrec->IsHole;\n            outrec->IsHole = !outrec2->IsHole;\n            outrec2->FirstLeft = outrec->FirstLeft;\n            outrec->FirstLeft = outrec2;\n            if (m_UsingPolyTree) FixupFirstLefts2(outrec, outrec2);\n            }\n            else\n          {\n            //the 2 polygons are separate ...\n            outrec2->IsHole = outrec->IsHole;\n            outrec2->FirstLeft = outrec->FirstLeft;\n            if (m_UsingPolyTree) FixupFirstLefts1(outrec, outrec2);\n            }\n          op2 = op; //ie get ready for the Next iteration\n        }\n        op2 = op2->Next;\n      }\n      op = op->Next;\n    }\n    while (op != outrec->Pts);\n  }\n}\n//------------------------------------------------------------------------------\n\nvoid ReversePath(Path& p)\n{\n  std::reverse(p.begin(), p.end());\n}\n//------------------------------------------------------------------------------\n\nvoid ReversePaths(Paths& p)\n{\n  for (Paths::size_type i = 0; i < p.size(); ++i)\n    ReversePath(p[i]);\n}\n//------------------------------------------------------------------------------\n\nvoid SimplifyPolygon(const Path &in_poly, Paths &out_polys, PolyFillType fillType)\n{\n  Clipper c;\n  c.StrictlySimple(true);\n  c.AddPath(in_poly, ptSubject, true);\n  c.Execute(ctUnion, out_polys, fillType, fillType);\n}\n//------------------------------------------------------------------------------\n\nvoid SimplifyPolygons(const Paths &in_polys, Paths &out_polys, PolyFillType fillType)\n{\n  Clipper c;\n  c.StrictlySimple(true);\n  c.AddPaths(in_polys, ptSubject, true);\n  c.Execute(ctUnion, out_polys, fillType, fillType);\n}\n//------------------------------------------------------------------------------\n\nvoid SimplifyPolygons(Paths &polys, PolyFillType fillType)\n{\n  SimplifyPolygons(polys, polys, fillType);\n}\n//------------------------------------------------------------------------------\n\ninline double DistanceSqrd(const IntPoint& pt1, const IntPoint& pt2)\n{\n  double Dx = ((double)pt1.X - pt2.X);\n  double dy = ((double)pt1.Y - pt2.Y);\n  return (Dx*Dx + dy*dy);\n}\n//------------------------------------------------------------------------------\n\ndouble DistanceFromLineSqrd(\n  const IntPoint& pt, const IntPoint& ln1, const IntPoint& ln2)\n{\n  //The equation of a line in general form (Ax + By + C = 0)\n  //given 2 points (x�,y�) & (x�,y�) is ...\n  //(y� - y�)x + (x� - x�)y + (y� - y�)x� - (x� - x�)y� = 0\n  //A = (y� - y�); B = (x� - x�); C = (y� - y�)x� - (x� - x�)y�\n  //perpendicular distance of point (x�,y�) = (Ax� + By� + C)/Sqrt(A� + B�)\n  //see http://en.wikipedia.org/wiki/Perpendicular_distance\n  double A = double(ln1.Y - ln2.Y);\n  double B = double(ln2.X - ln1.X);\n  double C = A * ln1.X  + B * ln1.Y;\n  C = A * pt.X + B * pt.Y - C;\n  return (C * C) / (A * A + B * B);\n}\n//---------------------------------------------------------------------------\n\nbool SlopesNearCollinear(const IntPoint& pt1, \n    const IntPoint& pt2, const IntPoint& pt3, double distSqrd)\n{\n  //this function is more accurate when the point that's geometrically\n  //between the other 2 points is the one that's tested for distance.\n  //ie makes it more likely to pick up 'spikes' ...\n\tif (Abs(pt1.X - pt2.X) > Abs(pt1.Y - pt2.Y))\n\t{\n    if ((pt1.X > pt2.X) == (pt1.X < pt3.X))\n      return DistanceFromLineSqrd(pt1, pt2, pt3) < distSqrd;\n    else if ((pt2.X > pt1.X) == (pt2.X < pt3.X))\n      return DistanceFromLineSqrd(pt2, pt1, pt3) < distSqrd;\n\t\telse\n\t    return DistanceFromLineSqrd(pt3, pt1, pt2) < distSqrd;\n\t}\n\telse\n\t{\n    if ((pt1.Y > pt2.Y) == (pt1.Y < pt3.Y))\n      return DistanceFromLineSqrd(pt1, pt2, pt3) < distSqrd;\n    else if ((pt2.Y > pt1.Y) == (pt2.Y < pt3.Y))\n      return DistanceFromLineSqrd(pt2, pt1, pt3) < distSqrd;\n\t\telse\n      return DistanceFromLineSqrd(pt3, pt1, pt2) < distSqrd;\n\t}\n}\n//------------------------------------------------------------------------------\n\nbool PointsAreClose(IntPoint pt1, IntPoint pt2, double distSqrd)\n{\n    double Dx = (double)pt1.X - pt2.X;\n    double dy = (double)pt1.Y - pt2.Y;\n    return ((Dx * Dx) + (dy * dy) <= distSqrd);\n}\n//------------------------------------------------------------------------------\n\nOutPt* ExcludeOp(OutPt* op)\n{\n  OutPt* result = op->Prev;\n  result->Next = op->Next;\n  op->Next->Prev = result;\n  result->Idx = 0;\n  return result;\n}\n//------------------------------------------------------------------------------\n\nvoid CleanPolygon(const Path& in_poly, Path& out_poly, double distance)\n{\n  //distance = proximity in units/pixels below which vertices\n  //will be stripped. Default ~= sqrt(2).\n  \n  size_t size = in_poly.size();\n  \n  if (size == 0) \n  {\n    out_poly.clear();\n    return;\n  }\n\n  OutPt* outPts = new OutPt[size];\n  for (size_t i = 0; i < size; ++i)\n  {\n    outPts[i].Pt = in_poly[i];\n    outPts[i].Next = &outPts[(i + 1) % size];\n    outPts[i].Next->Prev = &outPts[i];\n    outPts[i].Idx = 0;\n  }\n\n  double distSqrd = distance * distance;\n  OutPt* op = &outPts[0];\n  while (op->Idx == 0 && op->Next != op->Prev) \n  {\n    if (PointsAreClose(op->Pt, op->Prev->Pt, distSqrd))\n    {\n      op = ExcludeOp(op);\n      size--;\n    } \n    else if (PointsAreClose(op->Prev->Pt, op->Next->Pt, distSqrd))\n    {\n      ExcludeOp(op->Next);\n      op = ExcludeOp(op);\n      size -= 2;\n    }\n    else if (SlopesNearCollinear(op->Prev->Pt, op->Pt, op->Next->Pt, distSqrd))\n    {\n      op = ExcludeOp(op);\n      size--;\n    }\n    else\n    {\n      op->Idx = 1;\n      op = op->Next;\n    }\n  }\n\n  if (size < 3) size = 0;\n  out_poly.resize(size);\n  for (size_t i = 0; i < size; ++i)\n  {\n    out_poly[i] = op->Pt;\n    op = op->Next;\n  }\n  delete [] outPts;\n}\n//------------------------------------------------------------------------------\n\nvoid CleanPolygon(Path& poly, double distance)\n{\n  CleanPolygon(poly, poly, distance);\n}\n//------------------------------------------------------------------------------\n\nvoid CleanPolygons(const Paths& in_polys, Paths& out_polys, double distance)\n{\n  out_polys.resize(in_polys.size());\n  for (Paths::size_type i = 0; i < in_polys.size(); ++i)\n    CleanPolygon(in_polys[i], out_polys[i], distance);\n}\n//------------------------------------------------------------------------------\n\nvoid CleanPolygons(Paths& polys, double distance)\n{\n  CleanPolygons(polys, polys, distance);\n}\n//------------------------------------------------------------------------------\n\nvoid Minkowski(const Path& poly, const Path& path, \n  Paths& solution, bool isSum, bool isClosed)\n{\n  int delta = (isClosed ? 1 : 0);\n  size_t polyCnt = poly.size();\n  size_t pathCnt = path.size();\n  Paths pp;\n  pp.reserve(pathCnt);\n  if (isSum)\n    for (size_t i = 0; i < pathCnt; ++i)\n    {\n      Path p;\n      p.reserve(polyCnt);\n      for (size_t j = 0; j < poly.size(); ++j)\n        p.push_back(IntPoint(path[i].X + poly[j].X, path[i].Y + poly[j].Y));\n      pp.push_back(p);\n    }\n  else\n    for (size_t i = 0; i < pathCnt; ++i)\n    {\n      Path p;\n      p.reserve(polyCnt);\n      for (size_t j = 0; j < poly.size(); ++j)\n        p.push_back(IntPoint(path[i].X - poly[j].X, path[i].Y - poly[j].Y));\n      pp.push_back(p);\n    }\n\n  solution.clear();\n  solution.reserve((pathCnt + delta) * (polyCnt + 1));\n  for (size_t i = 0; i < pathCnt - 1 + delta; ++i)\n    for (size_t j = 0; j < polyCnt; ++j)\n    {\n      Path quad;\n      quad.reserve(4);\n      quad.push_back(pp[i % pathCnt][j % polyCnt]);\n      quad.push_back(pp[(i + 1) % pathCnt][j % polyCnt]);\n      quad.push_back(pp[(i + 1) % pathCnt][(j + 1) % polyCnt]);\n      quad.push_back(pp[i % pathCnt][(j + 1) % polyCnt]);\n      if (!Orientation(quad)) ReversePath(quad);\n      solution.push_back(quad);\n    }\n}\n//------------------------------------------------------------------------------\n\nvoid MinkowskiSum(const Path& pattern, const Path& path, Paths& solution, bool pathIsClosed)\n{\n  Minkowski(pattern, path, solution, true, pathIsClosed);\n  Clipper c;\n  c.AddPaths(solution, ptSubject, true);\n  c.Execute(ctUnion, solution, pftNonZero, pftNonZero);\n}\n//------------------------------------------------------------------------------\n\nvoid TranslatePath(const Path& input, Path& output, const IntPoint delta)\n{\n  //precondition: input != output\n  output.resize(input.size());\n  for (size_t i = 0; i < input.size(); ++i)\n    output[i] = IntPoint(input[i].X + delta.X, input[i].Y + delta.Y);\n}\n//------------------------------------------------------------------------------\n\nvoid MinkowskiSum(const Path& pattern, const Paths& paths, Paths& solution, bool pathIsClosed)\n{\n  Clipper c;\n  for (size_t i = 0; i < paths.size(); ++i)\n  {\n    Paths tmp;\n    Minkowski(pattern, paths[i], tmp, true, pathIsClosed);\n    c.AddPaths(tmp, ptSubject, true);\n    if (pathIsClosed)\n    {\n      Path tmp2;\n      TranslatePath(paths[i], tmp2, pattern[0]);\n      c.AddPath(tmp2, ptClip, true);\n    }\n  }\n    c.Execute(ctUnion, solution, pftNonZero, pftNonZero);\n}\n//------------------------------------------------------------------------------\n\nvoid MinkowskiDiff(const Path& poly1, const Path& poly2, Paths& solution)\n{\n  Minkowski(poly1, poly2, solution, false, true);\n  Clipper c;\n  c.AddPaths(solution, ptSubject, true);\n  c.Execute(ctUnion, solution, pftNonZero, pftNonZero);\n}\n//------------------------------------------------------------------------------\n\nenum NodeType {ntAny, ntOpen, ntClosed};\n\nvoid AddPolyNodeToPaths(const PolyNode& polynode, NodeType nodetype, Paths& paths)\n{\n  bool match = true;\n  if (nodetype == ntClosed) match = !polynode.IsOpen();\n  else if (nodetype == ntOpen) return;\n\n  if (!polynode.Contour.empty() && match)\n    paths.push_back(polynode.Contour);\n  for (int i = 0; i < polynode.ChildCount(); ++i)\n    AddPolyNodeToPaths(*polynode.Childs[i], nodetype, paths);\n}\n//------------------------------------------------------------------------------\n\nvoid PolyTreeToPaths(const PolyTree& polytree, Paths& paths)\n{\n  paths.resize(0); \n  paths.reserve(polytree.Total());\n  AddPolyNodeToPaths(polytree, ntAny, paths);\n}\n//------------------------------------------------------------------------------\n\nvoid ClosedPathsFromPolyTree(const PolyTree& polytree, Paths& paths)\n{\n  paths.resize(0); \n  paths.reserve(polytree.Total());\n  AddPolyNodeToPaths(polytree, ntClosed, paths);\n}\n//------------------------------------------------------------------------------\n\nvoid OpenPathsFromPolyTree(PolyTree& polytree, Paths& paths)\n{\n  paths.resize(0); \n  paths.reserve(polytree.Total());\n  //Open paths are top level only, so ...\n  for (int i = 0; i < polytree.ChildCount(); ++i)\n    if (polytree.Childs[i]->IsOpen())\n      paths.push_back(polytree.Childs[i]->Contour);\n}\n//------------------------------------------------------------------------------\n\nstd::ostream& operator <<(std::ostream &s, const IntPoint &p)\n{\n  s << \"(\" << p.X << \",\" << p.Y << \")\";\n  return s;\n}\n//------------------------------------------------------------------------------\n\nstd::ostream& operator <<(std::ostream &s, const Path &p)\n{\n  if (p.empty()) return s;\n  Path::size_type last = p.size() -1;\n  for (Path::size_type i = 0; i < last; i++)\n    s << \"(\" << p[i].X << \",\" << p[i].Y << \"), \";\n  s << \"(\" << p[last].X << \",\" << p[last].Y << \")\\n\";\n  return s;\n}\n//------------------------------------------------------------------------------\n\nstd::ostream& operator <<(std::ostream &s, const Paths &p)\n{\n  for (Paths::size_type i = 0; i < p.size(); i++)\n    s << p[i];\n  s << \"\\n\";\n  return s;\n}\n//------------------------------------------------------------------------------\n\n} //ClipperLib namespace\n\n#include \"binding.hpp\"\n"
  },
  {
    "path": "src/wasm/clipper.hpp",
    "content": "/*******************************************************************************\n*                                                                              *\n* Author    :  Angus Johnson                                                   *\n* Version   :  6.4.2                                                           *\n* Date      :  27 February 2017                                                *\n* Website   :  http://www.angusj.com                                           *\n* Copyright :  Angus Johnson 2010-2017                                         *\n*                                                                              *\n* License:                                                                     *\n* Use, modification & distribution is subject to Boost Software License Ver 1. *\n* http://www.boost.org/LICENSE_1_0.txt                                         *\n*                                                                              *\n* Attributions:                                                                *\n* The code in this library is an extension of Bala Vatti's clipping algorithm: *\n* \"A generic solution to polygon clipping\"                                     *\n* Communications of the ACM, Vol 35, Issue 7 (July 1992) pp 56-63.             *\n* http://portal.acm.org/citation.cfm?id=129906                                 *\n*                                                                              *\n* Computer graphics and geometric modeling: implementation and algorithms      *\n* By Max K. Agoston                                                            *\n* Springer; 1 edition (January 4, 2005)                                        *\n* http://books.google.com/books?q=vatti+clipping+agoston                       *\n*                                                                              *\n* See also:                                                                    *\n* \"Polygon Offsetting by Computing Winding Numbers\"                            *\n* Paper no. DETC2005-85513 pp. 565-575                                         *\n* ASME 2005 International Design Engineering Technical Conferences             *\n* and Computers and Information in Engineering Conference (IDETC/CIE2005)      *\n* September 24-28, 2005 , Long Beach, California, USA                          *\n* http://www.me.berkeley.edu/~mcmains/pubs/DAC05OffsetPolygon.pdf              *\n*                                                                              *\n*******************************************************************************/\n\n#ifndef clipper_hpp\n#define clipper_hpp\n\n#define CLIPPER_VERSION \"6.4.2\"\n\n//use_int32: When enabled 32bit ints are used instead of 64bit ints. This\n//improve performance but coordinate values are limited to the range +/- 46340\n//#define use_int32\n\n//use_xyz: adds a Z member to IntPoint. Adds a minor cost to perfomance.\n//#define use_xyz\n\n//use_lines: Enables line clipping. Adds a very minor cost to performance.\n#define use_lines\n  \n//use_deprecated: Enables temporary support for the obsolete functions\n//#define use_deprecated  \n\n#include <vector>\n#include <list>\n#include <set>\n#include <stdexcept>\n#include <cstring>\n#include <cstdlib>\n#include <ostream>\n#include <functional>\n#include <queue>\n\nnamespace ClipperLib {\n\nenum ClipType { ctIntersection, ctUnion, ctDifference, ctXor };\nenum PolyType { ptSubject, ptClip };\n//By far the most widely used winding rules for polygon filling are\n//EvenOdd & NonZero (GDI, GDI+, XLib, OpenGL, Cairo, AGG, Quartz, SVG, Gr32)\n//Others rules include Positive, Negative and ABS_GTR_EQ_TWO (only in OpenGL)\n//see http://glprogramming.com/red/chapter11.html\nenum PolyFillType { pftEvenOdd, pftNonZero, pftPositive, pftNegative };\n\n#ifdef use_int32\n  typedef int cInt;\n  static cInt const loRange = 0x7FFF;\n  static cInt const hiRange = 0x7FFF;\n#else\n  typedef signed long long cInt;\n\n  static cInt const loRange = 0x3FFFFFFF;\n  //static cInt const hiRange = 0x3FFFFFFFFFFFFFFFLL;\n\n  // JS - loRange can be kept the same since internally we use 64 bits\n  // however hiRange has to change since double do not support 64 bits ints\n  //static cInt const loRange = 47453132; // sqrt(2^53 -1)/2\n  //static cInt const hiRange = 4503599627370495LL; // sqrt(2^106 -1)/2\n  static cInt const hiRange = 9007199254740991LL;\n\n  typedef signed long long long64;     //used by Int128 class\n  typedef unsigned long long ulong64;\n\n#endif\n\nstruct IntPoint {\n  cInt X;\n\n  void JS_SetX(double x) { this->X = (cInt)x; };\n  double JS_GetX() const { return (double)this->X; };\n\n  cInt Y;\n\n  void JS_SetY(double y) { this->Y = (cInt)y; };\n  double JS_GetY() const { return (double)this->Y; };\n\n#ifdef use_xyz\n  cInt Z;\n\n  void JS_SetZ(double z) { this->Z = (cInt)z; };\n  double JS_GetZ() const { return (double)this->Z; };\n\n  IntPoint(cInt x = 0, cInt y = 0, cInt z = 0): X(x), Y(y), Z(z) {};\n#else\n  IntPoint(cInt x = 0, cInt y = 0): X(x), Y(y) {};\n#endif\n\n  friend inline bool operator== (const IntPoint& a, const IntPoint& b)\n  {\n    return a.X == b.X && a.Y == b.Y;\n  }\n  friend inline bool operator!= (const IntPoint& a, const IntPoint& b)\n  {\n    return a.X != b.X  || a.Y != b.Y; \n  }\n};\n\n#ifdef use_xyz\nIntPoint NewIntPoint(double x, double y, double z) { // JS\n  return IntPoint(x, y, z);\n}\n#else\nIntPoint NewIntPoint(double x, double y) { // JS\n  return IntPoint(x, y);\n}\n#endif\n//------------------------------------------------------------------------------\n\ntypedef std::vector< IntPoint > Path;\ntypedef std::vector< Path > Paths;\n\ninline Path& operator <<(Path& poly, const IntPoint& p) {poly.push_back(p); return poly;}\ninline Paths& operator <<(Paths& polys, const Path& p) {polys.push_back(p); return polys;}\n\nstd::ostream& operator <<(std::ostream &s, const IntPoint &p);\nstd::ostream& operator <<(std::ostream &s, const Path &p);\nstd::ostream& operator <<(std::ostream &s, const Paths &p);\n\nstruct DoublePoint\n{\n  double X;\n  double Y;\n  DoublePoint(double x = 0, double y = 0) : X(x), Y(y) {}\n  DoublePoint(IntPoint ip) : X((double)ip.X), Y((double)ip.Y) {}\n};\n//------------------------------------------------------------------------------\n\n#ifdef use_xyz\ntypedef void (*ZFillCallback)(IntPoint& e1bot, IntPoint& e1top, IntPoint& e2bot, IntPoint& e2top, IntPoint& pt);\n#endif\n\nenum InitOptions {ioReverseSolution = 1, ioStrictlySimple = 2, ioPreserveCollinear = 4};\nenum JoinType {jtSquare, jtRound, jtMiter};\nenum EndType {etClosedPolygon, etClosedLine, etOpenButt, etOpenSquare, etOpenRound};\n\nclass PolyNode;\ntypedef std::vector< PolyNode* > PolyNodes;\n\nclass PolyNode \n{ \npublic:\n    PolyNode();\n    virtual ~PolyNode(){};\n    Path Contour;\n    PolyNodes Childs;\n    PolyNode* Parent;\n    PolyNode* GetNext() const;\n    bool IsHole() const;\n    bool IsOpen() const;\n    int ChildCount() const;\n\n    PolyNode *JS_GetParent() const { return this->Parent; }; // JS\n\nprivate:\n    //PolyNode& operator =(PolyNode& other); \n    unsigned Index; //node index in Parent.Childs\n    bool m_IsOpen;\n    JoinType m_jointype;\n    EndType m_endtype;\n    PolyNode* GetNextSiblingUp() const;\n    void AddChild(PolyNode& child);\n    friend class Clipper; //to access Index\n    friend class ClipperOffset; \n};\n\nclass PolyTree: public PolyNode\n{ \npublic:\n    ~PolyTree(){ Clear(); };\n    PolyNode* GetFirst() const;\n    void Clear();\n    int Total() const;\nprivate:\n  //PolyTree& operator =(PolyTree& other);\n  PolyNodes AllNodes;\n    friend class Clipper; //to access AllNodes\n};\n\nbool Orientation(const Path &poly);\ndouble Area(const Path &poly);\nint PointInPolygon(const IntPoint &pt, const Path &path);\n\nvoid SimplifyPolygon(const Path &in_poly, Paths &out_polys, PolyFillType fillType = pftEvenOdd);\nvoid SimplifyPolygons(const Paths &in_polys, Paths &out_polys, PolyFillType fillType = pftEvenOdd);\nvoid SimplifyPolygons(Paths &polys, PolyFillType fillType = pftEvenOdd);\n\nvoid CleanPolygon(const Path& in_poly, Path& out_poly, double distance = 1.415);\nvoid CleanPolygon(Path& poly, double distance = 1.415);\nvoid CleanPolygons(const Paths& in_polys, Paths& out_polys, double distance = 1.415);\nvoid CleanPolygons(Paths& polys, double distance = 1.415);\n\nvoid MinkowskiSum(const Path& pattern, const Path& path, Paths& solution, bool pathIsClosed);\nvoid MinkowskiSum(const Path& pattern, const Paths& paths, Paths& solution, bool pathIsClosed);\nvoid MinkowskiDiff(const Path& poly1, const Path& poly2, Paths& solution);\n\nvoid PolyTreeToPaths(const PolyTree& polytree, Paths& paths);\nvoid ClosedPathsFromPolyTree(const PolyTree& polytree, Paths& paths);\nvoid OpenPathsFromPolyTree(PolyTree& polytree, Paths& paths);\n\nvoid ReversePath(Path& p);\nvoid ReversePaths(Paths& p);\n\nstruct IntRect { \n  cInt left; \n\n  void JS_SetLeft(double left) { this->left = (cInt)left; };\n  double JS_GetLeft() const { return (double)this->left; };\n\n  cInt top; \n\n  void JS_SetTop(double top) { this->top = (cInt)top; };\n  double JS_GetTop() const { return (double)this->top; };\n\n  cInt right; \n\n  void JS_SetRight(double right) { this->right = (cInt)right; };\n  double JS_GetRight() const { return (double)this->right; };\n\n  cInt bottom; \n\n  void JS_SetBottom(double x) { this->bottom = (cInt)bottom; };\n  double JS_GetBottom() const { return (double)this->bottom; };\n};\n\n//enums that are used internally ...\nenum EdgeSide { esLeft = 1, esRight = 2};\n\n//forward declarations (for stuff used internally) ...\nstruct TEdge;\nstruct IntersectNode;\nstruct LocalMinimum;\nstruct OutPt;\nstruct OutRec;\nstruct Join;\n\ntypedef std::vector < OutRec* > PolyOutList;\ntypedef std::vector < TEdge* > EdgeList;\ntypedef std::vector < Join* > JoinList;\ntypedef std::vector < IntersectNode* > IntersectList;\n\n//------------------------------------------------------------------------------\n\n//ClipperBase is the ancestor to the Clipper class. It should not be\n//instantiated directly. This class simply abstracts the conversion of sets of\n//polygon coordinates into edge objects that are stored in a LocalMinima list.\nclass ClipperBase\n{\npublic:\n  ClipperBase();\n  virtual ~ClipperBase();\n  virtual bool AddPath(const Path &pg, PolyType PolyTyp, bool Closed);\n  bool AddPaths(const Paths &ppg, PolyType PolyTyp, bool Closed);\n  virtual void Clear();\n  IntRect GetBounds();\n  bool PreserveCollinear() {return m_PreserveCollinear;};\n  void PreserveCollinear(bool value) {m_PreserveCollinear = value;};\n\n  bool JS_GetPreserveCollinear() const {return m_PreserveCollinear;}; // JS\n  void JS_SetPreserveCollinear(bool value) {m_PreserveCollinear = value;}; // JS\n\nprotected:\n  void DisposeLocalMinimaList();\n  TEdge* AddBoundsToLML(TEdge *e, bool IsClosed);\n  virtual void Reset();\n  TEdge* ProcessBound(TEdge* E, bool IsClockwise);\n  void InsertScanbeam(const cInt Y);\n  bool PopScanbeam(cInt &Y);\n  bool LocalMinimaPending();\n  bool PopLocalMinima(cInt Y, const LocalMinimum *&locMin);\n  OutRec* CreateOutRec();\n  void DisposeAllOutRecs();\n  void DisposeOutRec(PolyOutList::size_type index);\n  void SwapPositionsInAEL(TEdge *edge1, TEdge *edge2);\n  void DeleteFromAEL(TEdge *e);\n  void UpdateEdgeIntoAEL(TEdge *&e);\n\n  typedef std::vector<LocalMinimum> MinimaList;\n  MinimaList::iterator m_CurrentLM;\n  MinimaList           m_MinimaList;\n\n  bool              m_UseFullRange;\n  EdgeList          m_edges;\n  bool              m_PreserveCollinear;\n  bool              m_HasOpenPaths;\n  PolyOutList       m_PolyOuts;\n  TEdge           *m_ActiveEdges;\n\n  typedef std::priority_queue<cInt> ScanbeamList;\n  ScanbeamList     m_Scanbeam;\n};\n//------------------------------------------------------------------------------\n\nclass Clipper : public /*virtual*/ ClipperBase\n{\npublic:\n  Clipper(int initOptions = 0);\n  bool Execute(ClipType clipType,\n      Paths &solution,\n      PolyFillType fillType = pftEvenOdd);\n  bool Execute(ClipType clipType,\n      Paths &solution,\n      PolyFillType subjFillType,\n      PolyFillType clipFillType);\n  bool Execute(ClipType clipType,\n      PolyTree &polytree,\n      PolyFillType fillType = pftEvenOdd);\n  bool Execute(ClipType clipType,\n      PolyTree &polytree,\n      PolyFillType subjFillType,\n      PolyFillType clipFillType);\n  bool ReverseSolution() { return m_ReverseOutput; };\n  void ReverseSolution(bool value) {m_ReverseOutput = value;};\n  bool StrictlySimple() {return m_StrictSimple;};\n  void StrictlySimple(bool value) {m_StrictSimple = value;};\n\n  bool JS_GetReverseSolution() const { return m_ReverseOutput; };\n  void JS_SetReverseSolution(bool value) {m_ReverseOutput = value;};\n  bool JS_GetStrictlySimple() const {return m_StrictSimple;};\n  void JS_SetStrictlySimple(bool value) {m_StrictSimple = value;};\n\n  //set the callback function for z value filling on intersections (otherwise Z is 0)\n#ifdef use_xyz\n  void ZFillFunction(ZFillCallback zFillFunc);\n#endif\nprotected:\n  virtual bool ExecuteInternal();\nprivate:\n  JoinList         m_Joins;\n  JoinList         m_GhostJoins;\n  IntersectList    m_IntersectList;\n  ClipType         m_ClipType;\n  typedef std::list<cInt> MaximaList;\n  MaximaList       m_Maxima;\n  TEdge           *m_SortedEdges;\n  bool             m_ExecuteLocked;\n  PolyFillType     m_ClipFillType;\n  PolyFillType     m_SubjFillType;\n  bool             m_ReverseOutput;\n  bool             m_UsingPolyTree; \n  bool             m_StrictSimple;\n#ifdef use_xyz\n  ZFillCallback   m_ZFill; //custom callback \n#endif\n  void SetWindingCount(TEdge& edge);\n  bool IsEvenOddFillType(const TEdge& edge) const;\n  bool IsEvenOddAltFillType(const TEdge& edge) const;\n  void InsertLocalMinimaIntoAEL(const cInt botY);\n  void InsertEdgeIntoAEL(TEdge *edge, TEdge* startEdge);\n  void AddEdgeToSEL(TEdge *edge);\n  bool PopEdgeFromSEL(TEdge *&edge);\n  void CopyAELToSEL();\n  void DeleteFromSEL(TEdge *e);\n  void SwapPositionsInSEL(TEdge *edge1, TEdge *edge2);\n  bool IsContributing(const TEdge& edge) const;\n  bool IsTopHorz(const cInt XPos);\n  void DoMaxima(TEdge *e);\n  void ProcessHorizontals();\n  void ProcessHorizontal(TEdge *horzEdge);\n  void AddLocalMaxPoly(TEdge *e1, TEdge *e2, const IntPoint &pt);\n  OutPt* AddLocalMinPoly(TEdge *e1, TEdge *e2, const IntPoint &pt);\n  OutRec* GetOutRec(int idx);\n  void AppendPolygon(TEdge *e1, TEdge *e2);\n  void IntersectEdges(TEdge *e1, TEdge *e2, IntPoint &pt);\n  OutPt* AddOutPt(TEdge *e, const IntPoint &pt);\n  OutPt* GetLastOutPt(TEdge *e);\n  bool ProcessIntersections(const cInt topY);\n  void BuildIntersectList(const cInt topY);\n  void ProcessIntersectList();\n  void ProcessEdgesAtTopOfScanbeam(const cInt topY);\n  void BuildResult(Paths& polys);\n  void BuildResult2(PolyTree& polytree);\n  void SetHoleState(TEdge *e, OutRec *outrec);\n  void DisposeIntersectNodes();\n  bool FixupIntersectionOrder();\n  void FixupOutPolygon(OutRec &outrec);\n  void FixupOutPolyline(OutRec &outrec);\n  bool IsHole(TEdge *e);\n  bool FindOwnerFromSplitRecs(OutRec &outRec, OutRec *&currOrfl);\n  void FixHoleLinkage(OutRec &outrec);\n  void AddJoin(OutPt *op1, OutPt *op2, const IntPoint offPt);\n  void ClearJoins();\n  void ClearGhostJoins();\n  void AddGhostJoin(OutPt *op, const IntPoint offPt);\n  bool JoinPoints(Join *j, OutRec* outRec1, OutRec* outRec2);\n  void JoinCommonEdges();\n  void DoSimplePolygons();\n  void FixupFirstLefts1(OutRec* OldOutRec, OutRec* NewOutRec);\n  void FixupFirstLefts2(OutRec* InnerOutRec, OutRec* OuterOutRec);\n  void FixupFirstLefts3(OutRec* OldOutRec, OutRec* NewOutRec);\n#ifdef use_xyz\n  void SetZ(IntPoint& pt, TEdge& e1, TEdge& e2);\n#endif\n};\n//------------------------------------------------------------------------------\n\nclass ClipperOffset \n{\npublic:\n  ClipperOffset(double miterLimit = 2.0, double roundPrecision = 0.25);\n  ~ClipperOffset();\n  void AddPath(const Path& path, JoinType joinType, EndType endType);\n  void AddPaths(const Paths& paths, JoinType joinType, EndType endType);\n  void Execute(Paths& solution, double delta);\n  void Execute(PolyTree& solution, double delta);\n  void Clear();\n  double MiterLimit;\n  double ArcTolerance;\nprivate:\n  Paths m_destPolys;\n  Path m_srcPoly;\n  Path m_destPoly;\n  std::vector<DoublePoint> m_normals;\n  double m_delta, m_sinA, m_sin, m_cos;\n  double m_miterLim, m_StepsPerRad;\n  IntPoint m_lowest;\n  PolyNode m_polyNodes;\n\n  void FixOrientations();\n  void DoOffset(double delta);\n  void OffsetPoint(int j, int& k, JoinType jointype);\n  void DoSquare(int j, int k);\n  void DoMiter(int j, int k, double r);\n  void DoRound(int j, int k);\n};\n//------------------------------------------------------------------------------\n\nclass clipperException : public std::exception\n{\n  public:\n    clipperException(const char* description): m_descr(description) {}\n    virtual ~clipperException() throw() {}\n    virtual const char* what() const throw() {return m_descr.c_str();}\n  private:\n    std::string m_descr;\n};\n//------------------------------------------------------------------------------\n\n} //ClipperLib namespace\n\n// JS additions\n\n\n#endif //clipper_hpp\n\n\n"
  },
  {
    "path": "tsconfig.json",
    "content": "{\n  \"include\": [\"src/**/*\"],\n  \"compilerOptions\": {\n    /* Basic Options */\n    /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', or 'ESNEXT'. */\n    \"target\": \"es5\",\n    /* Specify module code generation: 'none', commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */\n    \"module\": \"commonjs\",\n    /* Specify library files to be included in the compilation:  */\n    \"lib\": [\"es2016\", \"dom\", \"dom.iterable\", \"es2017.object\"],\n    // \"allowJs\": true,                       /* Allow javascript files to be compiled. */\n    // \"checkJs\": true,                       /* Report errors in .js files. */\n    /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */\n    \"jsx\": \"react\",\n    \"declaration\": true /* Generates corresponding '.d.ts' file. */,\n    \"sourceMap\": false /* Generates corresponding '.map' file. */,\n    // \"outFile\": \"./\",                       /* Concatenate and emit output to single file. */\n    \"outDir\": \"./dist\" /* Redirect output structure to the directory. */,\n    // \"rootDir\": \"./\",                       /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */\n    // \"removeComments\": true,                /* Do not emit comments to output. */\n    // \"noEmit\": true,                        /* Do not emit outputs. */\n    // \"importHelpers\": true,                 /* Import emit helpers from 'tslib'. */\n    /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */\n    \"downlevelIteration\": true,\n    // \"isolatedModules\": true,               /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */\n\n    /* Strict Type-Checking Options */\n    /* Enable all strict type-checking options. */\n    \"strict\": true,\n    // \"strictFunctionTypes\": true,\n    // \"noImplicitAny\": true,                 /* Raise error on expressions and declarations with an implied 'any' type. */\n    // \"strictNullChecks\": true,              /* Enable strict null checks. */\n    // \"noImplicitThis\": true,                /* Raise error on 'this' expressions with an implied 'any' type. */\n    // \"alwaysStrict\": true,                  /* Parse in strict mode and emit \"use strict\" for each source file. */\n\n    /* Additional Checks */\n    // \"noUnusedLocals\": true,                /* Report errors on unused locals. */\n    // \"noUnusedParameters\": true,            /* Report errors on unused parameters. */\n    /* Report error when not all code paths in function return a value. */\n    \"noImplicitReturns\": true,\n    /* Report errors for fallthrough cases in switch statement. */\n    \"noFallthroughCasesInSwitch\": true,\n\n    /* Module Resolution Options */\n    /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */\n    \"moduleResolution\": \"node\",\n    /* Base directory to resolve non-absolute module names. */\n    // \"baseUrl\": \"\",\n    // \"paths\": {},                           /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */\n    // \"rootDirs\": [],                        /* List of root folders whose combined content represents the structure of the project at runtime. */\n    // \"typeRoots\": [],                       /* List of folders to include type definitions from. */\n    // \"types\": [],                           /* Type declaration files to be included in compilation. */\n    // \"allowSyntheticDefaultImports\": true,  /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */\n    // \"preserveSymlinks\": true,              /* Do not resolve the real path of symlinks. */\n\n    /* Source Map Options */\n    // \"sourceRoot\": \"./\",                    /* Specify the location where debugger should locate TypeScript files instead of source locations. */\n    // \"mapRoot\": \"./\",                       /* Specify the location where debugger should locate map files instead of generated locations. */\n    /* Emit a single file with source maps instead of having a separate file. */\n    \"inlineSourceMap\": true,\n    /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */\n    \"inlineSources\": true,\n\n    /* Experimental Options */\n    /* Enables experimental support for ES7 decorators. */\n    \"experimentalDecorators\": true,\n    /* Enables experimental support for emitting type metadata for decorators. */\n    \"emitDecoratorMetadata\": true,\n\n    /* Extras */\n    \"suppressImplicitAnyIndexErrors\": false,\n    \"forceConsistentCasingInFileNames\": true,\n    \"noEmitOnError\": false\n  }\n}\n"
  }
]